まえがき

cloudpackサポートの中村です。

AWS Certificate Manager (ACM) で発行されたACMパブリック証明書(以降パブリック証明書と記載)は自動更新ができることをご存知でしょうか。
本記事ではパブリック証明書の自動更新条件について解説いたします。

パブリック証明書の検証方法と自動更新可否

パブリック証明書には「DNS検証」と「Eメール検証」という2つの検証方法があります。
それぞれの検証方法における自動更新可否は下記表のとおりです。

※以前はEメール検証のパブリック証明書についても自動更新が可能でしたが、
2021年8月の仕様変更により、現在はEメール検証のパブリック証明書は手動での検証及び更新が必要となります。

DNS検証によるパブリック証明書の自動更新条件

DNS検証の自動更新条件として、AWSドキュメントには以下の記載がございます。[1]

  • ①証明書は現在、AWS サービスによって使用されています。
  • ②必要な ACM 提供の DNS CNAME レコード (一意のサブジェクト代替名ごとに 1 つ) はすべて存在し、パブリック DNS 経由でアクセスできます。

[1]DNSによって検証されたドメインの更新
https://docs.aws.amazon.com/ja_jp/acm/latest/userguide/dns-renewal-validation.html

もう少し噛み砕いた表現をすると、上記の自動更新条件は下記のような状態であるということになります。

①パブリック証明書がAWSリソース(ELB, CloudFront 等)に関連づけられていること
②ドメイン検証用のCNAMEレコードが残されており、パブリックDNS経由で名前解決ができること
(基本的にはインターネット接続可能な環境にて、digコマンド等によるCNAME レコードの名前解決ができれば該当の条件を満たすと判断できます)

なお、パブリック証明書が自動更新されるためには上記の自動更新条件を2つとも満たす必要がございます。
1つしか満たされていない場合は自動更新されませんのでご注意ください。

また、条件①の「パブリック証明書がAWSサービスによって使用されていること」は
AWSコンソールの[ACM]サービス画面-[証明書]ページで簡単に確認が可能です。

[証明書]ページの「使用中ですか?」列で「はい」となっていれば、対象パブリック証明書はAWSサービスによって使用されています。

まとめ

ACMでパブリック証明書を発行する際は、「DNS検証」で発行しておくと条件を満たすことで有効期限が自動更新され、証明書の有効期限切れによる予期せぬダウンタイムを防ぐことができます。

そのため、AWSドキュメントにも記載のとおり、ドメインに対してDNS設定の変更ができる場合はDNS検証を選択することをお勧めいたします。[2]

【AWSドキュメント抜粋】

Q.自分のパブリック証明書には、DNS、E メールどちらの検証方法を使えばよいですか?
ドメインに対して DNS 設定の変更ができる場合は、DNS 検証をお勧めします。
ACM からの検証 E メールを受け取れないお客様と、WHOIS でドメイン所有者のメールアドレスを公開していないドメインレジストラーを使用しているお客様は、
DNS 検証を使用してください。DNS 設定を変更できない場合は、E メール検証を使用してください。

[2]AWS Certificate Manager のよくある質問
https://aws.amazon.com/jp/certificate-manager/faqs/?nc=sn&loc=6