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

アンダースコア (_) に続く xN の値は、ACM によって生成される長い文字列です。例:

_3639ac514e785e898d2646601fa951d5.example.com.

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

_98d2646601fa951d53639ac514e785e8.acm-validation.aws.

同じ DNS レコードで。

注記

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

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

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

_424c7224e9b0146f9a8808af955727d0.acm-validations.aws.

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

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

_a79865eb4cd1a6ab990a45779b4e0b96

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

_a79865eb4cd1a6ab990a45779b4e0b96.example.com.example.com.

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

DNS 検証のセットアップ

このセクションでは、DNS 検証を使用するためにパブリック証明書を設定する方法について説明します。

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

注記

この手順では、証明書が少なくとも 1 つ作成されており、[AWS作成したリージョン] で作業していることを仮定しています。コンソールを開き、代わりに最初に使用する画面が表示する場合、またはコンソールを正常に開き、一覧に証明書が表示されない場合は、正しいリージョンが指定されていることを確認してください。

  1. ACM コンソール (https://console.aws.amazon.com/acm/) を開きます。

  2. 証明書のリストで、証明書の設定を行う [Pending validation] (検証保留中) ステータスが付いた証明書の [Certificate ID] (証明書 ID) を選択します。このように、証明書の詳細ページを開きます。

  3. [Domains] (ドメイン) セクションで、次の 2 つの手順の 1 つを完了します。

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

      次の条件が true である場合に、アクティブな [Create record in Route 53] (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] (Route 53 でレコードを作成) ボタンを選択し、[Create records] (レコードを作成) を選択します。[Certificate status] (証明書のステータス) ページで、[Successfully created DNS records] (DNS レコードが正常に作成された) ことを伝えるステータスバナーと共にページが開くでしょう。

      新しい証明書は [Pending validation] (検証保留中) のステータスを最大 30 分間表示し続けます。

      ヒント

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

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

      • [Domains] (ドメイン) セクションに表示されている CNAME コンポーネントをコピーします。この情報は、DNS データベースに手動で追加する必要があります。

      • 別の方法としては、[Export to CSV] (CSV へエクスポート) を選択します。結果ファイル内の情報は、DNS データベースに手動で追加する必要があります。

      重要

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

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