Amazon Route 53 の AWS Certificate Manager (ACM) 証明書を検証したいのですが。
簡単な説明
ACM 証明書のドメイン所有権を検証するには 2 つの方法があります。
- DNS 検証
- メール検証
DNS 検証を使用して ACM 証明書をリクエストすると、ACM は DNS 設定に追加する必要がある CNAME レコードを提供します。ACM は CNAME レコードを使用してドメインの所有権を検証します。ACM がドメインの所有権を検証すると、証明書のステータスは [検証待ち] から [発行済み] に更新されます。
解決策
**注:**AWS コマンドラインインターフェイス (AWS CLI) コマンドの実行中にエラーが発生した場合は、最新の AWS CLI バージョンを使用しているかどうかを確認してください。
Route 53 がドメインの DNS サービスプロバイダーである場合は、ACM コンソールのワンクリックオプションを使用して CNAME を作成できます。このオプションを選択すると、ACM はレコードをドメインの Route 53 ホストゾーンに自動的に追加します。
ただし、次のいずれかに当てはまる場合は、CNAME レコードを手動で追加する必要があります。
- 同じドメインに複数のホストゾーンがある。
- ホストゾーンが別のアカウントにある。
Apex ドメイン証明書リクエスト
ネームサーバー (NS) レコードを確認する
1. 適切なホストゾーンの DNS 構成を見つけるには、次のコマンドを実行します。
Linux と macOS の場合:
$ dig NS example.com
Windows の場合:
$ nslookup -type=ns example.com
**注:**example.com は自身のドメイン名に置き換えてください。
2. このコマンドは、ドメインの DNS 構成のネームサーバー (NS) レコードに含まれるネームサーバーを提供します。CNAME レコードを、出力内のネームサーバーと同じ NS レコードを含む Route 53 ホストゾーンに追加します。
出力例は次のとおりです。
$ dig example.com NS
; <<>> DiG 9.11.4-P2-RedHat-9.11.4-9.P2.amzn2.0.2 <<>> example.com
NS
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 56071
;; flags: qr rd ra; QUERY: 1, ANSWER: 4, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;example.com. IN NS
;; ANSWER SECTION:
example.com. 300 IN NS ns-199x.awsdns-xx.co.uk.
example.com. 300 IN NS ns-29x.awsdns-xx.com.
example.com. 300 IN NS ns-54x.awsdns-xx.net.
example.com. 300 IN NS ns-120x.awsdns-xx.org.
Route 53 に CNAME レコードを追加
NS 値を使用して適切なホストゾーンを特定したら、CNAME レコードをそれに追加します。
1. Route 53 コンソールを開きます。
2. ドメインのホストゾーンに移動します。このホストゾーンには、前のタスクで特定したネームサーバーと同じ NS レコードが必要です。
3. [レコードを作成] を選択します。
4. 「名前」には、ACM が生成した CNAME のレコード名 (ドメイン部分を除く) を入力します。詳細については、「ACM の CNAME レコードの仕組み」を参照してください。
5. 「値」には、ACM から提供された完全なレコード値 を入力します。
6. 「レコードタイプ」では、[CNAME - ト
ラフィックを別のドメイン名や一部の AWS リソースにルーティングします] を選択します。
7. [ルーティングポリシー] で、[シンプルルーティング] を選択します。
8. [レコードを作成] を選択します。
CNAME レコードの解決策を確認する
Route 53 が CNAME レコードを DNS 設定に追加したことを確認するには、次の例のようなコマンドを実行します。
Linux と macOS の場合:
dig +short _example-cname.example.com
Windows の場合:
nslookup -type=cname _example-cname.example.com
**注:**example-cname.example.com を自分の ACM CNAME レコードに置き換えてください。
CNAME レコードの追加と伝達に成功した場合、コマンドは出力に CNAME レコードの値を返します。
サブドメイン証明書リクエスト
サブドメインには別のホストゾーンがあります
Apex ドメイン証明書のリクエストについては、前述の手順に従い、サブドメインの NS レコードを特定します。これを行うには、コマンドにおいてドメインの名前をサブドメインに置き換えます。
NS 値の出力を受け取った場合は、出力の NS 値と一致するようにサブドメインのホストゾーンに CNAME レコードを追加します。
コマンドを実行しても NS レコードが届かない場合は、Apex ドメインとサブドメイン間のサブドメイン委任が適切に設定されていることを確認してください。そのためには、Apex ドメインのホストゾーンにサブドメインの NS レコードを含むリソースレコードを作成します。詳細については、「Route 53 でホストされているドメインのサブドメインを作成する方法」を参照してください。
**サブドメイン用に個別のホストゾーンはありません **
サブドメイン用に個別のホストゾーンがない場合は、Apex ドメインのホストゾーンに CNAME レコードを追加します。次に、前述の Apex ドメイン証明書リクエストの手順を使用して、CNAME レコードが想定どおりに解決されることを確認します。
**注:**DNS 構成に最近変更が加えられた場合、TTL 値に基づく伝播遅延が発生する可能性があります。