ACM
AWS Certificate Manager の略で、SSL/TLS 証明書を無料で発行・管理・自動更新するサービス
AWSセキュリティ
ACM とは
AWS Certificate Manager (ACM) は、SSL/TLS 証明書を無料で発行・管理・自動更新するサービスである。CloudFront、ALB、API Gateway に関連付けて HTTPS を実現する。詳細は「TLS 証明書」を参照。
ACM の特徴
ACM で発行する証明書は無料で、有効期限前に自動更新される。ドメイン所有権の証明には DNS 検証 (CNAME レコード) を使い、*.example.com のようなワイルドカード証明書にも対応する。秘密鍵は AWS が管理するため、自分で鍵管理を行う必要がない。
CloudFront との連携
CloudFront の証明書は us-east-1 リージョンで発行する必要がある。
DNS 検証 vs メール検証
| 方式 | 自動更新 | 推奨 |
|---|---|---|
| DNS 検証 | ✅ (CNAME が残っていれば) | ✅ |
| メール検証 | ❌ (手動承認が必要) | ❌ |
証明書の検証プロセス
1. ACM が CNAME レコードの値を生成
2. Route 53 に CNAME レコードを追加
3. ACM が CNAME を確認 → 証明書を発行
4. 更新時も同じ CNAME で自動検証
よくある問題
| 問題 | 対策 |
|---|---|
| 証明書が Pending Validation のまま | DNS レコードを確認 |
| CloudFront に us-east-1 以外の証明書 | us-east-1 で発行し直す |
| 自動更新が失敗 | CNAME レコードが削除されていないか確認 |
| ワイルドカードが効かない | *.example.com は 1 レベルのみ |
ACM vs Let's Encrypt
| 観点 | ACM | Let's Encrypt |
|---|---|---|
| 料金 | 無料 | 無料 |
| 有効期限 | 13 ヶ月 | 90 日 |
| 更新 | 自動 | certbot で自動 |
| 利用先 | AWS サービスのみ | どこでも |
| 秘密鍵 | エクスポート不可 | エクスポート可能 |
さらに掘り下げるなら関連書籍が参考になる。