Route 53 から ACM 証明書を検証するにはどうすればよいですか?
最終更新日: 2021 年 4 月 20 日
Amazon Route 53 から AWS Certificate Manager (ACM) 証明書を検証するにはどうすればよいですか?
簡単な説明
次の 2 つの方法のうち、いずれかの方法を使用して、ACM 証明書のドメイン所有権を検証できます。
1. DNS での検証
2. E メールでの検証
DNS 検証を使用して ACM 証明書をリクエストすると、ACM によって CNAME レコードが提供され、DNS 設定に追加する必要があります。ACM は CNAME レコードを使用してドメインの所有権を検証します。ドメインの所有権が検証されると、証明書のステータスは [Pending validation] (検証待ち) から [Issued] (公開済み) に更新されます。
解決方法
注: AWS コマンドラインインターフェイス (AWS CLI) コマンドの実行中にエラーが発生した場合は、AWS CLI の最新バージョンを使用していることを確認してください。
ACM 証明書でリクエストされたドメインの DNS サービスプロバイダーとして Route 53 を使用している場合は、ACM コンソールで使用可能なワンクリックオプションを使用して CNAME を作成できます。このオプションを選択すると、レコードはドメインの Route 53 ホストゾーンに自動的に追加されます。
ただし、次のいずれかに該当する場合は、CNAME レコードを手動で追加する必要があります。
- 同じドメインに複数のホストゾーンがある
- ホストゾーンが別のアカウントにある
Apex ドメイン証明書リクエスト
ネームサーバー (NS) レコードを決定する
1. 次のコマンドを実行して、適切なホストゾーンの DNS 設定を検索します。
Linux と macOS の場合:
$ dig NS example.com
$ nslookup -type=ns example.com
注: 「example.com」をドメイン名に置き換えてください。
2. 上記のコマンドは、ドメインの DNS 設定のネームサーバー (NS) レコードに含まれるネームサーバーを提供します。出力内のネームサーバーと同じ NS レコードを持つ Route 53 ホストゾーンに CNAME レコードを追加します。
出力例:
$ 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-1992.awsdns-57.co.uk.
example.com. 300 IN NS ns-290.awsdns-36.com.
example.com. 300 IN NS ns-547.awsdns-04.net.
example.com. 300 IN NS ns-1200.awsdns-22.org.
Route 53 で CNAME レコードを追加する
NS 値を使用して適切なホストゾーンを特定したら、CNAME レコードを追加します。
1. Route 53 コンソールを開きます。
2. ドメインのホストゾーンに移動します。このホストゾーンには、前のタスクで特定したネームサーバーと同じ NS レコードが必要です。
3. [Create record] (レコードを作成) を選択します。
4. [Name] (名前) で、ACM が生成した CNAME の [Record Name] (レコード名) (ドメイン部分を除く) を入力します。詳細については、ACM の CNAME レコードの仕組みをご参照ください。
5. [Value] (値) で、ACM が提供した完全な [Record Value] (レコード値) を入力します。
6. [Record type] (レコードタイプ) で、[CNAME - Routes traffic to another domain name and to some AWS resources] (CNAME -トラフィックを別のドメイン名および一部の AWS リソースにルーティングする) を選択します。
7. [Route Policy] (ルートポリシー) で、[Simple routing] (シンプルルーティング) を選択します。
8. [Create Records] (レコードを作成) を選択します。
CNAME レコードの解決を確認する
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 レコードが正しい DNS 設定に追加され、正常に伝達された場合、コマンドは CNAME レコードの値を出力に返します。
サブドメイン証明書リクエスト
サブドメイン用に別のホストゾーンがある場合:
前述の手順に従って、Apex ドメイン証明書リクエストを実行し、コマンド内のドメインの名前をサブドメインに置き換えて、サブドメインの NS レコードを特定します。
NS 値を持つ出力を受け取った場合は、出力の NS 値に一致するサブドメインのホストゾーン内の CNAME レコードを追加します。
コマンドの実行後に NS レコードを受信しない場合は、Apex ドメインとサブドメインの間に適切なサブドメイン委任が設定されていることを確認してください。これを行うには、Apex ドメインのホストゾーンにサブドメインの NS レコードを含むリソースレコードを作成します。詳細については、Route 53 を使用してホストされるドメインのサブドメインを作成するにはどうすればよいですか? をご参照ください。
サブドメイン用に別のホストゾーンがない場合:
サブドメイン用に別のホストゾーンがない場合は、Apex ドメインのホストゾーンに CNAME レコードを追加します。その後、Apex ドメイン証明書リクエストの前述の手順を使用して、CNAME レコードが想定どおりに解決されることを検証します。
注: DNS 設定に最近変更があった場合は、TTL 値に基づいて伝達の遅延が発生する可能性があります。