AWS Certificate Manager 基本
SSL/TLS 証明書のプロビジョニング・管理・更新を自動化するサービス
何ができるか
AWS Certificate Manager (ACM) は、SSL/TLS 証明書の発行・管理・自動更新を行うサービスです。ACM で発行したパブリック証明書は CloudFront、ELB、API Gateway などの AWS サービスに無料でデプロイできます。証明書の有効期限が近づくと自動的に更新されるため、証明書の期限切れによるサービス停止を防止できます。
どのような場面で使うか
Web サイトやアプリケーションの HTTPS 化、API Gateway のカスタムドメイン設定、CloudFront ディストリビューションへの SSL 証明書の適用などに利用されています。複数のドメインやサブドメインをまとめて管理する場合にも、ワイルドカード証明書の発行で効率的に対応できます。
身近な例え
不動産の登記手続きを代行してくれる司法書士に例えるとわかりやすいでしょう。Web サイトの身元を証明する証明書 (登記簿) の取得手続きを代行し、期限が来たら自動的に更新してくれます。自分で役所に行く手間がなくなり、うっかり期限切れになる心配もありません。
AWS Certificate Manager とは
AWS Certificate Manager (ACM) は、SSL/TLS 証明書のライフサイクルを一元管理するサービスです。SSL/TLS 証明書は Web サイトと利用者の間の通信を暗号化するために必要で、HTTPS 接続の基盤となります。従来は認証局から証明書を購入し、サーバーにインストールし、期限前に手動で更新する必要がありました。ACM はこれらの作業を自動化し、証明書管理の運用負荷を大幅に軽減します。
証明書の発行と検証
ACM でパブリック証明書を発行するには、ドメインの所有権を証明する検証が必要です。DNS 検証と E メール検証の 2 つの方法があり、DNS 検証が推奨されています。DNS 検証では ACM が指定する CNAME レコードをドメインの DNS に追加するだけで、以降の更新時にも自動的に検証が行われます。Route 53 を使用している場合は、コンソールからワンクリックで CNAME レコードを追加できます。ワイルドカード証明書 (*.example.com) も発行可能です。
自動更新と統合サービス
ACM で発行した証明書は有効期限の 60 日前から自動更新が試行されます。DNS 検証を使用していれば、人手を介さず更新が完了します。発行した証明書は CloudFront、Application Load Balancer、API Gateway、Elastic Beanstalk などに直接アタッチできます。なお、EC2 インスタンスに直接インストールすることはできないため、EC2 で SSL を終端する場合は前段に ALB を配置するか、別途証明書を用意する必要があります。
注意点
- ACM で発行するパブリック証明書は無料だが、ACM にインポートした外部証明書や ACM Private CA で発行するプライベート証明書は有料
- ACM 証明書は EC2 インスタンスに直接インストールできない。EC2 で使用する場合は ALB や CloudFront を前段に配置する
- CloudFront で使用する証明書は us-east-1 リージョンで発行する必要がある。他のリージョンで発行した証明書は CloudFront にアタッチできない
この分野について体系的に学びたい方は、関連書籍 (Amazon) も参考になります。