Route 53 プライベートホストゾーンでの DNS 解決の問題のトラブルシューティング方法を教えてください。

最終更新日: 2020 年 4 月 21 日

Amazon Route 53 でドメイン用のプライベートホストゾーンを作成しました。しかし、ドメイン名の解決が Virtual Private Cloud (VPC) で機能しません。この問題を解決するには、どうすれば良いですか?

解決方法

まず、dig または nslookup コマンドを使用して設定を確認します。これらのコマンドがエラーを返す場合、または意図したものと異なる設定を表示する場合は、以下のトラブルシューティング手順に従ってください。

  1. 正しい VPC ID がプライベートホストゾーンに関連付けられていることを確認します。また、同じ VPC 内からドメインをクエリしていることを確認してください。get-hosted-zone コマンドを使用して、ホストゾーンに関連付けられた VPC のリストを取得できます。
  2. VPC で DNS ホスト名DNS 解決パラメータが有効になっていることを確認します。これを行うには、VPC 設定を確認します。
  3. VPC 設定を確認して、カスタム DNS サーバーを設定したかどうかを確認します。この設定を構成した場合は、プライベートドメインの DNS クエリを VPC の Amazon が提供する DNS サーバーの IP アドレスに転送するようにサーバーを設定していることを確認します。たとえば、VPC の CIDR 範囲が 10.0.0.0/16 の場合、VPC DNS サーバーの IP アドレスは 10.0.0.2 (VPC ネットワーク範囲に 2 を足した値) です。 
    注意: プライベートホストゾーンは、VPC DNS を通じてのみ解決できます。
  4. 名前空間が重複する複数のプライベートホストゾーンを確認します。名前空間が重複するゾーンが複数ある場合 (example.com test.example.com など)、Route 53 のリゾルバーは、最も具体的な一致に基づいてホストゾーンにトラフィックをルーティングします。一致するゾーンがあるが、リクエスト内のドメイン名とタイプに一致するレコードがない場合、リゾルバーはリクエストを別のゾーンまたはパブリック DNS リゾルバーに転送しません。代わりに、リゾルバーは NXDOMAIN (存在しないドメイン) をクライアントに返します。
  5. 親ドメインのプライベートホストゾーンのサブドメインに NS レコードが設定されていることを確認します。
    注意: プライベートホストゾーンでは、ネームサーバー (NS) レコードはサブドメインの責任を委任するためサポートされていません。
  6. プライベートホストゾーンでサポートされているルーティングポリシーが設定されていることを確認します。サポートされているルーティングポリシーは次のとおりです。
    シンプルルーティング
    複数値回答ルーティング
    フェイルオーバールーティング
    加重ルーティング
  7. アウトバウンドエンドポイントでリゾルバーを使用しているかどうかを確認します。詳細については、「VPC とネットワーク間の DNS クエリを解決する」を参照してください。以下の両方の条件が true の場合、リゾルバールールが優先されます。
    プライベートホストゾーンのドメインのネットワークにトラフィックをルーティングするリゾルバールールがある
    プライベートホストゾーンにも関連付けられている同じ VPC にリゾルバールールが関連付けられている