ACM が発行した証明書のために CNAME レコードが解決しておらず、DNS 検証ステータスが引き続き検証保留中になっているのはなぜですか?

所要時間2分
0

DNS 検証を使用して新しい AWS Certificate Manager (ACM) 証明書をリクエストしました。しかし、CNAME レコードは解決しておらず、ステータスは引き続き検証保留中となっています。

簡単な説明

DNS 検証を使用して ACM 証明書をリクエストすると、ACM は証明書のドメインスコープで指定された各ドメイン名の CNAME レコードを提供します。CNAME レコードを DNS 設定に追加する必要があります。ACM は CNAME レコードを使用してドメインの所有権を検証します。すべてのドメインが検証されると、証明書のステータスは [Pending validation] (保留中の検証) から [Success] (成功) に更新されます。

DNS 検証を使用した証明書リクエストは、次の場合に [Pending validation] (保留中の検証) のままになることがあります。

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

注: ACM は定期的に DNS レコードを確認します。このプロセスを手動で確認することはできません。

詳細については、「DNS での検証」を参照してください。

解決方法

CNAME レコードが正しい DNS 設定に追加されていません

CNAME レコードが DNS 設定に正しく追加されたかどうかを確認するには、次のようなコマンドを実行します。

注: example-cname.example.com を ACM CNAME レコードに置き換えます。

Linux および macOS の場合:

dig +short _example-cname.example.com

Windows:

nslookup -type=cname _example-cname.example.com

コマンドは、CNAME レコードが正しい DNS 設定に追加され、正常に伝達された場合、CNAME レコードの値を出力で返します。

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

証明書が [Pending validation] (検証待ち) 状態の場合は、ACM から提供された CNAME レコードが正しい DNS 設定に追加されていることを確認します。CNAME レコードを追加するための DNS 設定を確認するには、次のようなコマンドを実行します。

Linux および macOS の場合:

dig NS example.com

Windows:

nslookup -type=ns example.com

コマンドは、正しい DNS 設定の NS レコードに含まれるネームサーバーを提供します。CNAME レコードが追加された DNS 設定に、コマンドの出力で指定されたネームサーバーを持つ NS レコードが含まれていることを確認します。

Amazon Route 53 ホストゾーンに CNAME レコードを追加する方法については、「Route 53 コンソールを使用したレコードの作成」を参照してください。

注: 対応する CNAME レコードが Route 53 プライベートホストゾーンにある場合、ドメインの所有権を検証することはできません。CNAME レコードは、パブリックにホストされているゾーンに存在する必要があります。

CNAME レコードに余分な文字が含まれているか、必要な文字がない

DNS 設定に追加された CNAME レコードに追加の文字が含まれていないか、名前または値に文字の欠落がないことを確認します。

CNAME レコードは正しい DNS 設定に追加されていますが、DNS プロバイダーが自動的に DNS レコードの末尾にネイキッドドメインを追加しています。

DNS プロバイダーによっては、すべての DNS レコードの名前フィールドの末尾にネイキッドドメインを自動的に追加する場合があります。このシナリオでは、DNS 構成に追加された伝達された CNAME レコードは、次のようになります。

_example-cname.example.com.example.com

CNAME レコード名が ACM によって提供されたものと一致しないため、検証は成功しません。ACM 証明書は、証明書のリクエストから 72 時間後に最終的に失敗するまで [Pending validation] (保留中の検証) のままとなります。

DNS プロバイダーが CNAME レコードの末尾にネイキッドドメインを自動的に追加したかどうかを確認するには、以下のようなコマンドを実行します。

Linux および macOS の場合:

dig +short _example-cname.example.com.example.com

Windows:

nslookup -type=cname _example-cname.example.com.example.com

出力が CNAME レコードの値を返す場合、それは DNS プロバイダーがベアドメインを追加したことを意味します。ベアドメインが DNS レコードの名前フィールドの末尾に追加されています。

これを解決するには、CNAME レコードを編集し、名前フィールドに入力したテキストからネイキッドドメインを削除します。

DNS プロバイダーがネイキッドドメインを追加した後、ネイキッドドメインは 1 つだけ存在することになります。

同じドメイン名に CNAME レコードと TXT レコードが存在します。

CNAME レコードと TXT レコードが同じドメインに存在するかどうかを確認するには、次のようなコマンドを実行します。

Linux および macOS の場合:

dig +short CNAME <cname_record_name>
dig TXT <cname_record_name>

Windows:

nslookup -type=CNAME <cname_record_name>
nslookup -type=TXT <cname_record_name>

CNAME レコードタイプと TXT レコードタイプの dig コマンドの出力を比較します。両者が同一であれば、外部文書の RFC 1034 に記載されているように、不正な形式のレコードが証明書を検証保留状態に保っていることになります。これを解決するには、TXT レコードを削除します。

詳細については、「DNS 検証の問題のトラブルシューティング」を参照してください。


関連情報

マネージド証明書の更新のトラブルシューティング

ACM 管理更新プロセスを使用してドメイン名を検証した後も、証明書の更新が保留されているのはなぜですか?

DNS 検証のセットアップ