AWS おもしろいやつ

AWS ACMを再作成した時のCNAME名・CNAME値は変わらない

2024年9月18日

aws-certificate-manager

AWS ACMは72時間の制限を気にせず設定できます。ACMを削除→再リクエストすると同じCNAME情報を持つACMを作成できます。という情報があまり知られていない(自分の周りだけ?)と思ったので記事にしました。

AWS Certificate Manager(ACM)を使用して SSL/TLS 証明書を発行する際、多くの方がネームサーバー管理者にDNSレコード情報の登録を依頼する際の時間制約について悩むことがあると思います。AWSの公式ドキュメントによると、「ACMは証明書の検証を72時間繰り返し試行してからタイムアウトします」と記載されています。しかし、この72時間という制限はあまり考える必要はないと思います。この記事では、誤解されていると思われる点について解説します。

ACMドキュメント:https://docs.aws.amazon.com/ja_jp/acm/latest/userguide/gs-acm-request-public.html

「サリー」です。AWSパートナー企業でエンジニアとして働いています。
お問い合わせ自己紹介

ACM証明書リクエストのタイムアウトについて

多くの方は、AWSの公式ドキュメントに記載のとおり72時間以内にDNSレコードを登録しなければならないと考えていると思います。しかし、実際にはそうではありません。「検証がタイムアウトしました」というステータスになった場合でも簡単に解決できます。。

重要:CNAME情報の一貫性

ACMの証明書リクエストをタイムアウト後に削除し、再作成(再リクエスト)すると、全く同じのCNAME名とCNAME値を持つ新しい証明書をリクエストできます。このことにより、ネームサーバー管理者へのレコード登録依頼を急ぐ必要がなくなります。

検証:ACM証明書を再作成してみる

上述したCNAME情報の一貫性を検証するためにACM証明書を削除→再作成してみます。

ステップ1:初回のACM証明書リクエスト

まず、ACMで新しい証明書をリクエストします。以下は初回リクエスト時の情報です。

項目初回リクエスト
識別子1ef06210-13ea-4ba5-a679-2957bffff5a8
ドメインtest.example.net
CNAME名_1cb42b64e56690ebe521064f3124219d.test.example.net.
CNAME値_6eba56bdcfaa5a022ed28171ae75e96a.djqtsrsxkq.acm-validations.aws.
ステータス保留中の検証

ステップ2:タイムアウト後の証明書削除

検証がタイムアウトした状況を想定し、以下のAWS CLIコマンドを使用して証明書を削除します。

aws acm delete-certificate --certificate-arn <acmのarn>

ステップ3:同一ドメインでの証明書再リクエスト

削除後、同じドメイン(test.example.net)で新たに証明書をリクエストします。

ステップ4:CNAME情報の一致確認

再リクエストした証明書の情報を初回リクエスト時と比較してみると、識別子のみ異なっており、CNAME情報が初回リクエスト・再リクエストで一致していることがわかると思います。

項目初回リクエスト再リクエスト
識別子1ef06210-13ea-4ba5-a679-2957bffff5a8eed88a52-24af-46ce-b8be-01775bd00fd0
ドメインtest.example.nettest.example.net
CNAME名_1cb42b64e56690ebe521064f3124219d.test.example.net._1cb42b64e56690ebe521064f3124219d.test.example.net.
CNAME値_6eba56bdcfaa5a022ed28171ae75e96a.djqtsrsxkq.acm-validations.aws._6eba56bdcfaa5a022ed28171ae75e96a.djqtsrsxkq.acm-validations.aws.
ステータス保留中の検証保留中の検証

まとめ:検証結果から考えるACM証明書の検証手順

この検証結果から、ACM証明書の検証手順は以下の流れで進めて良いこととなります。

  1. 初回リクエスト時にネームサーバー管理者にCNAME情報を提供
  2. DNSレコード登録の完了連絡を待つ
  3. 完了連絡を受けたら、ACM証明書を「削除→再リクエスト」
  4. 新しい証明書リクエストが自動的に検証され、発行される

この方法で、検証がタイムアウトする心配なく、余裕をもってACM証明書の発行が可能になります。

-AWS, おもしろいやつ
-