ACM で新規作成した証明書が保留中から変更されない場合の対処方法について教えてください

2022.10.31

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

困っていた内容

ACM で新規作成した証明書の DNS 保留中の検証のままになっています。このまま時間経過で解決しますか?
DNS 検証の状況について調査できる箇所があれば教えてください。

どう対応すればいいの?

証明書が 保留中の検証 (Pending validation) なっている原因は、CNAME レコードがドメインの DNS ホストサーバーに正式に登録されていないことが原因の可能性が高いです。
下記コマンドで対象の証明書の CNAME レコードのドメイン名が解決できるか確認してください。

# Linux および macOS の場合
$ dig +short _example-cname.example.com
# Windows の場合
> nslookup -type=cname _example-cname.example.com

CNAME レコードの値が返ってこない場合は、DNS ホストサーバーに CNAME レコードの登録が必要です。

AWSコンソール上で、対象の ACM 証明書の [CNAME 名] と [CNAME 値] をご確認ください。

この CNAME レコードを登録した後に、検証ステータスが変更されます。
登録後の検証には少し時間がかかる場合がありますので注意が必要です。

DNS での検証 - AWS Certificate Manager

注: DNS プロバイダーによっては、DNS レコードの伝達に 24~48 時間かかることがあります。

補足

補足として、証明書の DNS 検証をリクエストしてから 72 時間経過すると、検証がタイムアウトします。 検証タイムアウト後は、再度新規で証明書をリクエストする必要がありますのでご注意ください。

DNS での検証 - AWS Certificate Manager

CNAME の値を生成してから 72 時間以内に ACM でドメイン名が検証されない場合、ACM では証明書のステータスが [Validation timed out] に変更されます。この結果が生じる主な理由として、DNS 設定を ACM によって生成された値で正常に更新しなかったことが考えられます。この問題を修正するには、CNAME の手順を確認してから新しい証明書をリクエストする必要があります。


また、上記でも解決しない場合、以下の様な注意点もありますので該当するかをご確認ください。

検証を保留中の ACM 証明書の解決

  • CNAME レコードに余分な文字が含まれているか、必要な文字がない。
  • CNAME レコードは正しい DNS 設定に追加されていますが、DNS プロバイダーが自動的に DNS レコードの末尾にネイキッドドメインを追加しています。
  • 同じドメイン名に CNAME レコードと TXT レコードが存在します。

DNS 検証の問題のトラブルシューティング - AWS Certificate Manager

  • DNS プロバイダーがアンダースコアを禁止している
  • DNS プロバイダーによって追加されたデフォルトの末尾のピリオド
  • GoDaddy での DNS 検証に失敗する
  • ACM コンソールで [Create record in Route 53] ボタンが表示されない
  • プライベート (信頼されていない) ドメインで Route 53 検証が失敗する
  • VPN で DNS サーバーの検証が失敗する

参考資料