DNS での検証 - AWS Certificate Manager

DNS での検証

ドメインネームシステム (DNS) は、ネットワークに接続されているリソースのディレクトリサービスです。DNS プロバイダーは、ドメインを定義するレコードを含むデータベースを維持します。DNS 検証を選択すると、このデータベースに追加する必要がある 1 つ以上の CNAME レコードが ACM から提供されます。これらのレコードには、ドメインを制御する証拠となる一意のキーと値のペアが含まれています。

例えば、追加の名前として example.com を使用して www.example.com ドメインの証明書をリクエストする場合、ACM によって 2 つの CNAME レコードが作成されます。各レコードは、ユーザーのドメインおよびアカウントに固有のものとして作成され、名前と値が含まれます。この値は、証明書を自動更新するために ACM が使用する AWS ドメインを指すエイリアスです。CNAME レコードを DNS データベースに追加できるのは 1 回のみです。証明書は使用中で CNAME レコードが残っている状態であれば、証明書は ACM によって自動的に更新されます。

重要

パブリック DNS レコードを管理するために Amazon Route 53 を使用しない場合は、レコードの追加方法について DNS プロバイダーに問い合わせてください。ドメインの DNS データベースを編集する権限がない場合は、代わりに E メール検証を使用する必要があります。

検証を繰り返さなくても、CNAME レコードが残っている限り、完全修飾ドメイン名 (FQDN) で追加の ACM 証明書をリクエストできます。つまり、同じドメイン名を持つ置換証明書、または異なるサブドメインを対象とする証明書を作成できます。CNAME 検証トークンは AWS リージョンで動作するため、複数のリージョンで同じ証明書を再作成できます。また、削除された証明書を置き換えることもできます。

自動更新を停止するには、関連付けられている AWS サービスから証明書を削除するか、CNAME レコードを削除します。DNS プロバイダーが Route 53 ではない場合は、レコードを削除する方法をプロバイダーに問い合わせてください。Route 53 がプロバイダーである場合は、Route 53 開発者ガイドの「リソースレコードセットの削除」を参照してください。証明書のマネージド型更新の詳細については、「ACM 証明書のマネージド更新」を参照してください。

注記

DNS 構成で 5 つを超える CNAME が連結されている場合、CNAME 解決は失敗します。より長いチェーンが必要な場合は、E メール検証を使用することをお勧めします。

ACM の CNAME レコードの 仕組み

注記

このセクションは、Route 53 を DNS プロバイダーとして使用していないユーザーを対象としています。

Route 53 を DNS プロバイダーとして使用していない場合は、ACM から提供された CNAME レコードを、プロバイダーのデータベースに (通常は Web サイトを介して) 手動で入力する必要があります。CNAME レコードは、リダイレクトメカニズムやベンダー固有のメタデータのコンテナーとしてなど、さまざまな目的で使用されます。ACM では、これらのレコードにより、初期ドメイン所有権の検証と継続的な自動証明書の更新が可能になります。

次の表に、6 つのドメイン名に対する CNAME レコードの例を示します。各レコードのレコード名-レコード値ペアは、ドメイン名の所有権を認証する役割を果たします。

表では、最初の 2 つのレコード名-レコード値のペアは同じです。これは、*.example.com など、ワイルドカードドメインの場合、ACM によって作成されたランダムな文字列は、そのベースドメイン example.com で作成されたものと同じになることを示します。それ以外の場合は、ペアのレコード名およびレコード値は、ドメイン名ごとに異なります。

CNAME レコードの例
ドメイン名 レコード名 レコード値 コメント
*.example.com _x1.example.com. _x2.acm-validations.aws. 同一
example.com _x1.example.com. _x2.acm-validations.aws.
www.example.com _x3.www.example.com. _x4.acm-validations.aws. Unique
host.example.com _x5.host.example.com. _x6.acm-validations.aws. Unique
subdomain.example.com _x7.subdomain.example.com. _x8.acm-validations.aws. Unique
host.subdomain.example.com _x9.host.subdomain.example.com. _x10.acm-validations.aws. Unique

アンダースコア (_) に続く x の値は、ACM によって生成されるランダムな長い文字列を意味します。例えば、

_3639ac514e785e898d2646601fa951d5.example.com

が生成される一般的なレコード名です。関連付けされたレコード値

_98d2646601fa951d53639ac514e785e8.acm-validation.aws.

で、同じレコードのものである場合があります。

注記

DNS プロバイダーがアンダースコアで始まる CNAME 値をサポートしていない場合は、「DNS 検証の問題のトラブルシューティング」を参照してください。

証明書をリクエストし、DNS 検証を指定すると、ACM は次の形式で CNAME 情報を提供します。

ドメイン名 レコード名 レコードタイプ レコード値
example.com _a79865eb4cd1a6ab990a45779b4e0b96.example.com. CNAME

_424c7224e9b0146f9a8808af955727d0.hkmpvcwbzw.acm-validations.aws.

