Help us improve the AWS re:Post Knowledge Center by sharing your feedback in a brief survey. Your input can influence how we create and update our content to better support your AWS journey.
Route 53 を DNS サービスとして使用する際に発生する、NXDOMAIN 応答のトラブルシューティング方法を教えてください。
Amazon Route 53 のレコードを解決しようとすると、DNS リゾルバーから NXDOMAIN (non-existent domain) という応答または、DNS_PROBE_FINISHED_NXDOMAIN エラーが返されます。
簡単な説明
DNS リゾルバーが要求されたドメイン名を見つけられない場合、NXDOMAIN という応答または DNS_PROBE_FINISHED_NXDOMAIN というエラーが発生することがあります。考えられる原因は、ドメインの一時停止、ネームサーバーの設定ミス、DNS レコードの欠落などがあります。
解決策
ドメインがアクティブか一時停止かを確認する
ドメインがアクティブか一時停止かを確認するには、次の手順を実行します。
- ドメインに対して WHOIS クエリを実行します。
次のコマンドを実行する前に、WHOIS がインストールされていることを確認してください。
Windows: Windows コマンドプロンプトを開き、whois-v example.com と入力します。
Linux の場合:****SSH クライアントを開きます。コマンドプロンプトに whois example.com と入力します。
ドメインが Amazon Registrar に登録されている場合は、Amazon Registrar の WHOIS ルックアップツールを使用できます。 - ドメインのステータスを確認します。ドメインステータスの値が clientHold の場合、ドメインは停止されています。
ドメイン停止の一般的な理由:
- ドメインの登録後、確認メールでの検証が行われなかった。
- 自動更新が無効になり、ドメインの有効期限が切れた。
- 登録者のメールアドレスが変更された後、検証が行われなかった。
詳細については、「ドメインが停止されました (ステータス: ClientHold)」を参照してください。
WHOIS の出力例:
whois example.com Domain Name: EXAMPLE.COM Registry Domain ID: 87023946_DOMAIN_COM-VRSN Registrar WHOIS Server: whois.godaddy.com Registrar URL: http://www.godaddy.com Updated Date: 2020-05-08T10:05:49Z Creation Date: 2002-05-28T18:22:16Z Registry Expiry Date: 2021-05-28T18:22:16Z Registrar: GoDaddy.com, LLC Registrar IANA ID: 146 Registrar Abuse Contact Email: abuse@godaddy.com Registrar Abuse Contact Phone: 480-624-2505 Domain Status: clientDeleteProhibited https://icann.org/epp#clientDeleteProhibited Domain Status: clientHold https://icann.org/epp#clientHold Domain Status: clientTransferProhibited https://icann.org/epp#clientTransferProhibited Domain Status: clientUpdateProhibited https://icann.org/epp#clientUpdateProhibited Name Server: ns-1470.awsdns-55.org. Name Server: ns-1969.awsdns-54.co.uk. Name Server: ns-736.awsdns-28.net. Name Server: ns-316.awsdns-39.com.
正しいネームサーバーが設定されていることを確認する
WHOIS の出力または dig +trace コマンドで権威ネームサーバーを確認できます。
Route 53 のホストゾーン設定を確認するには、次の手順を実行します。
- Amazon Route 53 コンソールを開きます。
- ナビゲーションペインで [ホストゾーン] を選択します。
- 目的のホストゾーンを選択し、[詳細を表示] を選択します。
- [ホストゾーンの詳細] を選択します。
- リストされているネームサーバーを WHOIS または
dig +trace出力のネームサーバーと比較します。
重要: ネームサーバーが異なる場合は、ドメインレジストラで更新してください。
- ドメインが Route 53 に登録されている場合は、「ドメインのネームサーバーとグルーレコードの追加または変更」を参照してください。
- ドメインが他の場所で登録されている場合は、そのプロバイダーのドキュメントを参照してください。
dig +trace 出力の例:
dig +trace example.com ; <<>> DiG 9.11.4-P2-RedHat-9.11.4-26.P2.amzn2.2 <<>> +trace example.com ;; global options: +cmd . 518400 IN NS H.ROOT-SERVERS.NET. . 518400 IN NS I.ROOT-SERVERS.NET. . 518400 IN NS J.ROOT-SERVERS.NET. . 518400 IN NS K.ROOT-SERVERS.NET. ;; Received 239 bytes from 10.0.0.2#53(10.0.0.2) in 0 ms com. 172800 IN NS a.gtld-servers.net. com. 172800 IN NS m.gtld-servers.net. com. 172800 IN NS h.gtld-servers.net. C41A5766 com. 86400 IN RRSIG DS 8 1 86400 20210329220000 20210316210000 42351 . ;; Received 1174 bytes from 192.112.36.4#53(G.ROOT-SERVERS.NET) in 104 ms example.com. 172800 IN NS ns-1470.awsdns-55.org. ------>Name servers of interest. example.com. 172800 IN NS ns-1969.awsdns-54.co.uk. example.com. 172800 IN NS ns-736.awsdns-28.net. example.com. 172800 IN NS ns-316.awsdns-39.com. ;; Received 732 bytes from 192.33.14.30#53(b.gtld-servers.net) in 91 ms example.com. 3600 IN A 104.200.22.130 example.com. 3600 IN A 104.200.23.95 example.com. 3600 IN NS ns-1470.awsdns-55.org. example.com. 3600 IN NS ns-1969.awsdns-54.co.uk. example.com. 3600 IN NS ns-736.awsdns-28.net. example.com. 3600 IN NS ns-316.awsdns-39.com. ;; Received 127 bytes from 173.201.72.25#53(ns-1470.awsdns-55.org) in 90 ms
要求されたレコードが存在することを確認する
ホストゾーンで、要求されたレコードが存在するかどうかを確認します。
CNAME を使用する場合は、ターゲットドメイン (正規名) も存在し、解決可能であることを確認してください。
たとえば、example.com の CNAME レコードが blog.example.com という値で構成されている場合は、blog.example.com というレコードが存在し、解決可能であることを確認してください。
サブドメイン委任の問題を確認する
サブドメイン委任の問題があるかどうか確認するには、次のアクションを検討してください。
- 親ホストゾーンでドメインの NS レコードを確認します。たとえば、www.example.com に NS レコードがある場合は、委任された状態です。
- 委任が有効な場合は、委任されたゾーンにレコードを追加します。
- 委任が有効でない場合は、NS レコードを削除し、そのレコードを親ゾーンに追加します。
注: DNS リゾルバーでの QNAME 最小化が原因で、深いサブドメイン委任において NXDOMAIN エラーが発生することがあります。詳細については、「Route 53 のダングリング委任レコードを防止する」を参照してください。
DNS 解決の問題が VPC でのみ発生しているかどうかを判断する
お使いのオペレーティングシステムで DNS リゾルバーが設定されているかどうかを確認してください。
- Linux: /etc/resolv.conf ファイルを開きます。
- Windows: コマンドプロンプトで次のコマンドを実行します。ipconfig /all
DNS リゾルバーのアドレスを探します。仮想プライベートクラウド (VPC) の CIDRが10.0.0.0/8 の場合、リゾルバーは 10.0.0.2 であることが想定されます。
Amazon Virtual Private Cloud (Amazon VPC) リゾルバーを使用している場合は、次のシナリオを確認してください。
シナリオ A: リゾルバールールとプライベートホストゾーンの両方がある場合
- リゾルバールールが優先されます。
- DNS クエリは、リゾルバールールの IP アドレスに転送されます。
詳細については、「プライベートホストゾーンを使用する」を参照してください。
シナリオ B: プライベートホストゾーンのみがある場合
- VPC 内のクライアントは、パブリックゾーンのレコードを解決できません。
- この構成は split-horizon DNS と呼ばれます。
シナリオ C: リゾルバールールのみがある場合
- DNS クエリは、設定された IP アドレスに転送されます。
- この場合、デフォルトのパブリックリゾルバーは使用されません。
問題の原因がネガティブキャッシュにあるかどうかを確認する
ネガティブキャッシュがアクティブな場合、NXDOMAIN 応答がリゾルバーによってキャッシュされることがあります。
シナリオ例:
- neg.example.com にクエリを実行したものの、そのクエリは存在しません。
- リゾルバーは NXDOMAIN の結果をキャッシュします。
- 後でそのレコードを作成しても、リゾルバーは依然として NXDOMAIN を返します。
リゾルバーは、次の情報を使用してネガティブ応答をキャッシュする期間を決定します。
- SOA レコードの最小 TTL
- SOA レコードの TTL (どちらか低い方)
ネガティブキャッシュが有効かどうかを確認するには、ネームサーバーに直接クエリを送信して応答を取得します。例を次に示します。
dig www.example.com @ns-1470.awsdns-55.org
- 言語
- 日本語
