「AWS Certificate Manager(ACM)を使えば、自動更新だからもう安心」
そう考えていた矢先に、証明書の更新が止まり、サービス停止のリスクに直面する。このような事態を防ぐためには、ACMの「自動更新」が成立する前提条件と、その限界を正しく理解する必要があります。
今回は、パブリック証明書を安全に運用し続けるためのポイントを整理しました。
1. ACMのセキュリティ設計:秘密鍵の秘匿性
ACMの最大の特徴は、発行したパブリック証明書の秘密鍵(Private Key)をAWSが完全に管理するという設計思想にあります。
- 秘密鍵の分離: 秘密鍵はAWSの強固なハードウェアセキュリティモジュール(HSM)内に保護されます。
- エクスポート不可の原則: 標準的なパブリック証明書において、秘密鍵は設計上エクスポート不可能です。ユーザー自身も秘密鍵に直接触れることができないため、Webサーバーからの鍵漏洩リスクを最小化できます。
このように鍵の管理からリソースへのデプロイまでをAWSに完全に委ねる「マネージド」な性質を持つからこそ、自動更新の条件から外れた際のリカバリ(手動デプロイ)には細心の注意を払う必要があります。

【図解:ACM更新・デプロイプロセスの全体像】
- RENEWAL(証明書の更新): 有効期限の45日前からDNS検証が自動実行され、ACM上の証明書が更新されます。
- AUTO DEPLOY(自動デプロイ): マネージドサービス(ALB/CloudFront)は、AWS側で新しい証明書へ自動置換されます。
- MANUAL RELOCATION(手動デプロイ): 独自サーバー(EC2等)で利用中の場合は、APIや手動での再配置が必要です。
2. 「自動更新」が停止する3つの落とし穴
※本記事は推奨されるDNS検証を前提としています。 Eメール検証を利用している場合は、更新のたびに管理者への承認メールが届き、手動でのクリック作業が必要となるため注意が必要です。
DNS検証を用いた自動更新は非常に便利ですが、有効期限の45日前から開始される更新プロセスは、以下の条件が崩れると正常に完了しません。
- 検証用DNSレコード(CNAME)の削除:IaC(Infrastructure as Code)ツール等で管理されていない手動操作により、レコードが削除されるとドメイン所有権の確認ができなくなります。
- ドメインの名前解決不可:ドメイン移管やネームサーバーの変更により、AWS側から検証用レコードを引けなくなった場合です。
- 証明書の「未使用」による更新停止:ACMは「使用中」でない証明書を自動更新しません。「本番環境から外した(未使用にした)証明書を放置すると更新が止まり、再度使おうとした時には有効期限切れとなっている」**という運用上のリスクがあります。再利用の可能性がある証明書は、常に適切なリソースに紐付けておくか、利用する直前に改めて証明書を新規リクエストしてデプロイする運用フローを整備しておく必要があります。
3. 実務で押さえるべき設計上の制約
Amazon CloudFront用のリージョン制約
CloudFrontで使用する証明書は、us-east-1(バージニア北部)リージョンでリクエストする必要があります。他のリージョンでリクエストしたものはCloudFrontに関連付けられません。検証でも、他リージョンの証明書は選択リストに表示されないことを確認しました。


サブジェクト代替名(SAN)の制限
1枚の証明書に含められるドメイン名はデフォルトで10個(※執筆時点)です。これを超える場合はクォータ引き上げを申請するか、証明書の分割設計を検討します。
4. 「2段構え」の監視設計による可用性の担保
自動更新の失敗を、人が気づくための監視設計が不可欠です。単一の監視に頼らず、以下の図のような「多層防御」を構築することを推奨します。

- 【状態検知】Amazon EventBridge
「Managed Certificate Update Failed」イベントをトリガーにSNS経由で通知。更新が「失敗したその瞬間」を捉えます。
- 【予兆監視】Amazon CloudWatch Metrics(DaysToExpiry)
証明書の有効期限までの残り日数を数値で監視します。「残り30日を切った(自動更新開始から15日経っても更新されていない)」場合にアラートを鳴らすことで、有効期限切れ前に人間が調査・介入する時間を確実に確保できます。
5. 運用形態による更新・デプロイの違い
ACMは証明書を更新(Renewal)しますが、それを実際の通信に反映(Deployment)する挙動は構成により異なります。
| 項目 | ACM統合サービス(ALB/CloudFront等) | エクスポートして利用(EC2上のWebサーバー等) |
| 証明書の更新 | ACM側で自動更新 | ACM側で自動更新 |
| リソースへの反映 | 自動で置換される | 手動またはAPIによる再配置が必要 |
補足:再配置の自動化
エクスポートして利用する場合、ExportCertificate APIをAWS Lambda等から呼び出し、自動でサーバーへファイルを配布するスクリプトを構築することで、手動運用による有効期限切れリスクを排除できます。
まとめ:信頼性を維持する継続的監視
ACMは証明書運用の負担を大幅に軽減しますが、その恩恵を享受し続けるには「DNSレコードの維持」と「更新プロセスの監視」という責任が伴います。
今回の調査を経て、単なる設定作業に留まらず、EventBridgeとCloudWatchメトリクスを組み合わせた「多重の防衛線」をテンプレート化し、環境構築の標準セットとして組み込む重要性を再認識しました。