VPC リソースからのリモートネットワークでホストされている DNS レコードを解決できるように、Route 53 Resolver のアウトバウンドエンドポイントを設定する方法を教えてください。

最終更新日: 2020 年 9 月 15 日

Amazon Virtual Private Cloud (Amazon VPC) の Amazon Elastic Compute Cloud (Amazon EC2) インスタンスからリモートネットワークでホストされている DNS レコードを解決するように、Amazon Route 53 Resolver のアウトバウンドエンドポイントを設定する方法を教えてください。

簡単な説明

Amazon VPC で作成された VPC は、Route 53 Resolver から自動的な DNS 解決を受け取ります。VPC 内の EC2 インスタンスは、VPC CIDR IPv4 ネットワーク範囲プラス 2 のベースにある予約済み IP アドレスを使用して、DNS クエリをリゾルバーに送信できます。VPC 内の Amazon EC2 インスタンスからリモートネットワーク上の DNS リゾルバーにドメイン名の DNS クエリを転送するようにリゾルバーを設定できます。

DNS クエリを転送するには、以下のそれぞれを作成します。

  • リモートネットワークに DNS クエリを送信するためのアウトバウンドエンドポイント
  • Resolver がリモート DNS サーバーに転送する DNS クエリのドメイン名を指定する Resolver ルール

解決方法

前提条件を満たす

  • アウトバウンドエンドポイントを作成する VPC の DNS サポート属性で DNS 解決を有効にします
  • VPC でカスタム DNS サーバーを使用している場合: VPC IPv4 ネットワーク範囲プラス 2 のベースにある予約済み IP アドレスを使用して、該当するドメイン名の DNS クエリを条件付きでリゾルバーに転送するように設定されていることを確認します。
  • VPC でカスタム DNS サーバーを使用していない場合: DHCP オプションセットのドメイン名サーバーが AmazonProvidedDNS、または VPC IPv4 ネットワーク範囲プラス 2 のベースにある予約済み IP アドレスに設定されているか確認します。

アウトバウンドエンドポイントを設定

  1. Route 53 コンソールを開きます。
  2. ナビゲーションペインで、[Outbound endpoints] を選択します。
  3. ナビゲーションバーで、アウトバウンドエンドポイントを作成する VPC のリージョンを選択します。
  4. [Create outbound endpoint] を選択します。
  5. [Create outbound endpoin] ページで、[General settings for outbound endpoint] セクションに入力します。リゾルバーがリモートネットワークでの DNS クエリに使用する DNS の IP アドレスおよびポートへのアウトバウンド TCP および UDP 接続を許可するセキュリティグループ を選択します。
  6. [IP addresses] セクションに入力します。リゾルバーにサブネットの使用可能な IP アドレスから IP アドレスを選択させるか、自分で IP アドレスを指定できます。DNS クエリには、2 つ (最小) から 6 つ (最大) の IP アドレスを選択します。ベストプラクティスは、少なくとも 2 つの異なるアベイラビリティーゾーンで IP アドレスを選択することです。[Subnet] から、以下の点に対応するサブネットを選択します。
    • AWS Direct Connect、VPN 接続、もしくはネットワークアドレストランスレーション (NAT) ゲートウェイを使用したリモートネットワークにある DNS リゾルバーの IP アドレスへのルーティングを含むルートテーブル。
    • リゾルバがリモートネットワーク上の DNS クエリに使用する IP アドレスと、送信先ポート範囲 1024〜65535 のリゾルバから使用するポートへの、UDP および TCP トラフィックの両方を許可するネットワークアクセスコントロールリスト (ACL)。
  7. (オプション) [Tags] セクションに入力します。
  8. [Submit] を選択します。

リゾルバーのルールを設定する

新しいルールを作成するには:

  1. Route 53 コンソールを開きます。
  2. [Route 53] ナビゲーションペインで [Rules] を選択します。
  3. ナビゲーションバーで、新しく作成したアウトバウンドエンドポイントが存在するリージョンを選択します。
  4. [Create Rule] を選択します。
  5. [Create rule] ページで、[Rule for outbound traffic] セクションに入力します。[Rule type] で、転送ルールを設定し、DNS クエリをリモートネットワークに転送する VPC に関連付けます。[Outbound endpoint] で、先ほど作成したアウトバウンドエンドポイントを選択します。
    注意: このルールを関連付ける VPC は、アウトバウンドエンドポイントを作成したのと同じ VPC である必要はありません。
  6. [IP addresses] セクションに入力します。[IP address] で、リモートネットワークの DNS リゾルバーの IP アドレスを指定します。[Port] で、これらのリゾルバーが DNS クエリに使用するポートを指定します。
    注意: リゾルバーは、このルールに一致し、このルールに関連付けられた VPC から送信される DNS クエリを、参照されるアウトバウンドエンドポイントに転送します。その結果、これらのクエリは、ここで指定したターゲット IP アドレスに転送されます。
  7. (オプション) [Tags] セクションに入力します。
  8. [Submit] を選択します。

既存のルールを使用するには:

  • アカウントの VPC と同じリージョンの同じドメインに既にルールがありますか? ある場合、新しいルールを作成する代わりに、そのルールを VPC に関連付けます。ルールダッシュボードからルールを選択し、リージョン内の該当する VPC に関連付けます。
  • VPC と同じリージョンの同じドメインに、既に別のアカウントのルールがありますか? ある場合、Resource Access Manager を使用して、リモートアカウントからアカウントにルールを共有できます。ルールを共有すると、対応するアウトバウンドエンドポイントも共有されます。アカウントとルールを共有したら、ルールダッシュボードからルールを選択し、アカウントの VPC に関連付けます。

注意: リゾルバーのルールに関連付けられている VPC からの DNS クエリを、アウトバウンドエンドポイントが配置されている VPC に転送するために、ネットワーク接続は必要ありません。これは、VPC が同じアカウントにあるかどうかに関係なく当てはまります。

設定をテストする

VPC 内のいずれかの Amazon EC2 インスタンスから DNS 解決を実行します。

  • Linux または MacOS の場合: dig <record name> <record type>
  • Windows の場合: nslookup -type=<record type> <record name>