ドメイン名は、証明書に関連付けられた FQDN です。レコード名は、キーと値のペアのキーとして機能するレコードを一意に識別します。レコード値は、キーと値のペアの値として機能します。

これらの 3 つの値はすべて、DNS レコードを追加するための DNS プロバイダーのウェブインターフェイスの適切なフィールドに入力する必要があります。プロバイダーは、レコード名 (または単に「名前」) フィールドの処理に一貫性がありません。場合によっては、上記のように文字列全体を提供することが期待されます。他のプロバイダーは、入力したどの文字列にも自動的にドメイン名を付加します。つまり、(この例では)

_a79865eb4cd1a6ab990a45779b4e0b96

名前フィールドのみに入力することを意味します。これについて間違っていると思われる場合は、ドメイン名を含むレコード名 (.example.com など) を入力すると、次のようになります。

_a79865eb4cd1a6ab990a45779b4e0b96.example.com.example.com

この場合、検証は失敗します。したがって、プロバイダーが期待する入力のタイプを事前に決定する必要があります。

DNS 検証のセットアップ

コンソールで DNS 検証を設定するには

  1. AWS マネジメントコンソールにサインインして ACM コンソール (https://console.aws.amazon.com/acm/home) を開きます。入門者向けページが表示される場合は、[Get Started Now] を選択します。それ以外の場合は、[Request a certificate] を選択します。

  2. [Request a certificate] ページで、ドメイン名を入力します。ドメイン名を入力する場合の詳細については、「パブリック証明書をリクエストする」を参照してください。

  3. ACM 証明書に複数のドメイン名を追加するには、入力した名前の下方に表示されるテキストボックスに別の名前を入力します。

  4. [Next] を選択します。

  5. [DNS 検証] および [Next] を選択します。

  6. [タグの追加] ページでは、オプションでメタデータを用いて証明書にタグを付けることができます。完了したら、[確認] を選択します。

  7. [確認] ページで、ドメイン名と検証方法が正しいことを確認し、確認とリクエストを選択します。

  8. [検証] ページで、次の 2 つの手順のいずれかを実行します。

    1. (オプション) Route 53 で検証します。

      [検証] ページで、ドメイン名の横にある下向き矢印をクリックします。次の条件に該当する場合に、アクティブな [Create record in Route 53] ボタンが表示されます。

      • Route 53 を DNS プロバイダーとして使用します。

      • Route 53 がホストするゾーンに対する書き込み許可があります。

      • FQDN がまだ検証されていません

      注記

      実際に Route 53 を使用しているが、[Create record in Route 53] ボタンが見つからないか無効になっている場合は、「ACM コンソールで [Create record in Route 53] ボタンが表示されない」を参照してください。

      [Create record in Route 53] ボタンを選択し、[作成] を選択します。[検証] ページの一番下に、[成功] のステータス通知が表示されるようになりました。

      [続行] を選択して [証明書] リストページを表示すると、新しい証明書が [検証保留中] のステータスを最大 30 分間表示します。

      ヒント

      ACM が自動的に Route 53 にレコードを作成するようプログラムによってリクエストすることはできません。ただし、AWS CLI または Route 53 への API コールを実行して、Route 53 DNS データベースにレコードを作成することができます。Route 53 レコードセットの詳細については、「リソースレコードセットの使用」を参照してください。

    2. (オプション) Route 53 を DNS プロバイダーとして使用していない場合は、CNAME 情報を[検証] ページから取得し、それを DNS データベースに追加する必要があります。これには以下の 2 つの方法があります。

      • [ドメイン] セクションで、ドメイン情報を展開し、CNAME コンポーネントを記録します。この情報は、DNS データベースに手動で追加する必要があります。

      • または、[検証] ページの一番下で、[Export DNS configuration to a file] を選択します。ファイル内の情報は、DNS データベースに手動で追加する必要があります。

      重要

      検証の問題を回避するには、DNS プロバイダーのデータベースに情報を追加する前に、ACM の CNAME レコードの 仕組み をレビューします。問題が発生した場合は、「DNS 検証の問題のトラブルシューティング」を参照してください。

      DNS プロバイダーの設定ページで CNAME を追加した後、ACM コンソールが開いている場合は ACM コンソールに戻り、[続行] を選択します。コンソールをすでに閉じている場合は、後でコンソールに戻って、証明書リクエストのステータスを確認できます。

      [証明書] ページに、すべての証明書を記載した表が表示されます。DNS プロバイダーからレコードの更新が伝達された後、 ACM がドメイン名を検証して証明書を発行するまで数時間かかることがあります。この間、ACM には [Pending validation] という検証ステータスが表示されます。ドメイン名の検証後、ACM では検証ステータスが [Success] に変更されます。AWS から証明書が発行された後、ACM では証明書のステータスが [Issued (発行済み)] に変更されます。

    注記

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