こんにちは!クラウドインテグレーション事業部の佐藤優太です。
ドメインを Amazon Route 53 で管理せず、お客様管理のDNSに登録するケースでは、ACMのDNS検証用CNAMEレコードの登録をお客様にお願いすることになります。
作業自体はCNAMEレコードを1本追加するだけではありますが、お客様の状況によってはすぐに作業に取り掛かることができないケースもあります。
ここで問題になるのが、ACMのDNS検証には72時間という期限があることです。
この期限を過ぎると証明書のステータスはタイムアウトになり、証明書は使えなくなります。
CNAME の値を生成してから 72 時間以内に ACM でドメイン名が検証されない場合、ACM では証明書のステータスが [Validation timed out] に変更されます。
参考:AWS Certificate Manager DNS 検証
もしACMの証明書を同じドメインで再発行してもCNAMEレコード値が変わらないのであれば、タイムアウトを許容した上で、お客様の作業完了を待ってから証明書を作り直す、という進め方ができます。
今回は、ACMの証明書を再発行したらCNAMEレコード値は変わらないのか、実際に検証してみます。
Kiroで公式ドキュメントを調査してもらった
検証に先立ち、AWS Documentation MCPサーバーを入れたKiroで本件を調査すると、以下のような結果が得られました。
ACMのDNS検証について教えてください。 証明書を再作成した場合、DNS検証用のCNAMEレコードの名前と値は変わりますか?
上記プロンプトを投げた回答が以下です。
変わりません。同じAWSアカウント・同じFQDNであれば、証明書を削除して作り直しても、DNS検証用CNAMEのレコード名・レコード値は同一です。 AWS公式の DNS validation (https://docs.aws.amazon.com/acm/latest/userguide/dns-validation.html) に明記されています: │ Without the need to repeat validation, you can request additional ACM certificates for your fully qualified domain name (FQDN) for as long as the CNAME record remains in place. That is, you can create replacement certificates that have the same domain name, or certificates that cover different subdomains. Since the CNAME validation token works for any AWS Region, you can re-create the same certificate in multiple Regions. You can also replace a deleted certificate. つまり、一度CNAMEを登録しておけば、再発行・別リージョンでの作成・削除した証明書の再作成すべてが同じレコードで検証されます。DNS検証が72時間でタイ ムアウトしても、CNAMEが登録済みなら証明書を作り直すだけで通る、というのが実運用上の効きどころです。 一方で「同じにならない」条件がいくつかあります。 - 別のAWSアカウント: CNAMEはアカウントごとに一意なので値が変わります(Resource migration (https://docs.aws.amazon.com/prescriptive-guidance/latest/transitioning-to-multiple-aws-accounts/resource-migration.html) に "The CNAME record is unique for each account")。 - ドメイン(SAN)単位で別レコード: www.example.com や host.example.com はそれぞれ固有のレコード名・値になります。証明書に含めるドメインを増やせば、その分の新しいCNAMEが必要です。 - ワイルドカードは例外的に共通: *.example.com と example.com は同一のレコード名・値になります(同ドキュメントの例示テーブル)。
上記回答にもある通り、公式ドキュメントには「CNAMEレコードが残っている限り、検証をやり直すことなく同じFQDNの証明書をリクエストできる」「削除した証明書を置き換えることもできる」と記載されています。
今回のように、タイムアウトした証明書を作り直すケースがそのまま当てはまります。
ドキュメント上は期待通りの答えが得られました。
次は実際にコンソールで検証をしてみます。
検証方法
72時間タイムアウトを意図的に起こします。
実際の案件で起きることをそのまま再現したいので、CNAMEレコードを登録しないまま放置してタイムアウトさせ、そこからのリカバリーまでを確認します。
① 証明書をリクエストする(CNAMEレコードを控える)
↓ CNAMEレコードは登録しないまま放置
72時間経過
↓
② ステータスが「検証タイムアウト」になることを確認
↓
③ CNAMEレコードをDNSに登録する ← お客様の作業が完了した想定
↓
④ 証明書を作り直す
↓
⑤ CNAMEレコードは同じ値か? 再登録なしで「発行済み」になるか?
確認したいのは次の3点です。
- CNAMEレコードを登録しないまま72時間経過すると、本当にタイムアウトするのか
- タイムアウトした証明書と、作り直した証明書のCNAMEレコードは同じ値になるのか
- CNAMEレコードを再登録せずに「発行済み」になるのか
検証環境は以下の通りです。
| 項目 | 内容 |
|---|---|
| リージョン | 東京(ap-northeast-1) |
| 証明書タイプ | パブリック証明書(エクスポート不可) |
| 検証方法 | DNS検証 |
| キーアルゴリズム | RSA 2048 |
| ドメイン | 検証用のサブドメイン( Amazon Route 53 で管理) |
| 実施期間 | 2026年8月28日 〜 9月1日 |
検証結果
1.証明書をリクエストする
まずは検証用のドメインで証明書をリクエストします。
ステータスは「保留中の検証」となり、CNAME名とCNAME値が表示されます。
実際の案件であれば、この値をお客様にお伝えして登録を依頼することになります。

この状態で、Amazon Route 53 でのDNS検証はせずに放置します。
2.タイムアウトを確認
72時間以上が経過後、証明書を確認するとステータスが「検証がタイムアウトしました」になっていることが確認できます。

タイムアウトした証明書でもCNAME名とCNAME値は引き続き表示されています。
この後の比較に使うので、ここで控えておきます。
3.CNAMEレコードを登録する
お客様の作業が完了した想定で、リクエストした証明書に記載のCNAMEレコードをDNSに登録します。
今回は Amazon Route 53 に登録します。

宛先の _xxxx.acm-validations.aws. はAWSリソースではないため、エイリアスはオフのまま通常のCNAMEレコードとして登録します。
登録できたら、dig で引けることを確認しておくと確実です。
yu-sato@*** ~ % dig CNAME _014c0b9fd9936416bb054251b1779540.*** +short _6a475eef3f4f46e3d0cb41161f0a9cb5.jkddzztszm.acm-validations.aws. yu-sato@*** ~ %
4.証明書を再作成、CNAMEレコードを触らずに「発行済み」になるか
タイムアウトした証明書と同じ条件でもう一度リクエストをします。
DNSには一切触らずに待ちます。

CNAME名・CNAME値は、タイムアウトした証明書とまったく同じ値でした。
新しいCNAMEレコードをお客様に伝え直す必要はありません。
そして、DNSには一切触っていないにもかかわらず、ステータスは「発行済み」になりました。

同じドメインで、タイムアウトした証明書と発行済みの証明書が並ぶ形になりました。
また、確認したかった3点は、いずれも期待通りの結果です。
| 確認したいこと | 結果 |
|---|---|
| CNAMEレコードを登録しないまま72時間経過すると、本当にタイムアウトするのか | タイムアウトした |
| タイムアウトした証明書と、作り直した証明書のCNAMEレコードは同じ値になるのか | 同じだった |
| CNAMEレコードを再登録せずに「発行済み」になるのか | 発行済になった |
まとめ
ACMの証明書を同じドメインで再発行しても、DNS検証用のCNAMEレコードは同じ値でした。
お客様にDNSへの登録を依頼する場合でも、あらかじめ証明書をリクエストしてCNAMEレコードを取得し、登録いただく方法が実現可能です。
ただし、注意点が2つあります。
1つ目は、AWSアカウントが変わるとCNAMEレコードも変わることです。
検証環境と本番環境でAWSアカウントを分けている場合、同じドメインであってもそれぞれで登録依頼が必要になります。
CNAME レコードはアカウントごとに異なるため、証明書を適切に検証するには 72 時間以内に Amazon Route 53 ホストゾーンまたは DNS プロバイダーに追加する必要があります。
参考:リソースレプリケーションまたは 間の移行 AWS アカウント
2つ目は、CNAMEレコードはドメインごとに必要ということです。
今回の検証は1ドメインでしたが、1枚の証明書に複数のドメインを含める場合、CNAMEレコードもその数だけ必要になります。
お客様に登録をお願いするレコードの本数は、証明書に含めるドメインの数で決まります。
ただし、ワイルドカードは例外です。
*.example.com と example.com のCNAMEレコードは同一になるため、両方を1枚の証明書に含めても、登録を依頼するレコードは1本で済みます。
最後までお読みいただきありがとうございました!