リモートネットワークからプライベートホストゾーンのレコードを解決するように、Amazon Route 53 Resolver のインバウンドのエンドポイントを設定したいと考えています。
簡単な説明
Amazon Virtual Private Cloud (Amazon VPC) は、Route 53 リゾルバー経由で自動 DNS 解決を行います。リモートネットワークからプライベートホストゾーンへの DNS クエリを許可するインバウンドエンドポイントを作成します。
解決策
Amazon Route 53 Resolver のインバウンドエンドポイントを設定し、リモートネットワークがプライベートホストゾーンのレコードを解決できるようにするには、次の手順を実行します。
注: AWS コマンドラインインターフェイス (AWS CLI) コマンドの実行中にエラーが発生した場合は、「AWS CLI で発生したエラーのトラブルシューティング」を参照してください。また、AWS CLI の最新バージョンを使用していることを確認してください。
- インバウンドエンドポイントを作成する対象の Amazon VPC において、DNS サポート属性で DNS ホスト名と解決を有効にします。
- プライベートホストゾーンを Amazon VPC に関連付けます。
プライベートホストゾーンと Amazon VPC が同じ AWS アカウントに属している場合は、次の手順を実行します。
- Route 53 コンソールを開きます。
- ナビゲーションペインで [ホストゾーン] を選択します。
- クエリするレコードを含むプライベートホストゾーンを選択します。
- 検索バーを使用して該当する Amazon VPC を見つけます。次に [新しい VPC の関連付け] を選択します。
プライベートホストゾーンと Amazon VPC が異なる AWS アカウントにある場合は、次の手順を実行します。
- AWS CLI を使用してクロスアカウント関連付けを行います。
詳細については、「Route 53 プライベートホストゾーンを別の AWS アカウントの VPC に関連付ける方法を教えてください」を参照してください。
- オンプレミスの DNS サーバーが再帰クエリのみを送信することを確認します。
- インバウンドエンドポイントのリゾルバーを作成する対象のサブネットに関連付けられたルートテーブルに、オンプレミスネットワークへのルートが含まれていることを確認します。
- サブネットがカスタムネットワーク ACL を使用している場合は、ルールを更新し、次のトラフィックを許可します。
オンプレミス DNS サーバーへの UDP および TCP アウトバウンドトラフィック (ポート範囲: 1024 ~ 65535)。
オンプレミス DNS サーバーからの UDP および TCP インバウンドトラフィック (ポート: 53)。
- インバウンドエンドポイントのセキュリティグループを設定し、オンプレミス DNS サーバーの IP アドレスからの TCP および UDP トラフィックをポート 53 で許可します。
- オンプレミスネットワークと AWS の間にファイアウォールが存在する場合は、DNS サーバーの IP アドレスに対する TCP および UDP トラフィックをポート 53 で許可します。
- インバウンドエンドポイント IP アドレスへの接続は、AWS Direct Connect または VPN 経由である必要があります。
インバウンドエンドポイントの設定
インバウンドエンドポイントを設定するには、次の手順を実行します。
- Route 53 コンソールを開きます。
- ナビゲーションペインで [インバウンドエンドポイント] を選択します。
- ナビゲーションバーで、Amazon VPC が配置されている AWS リージョンを選択します。
- [インバウンドエンドポイントの作成] を選択します。
- [インバウンドエンドポイントの一般設定] で、プライベートホストゾーンがあるリージョン内の Amazon VPC を選択します。リモートネットワークからのインバウンド UDP および TCP トラフィックを、宛先ポート 53 で許可するセキュリティグループを選択します。
- 2 ~ 6 個の IP アドレスを選択します。Route 53 がサブネットから IP アドレスを選択したり、アドレスを指定したりできるようにします。2 つ以上のアベイラビリティーゾーンの IP アドレスを使用してください。
- IP アドレスごとに、次の要件を満たすサブネットを選択します。
ルートテーブルには、リモートネットワーク上の DNS リゾルバーの IP アドレスへのルートが含まれます。
ネットワーク ACL は、リモートネットワークからの UDP および TCP トラフィックをポート 53 で許可します。
ネットワーク ACL は、リモートネットワークへの UDP および TCP トラフィックを宛先ポート範囲 1024 ~ 65535 で許可します。
- (オプション) [タグ] セクションに入力します。
- [インバウンドエンドポイントの作成] を選択します。
注: Route 53 のインバウンドエンドポイントには、完全修飾ドメイン名 (FQDN) はありません。エンドポイントを作成すると、Route 53 はサブネットに Elastic ネットワークインターフェイスを作成します。これらの IP アドレスは、DNS クエリをリゾルバーに転送します。
設定をテストする
設定をテストするには、次の手順を実行します。
- リモート DNS サーバーが、プライベートホストゾーンのドメイン名に対する DNS クエリをインバウンドエンドポイントの IP アドレスに転送するように設定します。
- DNS サーバーがドメイン名の権限を委任するのではなく、クエリを転送するように設定します。
- リモート DNS サーバーが再帰的な DNS クエリのみを送信することを確認します。
- オンプレミスの DNS サーバーが Recursion Desired が 0 (false) に設定された DNS クエリを送信した場合、インバウンドエンドポイントは応答を返しません。この情報をパケットキャプチャで確認します。
- AWS Transit Gateway を使用する場合は、インバウンドエンドポイントのサブネットを Transit Gateway アタッチメントに関連付けます。
- リモートネットワーク上のクライアントから、プライベートホストゾーン内のいずれかのレコードの解決をテストします。
次のコマンドでは、RECORD_NAME と RECORD_TYPE を適切な値に置き換えてください。
- Linux または MacOS では、次の例の形式で dig RECORD_NAME RECORD_TYPE を実行します: dig example.com A
- Windows では、次の例の形式で nslookup RECORD_NAME RECORD_TYPE を実行します: nslookup example.com
関連情報
VPC とネットワーク間の DNS クエリの解決
アウトバウンド DNS クエリをネットワークに転送する
アウトバウンドエンドポイントの管理
Route 53 リゾルバーのエンドポイントに関する DNS 解決の問題をトラブルシューティングするにはどうすれば良いですか?