Amazon Route 53 Resolver のルールが原因で、Amazon Virtual Private Cloud (Amazon VPC) で DNS 解決の問題が発生しています。
解決策
Resolver ルールを再度関連付ける
Resolver ルールと VPC の関連付けを解除すると、Resolver は DNS クエリを DNS リゾルバーに転送しなくなります。この問題を解決するには、そのルールを VPC に再度関連付けます。共有したルールに関連する問題をトラブルシューティングするには、「他の AWS アカウントと Resolver ルールを共有し、共有ルールを使用する」を参照してください。
注: Resolver ルールは、使用するアカウントに属する VPC にのみ関連付けることができます。
DNS 解決のトラブルシューティング
次の操作を行います。
Resolver ルールのトラブルシューティング
次の操作を行います。
- Route 53 Resolver がルールを評価する際に、指定したルールを照合することを確認します。詳細については、「ルールの作成、編集時に指定する値」を参照してください。
- VPC に自動定義の逆引き DNS ルールが設定されていないか確認し、そのルールを上書きします。
- VPC で DNS 解決と DNS ホスト名が有効な場合は、関連するプライベートホストゾーンにプライベートホストゾーンが含まれていることを確認します。
- VPC に関連付けたドメインと同じドメインには、複数のルールが作成されていないかを確認します。複数のルールを適用した場合、ドメインが機能しない場合があります。
注: Resolver のフォワーダールールとプライベートホストゾーンが競合する場合は、Resolver ルールが優先されます。
DNS 転送ルールのトラブルシューティング
他のアカウントの DNS サーバーでホストしている内部ドメインを DNS 転送ルールを使用して解決する際、「connection refused」エラーが発生する場合があります。このエラーは、セキュリティグループとネットワークアクセスコントロールリスト (ネットワーク ACL) が正しく構成されているにもかかわらず発生する可能性もあります。
この問題をトラブルシューティングするには、アウトバウンド Resolver エンドポイントのアカウントおよび、DNS サーバーをホストするアカウント間のルーティング設定とトラフィックフローを確認します。
アウトバウンドエンドポイントで次の手順を実行します。
- Resolver ルールにオンプレミス DNS サーバーの正しい IP アドレスが含まれていることを確認します。
- アウトバウンドエンドポイントのセキュリティグループは、DNS サーバーの IP アドレスとポートへのアウトバウンド TCP および UDP トラフィックを許可する必要があります。
- ネットワーク ACL が DNS サーバーの IP アドレスまたはポートとエフェメラルポート (1024 ~ 65535) への TCP および UDP トラフィックを許可していることを確認します。
- アウトバウンドエンドポイントのサブネットルートテーブルには、VPN または AWS Direct Connect 接続を介したオンプレミスサーバーの IP アドレスへのルートが含まれていることを確認します。
詳細については、「アウトバウンドエンドポイントの管理」を参照してください。
アウトバウンドエンドポイントと同じサブネットに配置された Amazon Elastic Compute Cloud (Amazon EC2) インスタンスからの接続をテストするには、次の手順を実行します。
- dig または nslookup コマンドを直接、オンプレミスの DNS Resolver の IP アドレスに実行します。
- インターネット制御メッセージプロトコル (ICMP) が許可されたオンプレミスホストに ping を送信し、接続を確認します。
ソースクライアントは、クエリをアウトバウンドエンドポイントに直接送信するのではなく、AmazonProvidedDNS に送信する必要があります。そうすることで、AmazonProvidedDNS は、Resolver ルールの構成に基づき、クエリをアウトバウンドエンドポイントを介してターゲット IP アドレスに転送します。詳細については、「パブリック DNS クエリの記録」を参照してください。
DNS 応答をトラブルシューティングする際は、dig または nslookup を使用してオンプレミスの DNS サーバーの IP アドレスに直接クエリを実行します。QUESTION SECTION を参照し、名前、クラス、およびレコードタイプが適切であることを確認します。さらに、レコードが存在しないことを示す NXDOMAIN または、タイムアウトやパスに問題があることを示す SERVFAIL が含まれていないかを確認します。
Route 53 Resolver プロファイルが VPC をオーバーライドしていないか確認する
VPC を デフォルトの "." ルールを含むリゾルバープロファイルに関連付けた場合、そのプロファイルは VPC デフォルトの再帰ルールよりも優先されます。ただし、VPC の Resolver ルールでは、関連付けステータスはオーバーライドされたことを示しません。詳細については、「Route 53 Resolver エンドポイントが VPC から DNS クエリをネットワークに転送する際の動作」を参照してください。
.local などの TLD ドメインでの SERVFAIL エラーを解決する
Route 53 は、.local などの特定のトップレベルドメイン (TLD) をリンクローカルドメインとして処理します。ディストリビューションシステム (例: Ubuntu) で 末尾が .local のドメインを解決しようとした場合、SERVFAIL エラーが発生する可能性があります。この問題を解決するには、新しい Dynamic Host Configuration Protocol (DHCP) オプションセットを使用して VPC のインスタンスを再起動します。
クエリログと VPC フローログを確認する
DNS クエリを見直し、Route 53 Resolver クエリログにエラーがないか確認します。さらに、VPC フローログを確認してパケットをキャプチャし、ブロックまたはドロップされたネットワークトラフィックを特定します。
関連情報
Route 53 Resolver のアウトバウンドエンドポイントで設定を行い、リモートネットワークでホストされている DNS レコードを VPC 内のリソースから解決する方法を教えてください
Route 53 Resolver のインバウンドエンドポイントで設定を行い、プライベートホストゾーンの DNS レコードをリモートネットワークから解決する方法を教えてください