DNS レコードを解決するように Amazon Route 53 Resolver のアウトバウンドエンドポイントを設定したいと考えています。レコードは、私の Amazon Virtual Private Cloud (Amazon VPC) の Amazon Elastic Compute Cloud (Amazon EC2) インスタンスからリモートネットワークでホストされています。
簡単な説明
Amazon VPC で作成された VPC は、Route 53 リゾルバーから自動 DNS 解決を受け取ります。Amazon VPC の EC2 インスタンスからリモートネットワークの DNS リゾルバーにドメイン名の DNS クエリを転送するようにリゾルバーを設定できます。
DNS クエリを転送するには、次のそれぞれを作成します。
- DNS クエリをリモートネットワークに送信する アウトバウンドエンドポイント。
- リゾルバーがリモートDNSサーバーに転送するDNSクエリのドメイン名を指定する リゾルバールール。
解決策
前提条件
- リゾルバールールに関連付けられた VPC の DNS サポート属性で DNS 解決をオンにします。
- VPC でカスタム DNS サーバーを使用している場合: 該当するドメイン名の DNS クエリを条件付きでリゾルバーに転送するように DNS サーバーを設定します。カスタム DNS サーバーは、VPC IPv4 ネットワーク範囲のベースにある予約済み IP アドレスに 2 を加えたものを使用する必要があります。
- VPC でカスタム DNS サーバーを使用していない場合: DHCP オプションのドメインネームサーバーを次のいずれかに設定します。
- AmazonProvidedDNS
- VPC IPv4 ネットワーク範囲のベースにある予約済み IP アドレスに 2 を加えたもの
アウトバウンドエンドポイントの設定
- Route 53 コンソールを開きます。
- ナビゲーションペインで、[アウトバウンドエンドポイント] を選択します。
- ナビゲーションバーで、アウトバウンドエンドポイントを作成する VPC のリージョンを選択します。
- [アウトバウンドエンドポイントの作成] を選択します。
- [アウトバウンドエンドポイントの作成] ページで、[アウトバウンドエンドポイントの一般設定] セクションに入力します。以下へのアウトバウンド TCP および UDP 接続を許可する セキュリティグループ を選択します。
- リゾルバーがリモートネットワーク上の DNS クエリに使用する IP アドレス。
- リゾルバーがリモートネットワーク上の DNS クエリに使用するポート。
- IP アドレス セクションに入力します。サブネット内の使用可能な IP アドレスから IP アドレスを自動的に選択するようにリゾルバーを設定できます。または、IP アドレスを指定できます。DNS クエリの IP アドレスを 2 つ (最小) または 6 つ (最大) の中から選択します。少なくとも 2 つの異なるアベイラビリティーゾーンの IP アドレスを選択することをお勧めします。[サブネット] には、対応する次のサブネットを選択します。
- AWS Direct Connect、VPN 接続、またはネットワークアドレス変換 (NAT) ゲートウェイを使用するリモートネットワーク上の DNS リゾルバーの IP アドレスへのルートを含むルートテーブル。
- リゾルバーがリモートネットワーク上の DNS クエリに使用する IP アドレスとポートへの UDP および TCP トラフィックを許可するネットワークアクセスコントロールリスト (ACL)。また、宛先ポート範囲 1024 ~ 65535 のリゾルバーからのトラフィックを許可するネットワーク ACL。
- (オプション) [タグ] セクションを実行します。
- [送信] を選択します。
リゾルバールールの設定
新しいルールを作成するには:
- Route 53 コンソールを開きます。
- Route 53 ナビゲーションペインから [ルール] を選択します。
- ナビゲーションバーで、新しく作成されたアウトバウンドエンドポイントが存在する リージョン を選択します。
- [ルールの作成] を選択します。
- [ルールの作成] ページで、[アウトバウンドトラフィックのルール] セクションを入力します。ルールタイプ については、転送ルールを設定して、DNS クエリがリモートネットワークに転送される VPC に関連付けます。[アウトバウンドエンドポイント] で、作成したアウトバウンドエンドポイントを選択します。
**注:**このルールに関連付けられた VPC は、アウトバウンドエンドポイントを作成した VPC と同じ VPC である必要はありません。
- IP アドレス セクションに入力します。IP アドレス には、リモートネットワーク上の DNS リゾルバーの IP アドレスを指定します。ポート には、これらのリゾルバーが DNS クエリに使用するポートを指定します。
**注:**リゾルバーは、このルールに一致し、このルールに関連付けられた VPC から発信された DNS クエリを、参照先のアウトバウンドエンドポイントに転送します。そのため、これらのクエリは、IP アドレス セクションで指定したターゲット IP アドレスに転送されます。
- (オプション) [タグ] セクションを実行します。
- [送信] を選択します。
既存のルールを使用するには:
- **アカウントの VPC と同じリージョンに同じドメインのルールが既にある場合:**新しいルールを作成する代わりに、ルールを VPC に関連付けます。ルールダッシュボードからルールを選択し、リージョン内の該当する VPC に関連付けます。
- VPC と同じリージョンにアカウントが異なる同じドメインのルールが既にある場合:AWS Resource Access Manager を使用して、リモートアカウントのルールをアカウントと共有します。ルールを共有すると、対応するアウトバウンドエンドポイントも共有されます。ルールをアカウントと共有したら、ルールダッシュボードからルールを選択し、アカウントの VPC に関連付けます。
**注:**リゾルバールールに関連付けられた VPC から、アウトバウンドエンドポイントがある VPC に DNS クエリを転送する場合、ネットワーク接続は必要ありません。これは、VPC が同じアカウントにあるかどうかに関係なく当てはまります。DNS リゾルバーへのネットワーク接続は、アウトバウンドエンドポイントが存在する VPC からのみ必要です。
設定をテストする
VPC 内の Amazon EC2 インスタンスのいずれかから DNS 解決を実行します。
- Linux または macOS の場合: dig <record name> <record type>
- Windows の場合: nslookup<record type> <record name>
関連情報
VPC とネットワーク間の DNS クエリの解決
アウトバウンド DNS クエリをネットワークに転送する
アウトバウンドエンドポイントの管理