スキップしてコンテンツを表示

Route 53 を DNS サービスとして使用する際に発生する、NXDOMAIN 応答のトラブルシューティング方法を教えてください。

所要時間3分
0

Amazon Route 53 のレコードを解決しようとすると、DNS リゾルバーから NXDOMAIN (non-existent domain) という応答または、DNS_PROBE_FINISHED_NXDOMAIN エラーが返されます。

簡単な説明

DNS リゾルバーが要求されたドメイン名を見つけられない場合、NXDOMAIN という応答または DNS_PROBE_FINISHED_NXDOMAIN というエラーが発生することがあります。考えられる原因は、ドメインの一時停止、ネームサーバーの設定ミス、DNS レコードの欠落などがあります。

解決策

ドメインがアクティブか一時停止かを確認する

ドメインがアクティブか一時停止かを確認するには、次の手順を実行します。

  1. ドメインに対して WHOIS クエリを実行します。
    次のコマンドを実行する前に、WHOIS がインストールされていることを確認してください。
    Windows: Windows コマンドプロンプトを開き、whois-v example.com と入力します。
    Linux の場合:****SSH クライアントを開きます。コマンドプロンプトwhois example.com と入力します。
    ドメインが Amazon Registrar に登録されている場合は、Amazon Registrar の WHOIS ルックアップツールを使用できます。
  2. ドメインのステータスを確認します。ドメインステータスの値が 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 のホストゾーン設定を確認するには、次の手順を実行します。

  1. Amazon Route 53 コンソールを開きます。
  2. ナビゲーションペインで [ホストゾーン] を選択します。
  3. 目的のホストゾーンを選択し、[詳細を表示] を選択します。
  4. [ホストゾーンの詳細] を選択します。
  5. リストされているネームサーバーを WHOIS またはdig +trace出力のネームサーバーと比較します。

重要: ネームサーバーが異なる場合は、ドメインレジストラで更新してください。

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
AWS公式更新しました 1年前
コメントはありません

関連するコンテンツ