Route 53 のパブリックホストゾーンの DNS レコード解決に関する問題のトラブルシューティング方法を教えてください。
最終更新日: 2021 年 4 月 19 日
Amazon Route 53 のパブリックホストゾーンの DNS レコード解決に関する問題のトラブルシューティング方法を教えてください。
解決方法
注: AWS コマンドラインインターフェイス (AWS CLI) コマンドの実行中にエラーが発生した場合は、AWS CLI の最新バージョンを使用していることを確認してください。
ドメインステータスの問題を確認する
1. 次のコマンドを使用して、ドメインステータスを確認します。
whois domain_name |grep 'status'
ドメインステータス (EPP コード) が「非アクティブ」または「ServerHold」の場合、ドメインは解決されません。
2. ドメインステータスが「非アクティブ」または「ServerHold」の場合は、ドメインレジストラに連絡して、ドメインステータスの修正をサポートしてもらいます。
次のコマンドを使用して、ドメインレジストラを判定します。
whois domain_name |grep 'Registrar'
分野別または国別トップレベルドメイン (TLD) について、適宜の Whois ユーティリティ (ドメイン登録ルックアップツール) に照会します。
ネームサーバーの問題を確認
権威ネームサーバーがドメインレジストラで正しく設定されていることを確認します。権威ネームサーバーを検索するには、Route 53 パブリックホストゾーンのネームサーバー (NS) リソースレコードセットの値を確認します。
次のコマンドを使用して、レジストラのネームサーバー設定を確認します。
whois domain_name |grep 'Name Server'
例えば、whois example.com |grep 'Name Server' の出力は次のようになります。
Name Server: NS-1125.AWSDNS-12.ORG
Name Server: NS-1774.AWSDNS-29.CO.UK
Name Server: NS-272.AWSDNS-34.COM
Name Server: NS-985.AWSDNS-59.NET
パブリックホストゾーンのネームサーバーと whois 出力が一致しない場合は、「 ネームサーバーまたはグルーレコードを追加または変更する 」を参照してください。
レコードセットの問題の確認
次のコマンドを使用して、Route 53 のホストゾーンで必要な DNS レコードを作成したかどうかを確認します。
dig Domain_name record_type
例えば、$dig amazon.com A の出力は次のようになります。
; <<>> DiG 9.10.6 <<>> amazon.com +question
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 29804
;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;amazon.com. IN A
;; ANSWER SECTION:
amazon.com. 44 IN A 54.239.28.85
amazon.com. 44 IN A 205.251.242.103
amazon.com. 44 IN A 176.32.103.205
;; Query time: 4 msec
;; SERVER: 192.168.1.1#53(192.168.1.1)
;; WHEN: Fri Mar 19 20:28:51 IST 2021
;; MSG SIZE rcvd: 87
注: レコードタイプは対応するリソースレコードセットの Type 列に定義されている。詳細については、サポートされている DNS レコードタイプをご参照ください。
ソースの問題を確認する
ローカルブラウザまたはモバイルデバイスの場合:
- ブラウザのキャッシュをクリアし、ドメインへのアクセスを試みます。
- 正しいドメインをリクエストしているかどうかを確認します。モバイルデバイスのブラウザは、ドメインをリクエストするときに「www」を追加することがあります。
VPC .2 リゾルバーを使用して Amazon Virtual Private Cloud (Amazon VPC) または AWS リソースに接続しているオンプレミスのマシンの場合:
「example.com」や「accounting.example.com」など、重複する名前空間を持つプライベートホストゾーンとパブリックホストゾーンがある場合、リゾルバーは最も良く一致するルートにトラフィックをルーティングします。一致するプライベートホストゾーンがあるが、リクエスト内のドメイン名とタイプに一致するレコードがない場合、リゾルバーはリクエストをパブリック DNS リゾルバーに転送しません。代わりに、クライアントに NXDOMAIN (存在しないドメイン) エラーを返します。重複する名前空間を持つプライベートホストゾーンを誤って作成した場合、そのプライベートホストゾーンは削除できます。
レコードキャッシュの問題を確認する
1. 次のコマンドを使用して、DNS リゾルバーから返されたレコード値が、権威ネームサーバーから返された値と一致しているかどうかを確認します。ドメイン解決の結果、期待された IP アドレスが得られない場合は、DNS リゾルバが値をキャッシュしている可能性があります。ドメイン解決の結果、期待されたものと異なる IP アドレスが得られる場合は、ブラウザーのキャッシュをクリアします。
dig domain_name record_type @authorative_name_server
例えば、$dig amazon.com @NS-1125.AWSDNS-12.ORG の出力は次のようになります。
; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.68.rc1.64.amzn1 <<>> amazon.com @NS-1125.AWSDNS-12.ORG
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 63711
;; flags: qr aa rd; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 0
;; WARNING: recursion requested but not available
;; QUESTION SECTION:
;amazon.com. IN A
;; ANSWER SECTION:
amazon.com. 60 IN A 205.251.242.103
amazon.com. 60 IN A 54.239.28.85
amazon.com. 60 IN A 176.32.103.205
;; Query time: 2 msec
;; SERVER: 208.78.70.31#53(208.78.70.31)
;; WHEN: Fri Mar 19 15:08:52 2021
;; MSG SIZE rcvd: 76
2. パブリックリゾルバーで同じ結果が表示されるかどうかを確認するには、次のコマンドを使用します。パブリックリゾルバが期待される回答を返している場合、問題はローカルマシン上の DNS リゾルバーにある可能性が高いと思われます。
dig domain @public_resolver_Ip
例えば、$dig amazon.com @1.1.1.1 の出力は次のようになります。
; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.68.rc1.64.amzn1 <<>> amazon.com @1.1.1.1
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 26860
;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;amazon.com. IN A
;; ANSWER SECTION:
amazon.com. 15 IN A 205.251.242.103
amazon.com. 15 IN A 54.239.28.85
amazon.com. 15 IN A 176.32.103.205
;; Query time: 1 msec
;; SERVER: 1.1.1.1#53(1.1.1.1)
;; WHEN: Fri Mar 19 15:09:41 2021
;; MSG SIZE rcvd: 76
DNSSEC の問題を確認
ドメインの DNSSEC が正しく設定されていることを確認します。DNSSEC 分析ツールまたは適宜のユーティリティを使用して、ドメインに DNSSEC の問題があるかどうかを確認します。
DNSSEC をバイパスし、期待される結果が得られるかどうかを確認します。
dig domain_name +cd
例えば、$ dig amazon.com +cd の出力は次のようになります。
; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.68.rc1.64.amzn1 <<>> amazon.com +cd
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 55636
;; flags: qr rd ra cd; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;amazon.com. IN A
;; ANSWER SECTION:
amazon.com. 29 IN A 205.251.242.103
amazon.com. 29 IN A 176.32.103.205
amazon.com. 29 IN A 54.239.28.85
;; Query time: 2 msec
;; SERVER: 1.1.1.1#53(1.1.1.1)
;; WHEN: Fri Mar 19 15:10:13 2021
;; MSG SIZE rcvd: 76