AWS Certificate Manager で自動化する SSL/TLS 証明書管理 - 発行からローテーションまで

ACM によるパブリック証明書の無料発行、DNS 検証、自動更新、ALB ・ CloudFront へのデプロイを解説します。

ACM の概要

ACM は SSL/TLS 証明書の発行、管理、デプロイを自動化するサービスです。パブリック証明書は無料で発行でき、ALB、NLB、CloudFrontAPI GatewayElastic Beanstalk に数クリックでデプロイできます。Let's Encrypt と異なり、証明書の更新が完全に自動化されており、cron ジョブや certbot の管理が不要です。EC2 インスタンスに直接証明書をインストールすることはできないため、EC2 で HTTPS を終端する場合は ALB を前段に配置するか、Let's Encrypt を使用します。

DNS 検証と自動更新

証明書の検証方式は DNS 検証とメール検証の 2 種類があります。DNS 検証では ACM が指定する CNAME レコードを Route 53 (または外部 DNS) に追加します。Route 53 を使用している場合はコンソールからワンクリックで追加できます。メール検証はドメインの管理者メールアドレスに確認メールを送信する方式ですが、更新のたびに手動承認が必要なため、DNS 検証が強く推奨されます。DNS 検証レコードは一度追加すれば削除しない限り有効で、証明書の自動更新に使われ続けます。自動更新は証明書の有効期限の 60 日前から開始され、DNS 検証レコードが存在し、証明書が AWS リソースに関連付けられている限り自動的に更新されます。証明書の有効期間は 13 か月で、更新後の証明書は ALB や CloudFront に自動的に反映されます。

プライベート証明書と証明書の透明性

ACM Private CA と統合すると、組織内部のサービス間通信用にプライベート証明書を発行できます。パブリック証明書は Certificate Transparency (CT) ログに記録されるため、内部サービスのホスト名を公開したくない場合はプライベート証明書を使用します。 ACM のインポート機能で外部 CA から発行された証明書を管理することも可能ですが、自動更新は ACM 発行の証明書のみに対応します。証明書の有効期限が近づくと CloudWatch メトリクスと EventBridge イベントで通知され、更新漏れを防止します。リージョンごとに証明書を発行する必要があるため、マルチリージョン構成では各リージョンで証明書を管理します。 ACM のベストプラクティスを網羅的に学ぶなら、技術書 (Amazon)を参照してください。

ACM の料金

ACM のパブリック証明書は無料で発行・更新できます。ALB、CloudFront、API Gateway へのデプロイにも追加料金は発生しません。ACM Private CA は月額約 400 ドル/CA で、発行した証明書数に応じた追加料金 (最初の 1,000 枚は 1 枚あたり 0.75 ドル) が発生します。短期証明書モード (有効期間 7 日以下) では CA の月額料金が約 50 ドルに割引されます。パブリック証明書で対応できるユースケースでは ACM の無料証明書を活用し、Private CA は mTLS や内部サービス認証など必要な場合に限定してコストを管理します。

まとめ

ACM はパブリック SSL/TLS 証明書の発行から更新までを無料で自動化するサービスです。DNS 検証を設定すれば手動介入なしで証明書が維持され、ALB や CloudFront へのデプロイもシームレスに行えます。Private CA との統合で内部サービスの mTLS 認証にも対応し、組織全体の証明書管理を一元化します。