はじめに
AWS環境からAWS外にあるDNSサーバへ名前解決を行うために、Route53 Resolver Outbound Endpointを利用する機会がありました。
しかし、簡単に試せるハンズオンが見つからなかったので、ハンズオン手順を記事にしました。
今回、Route53Inbound/OutboundEndpointと転送ルールを使用して別VPCを名前解決する を大いに参考にさせていただきました。
各リソースの詳細な作成手順などが記載されていますので、ご参照ください。
目次
構成の確認
Route53Inbound/OutboundEndpointと転送ルールを使用して別VPCを名前解決することをゴールとします。
オハイオリージョン、大阪リージョンそれぞれに「VPC」「EC2」を用意します。また、System Manager経由でEC2にアクセスできるよう「VPCエンドポイント」を用意します。
オハイオVPC・大阪VPCを接続するために、VPCピアリングを設定します。
オハイオリージョンには、「Route53 Private Hosted Zone」「Route53 Resolver Inbound Endpoint」を用意します。
大阪リージョンには、「Route53 Resolver Outbound Endpoint」を用意します。
ハンズオン
各リソースの詳細な作成手順はRoute53Inbound/OutboundEndpointと転送ルールを使用して別VPCを名前解決する をご参照ください。
以下、ハンズオンの手順と設定の結果をメインに記載しています。
VPCの作成
オハイオリージョン・大阪リージョンにVPCを作成します。
「DNS 解決」「DNS ホスト名」を有効化しておきます。
サブネットの作成
オハイオリージョン、大阪リージョンそれぞれに「EC2用」「Route53 Resolver Inobund/Outbound Endpoint用」のサブネットを作成します。
今回、VPCエンドポイントはEC2用サブネットに配置します。
EC2の作成
EC2インスタンス作成の事前準備として、EC2インスタンスからSSMセッションマネージャーに接続するためのIAMロールの作成します。
許可ポリシーはAWS管理の「AmazonSSMManagedInstanceCore」を使用します。
次に、EC2インスタンスで使用するセキュリティグループを作成します。
この後オハイオEC2・大阪EC2間でpingが通るか確認するため、オハイオリージョンでは大阪EC2サブネットからのICMPの通信を許可、大阪リージョンではオハイオEC2サブネットからのICMPの通信を許可します。
準備が整ったので、オハイオ・大阪リージョンにEC2インスタンスを作成します。
AMIはAmazon Linux 2023、インスタンスタイプはt2.microを指定します。
ネットワーク設定で、先ほど作成したVPC、EC2用サブネット、セキュリティグループを指定します。高度な設定で、同じく先ほど作成したIAMロールを指定します。
他はデフォルトの設定でインスタンスを起動します。
EC2インスタンスにはSSMセッションマネージャーで接続するため、キーペアの作成は不要です。
VPCエンドポイントの作成
オハイオ・大阪リージョンそれぞれで、2つのVPCエンドポイント「com.amazonaws.region.ssm」「com.amazonaws.region.ssmmessages」を作成します。
VPCエンドポイントにはセキュリティグループが必要なため、同じリージョンのEC2インスタンスからのインバウンドHTTPS通信を許可するセキュリティグループを作成します。
準備が整ったので、オハイオ・大阪リージョンにVPCエンドポイント「com.amazonaws.region.ssm」「com.amazonaws.region.ssmmessages」を作成します。VPCエンドポイントは各リージョンのECS用サブネットに配置します。
オハイオEC2・大阪EC2 からSession Manager経由で接続できれば、EC2インスタンスの設定完了です。
オハイオEC2 にSession Manager経由で接続(ルートユーザでログイン)

大阪EC2 にSession Manager経由で接続(ルートユーザでログイン)

VPCピアリングの作成
どちらのリージョンからでも問題ないですが、オハイオリージョンからVPCピアリングを作成します。
リクエスタとなるローカルVPCにオハイオVPC、アクセプタとなるVPCに大阪VPCを指定します。その後、大阪リージョンでVPCピアリングを承認します。
今回ピアリング接続したVPC間で名前解決する必要があるため、オハイオリージョン・大阪リージョンともにVPC ピアリングでの DNS 解決を許可します。
VPCピアリング設定の最後に、オハイオ・大阪リージョンのデフォルトルートテーブルでピアリング先VPCへのルートを設定します。
オハイオEC2・大阪EC2にSession Manager経由で接続し、EC2間でpingが通れば、VPCピアリングの設定完了です。
Route53 Private Hosted Zoneの作成
ドメイン名を「https-demo.com」、関連付けるVPCをオハイオVPCとして、プライベートホストゾーンを作成します。
その後、Aレコード「web-test.https-demo.com」を作成します。値には、オハイオEC2のプライベートIPを指定します。
Route53 Resolver Inbound Endpoint の作成
やっと本題です。
オハイオリージョンで、Route53 Resolver Inbound Endpointを作成していきます。
まずは、エンドポイントに設定するセキュリティグループを作成します。セキュリティグループでは、オハイオVPC・大阪VPCからのDNS(UDP・TCP)通信を許可します。
Route53 Resolver Inbound Endpointの作成時、作成済みのサブネットを指定します。また、任意の独自IPアドレスを指定します。
Route53 Resolver Inbound Endpoint

Route53 Resolver Outbound Endpoint の作成
大阪リージョンでRoute53 Resolver Outbound Endpointを作成していきます。
オハイオリージョン同様、エンドポイントに設定するセキュリティグループを作成します。セキュリティグループでは、オハイオVPC・大阪VPCからのDNS(UDP・TCP)通信を許可します。
Route53 Resolver Outbound Endpointの作成時、作成済みのサブネットを指定します。また、任意の独自IPアドレスを指定します。
Route53 Resolver Outbound Endpoint

次にRoute53 の転送ルールを作成します。
今回はオハイオVPCに紐づけたプライベートホストゾーンの名前解決ルールを設定するので、ドメイン名に「https-demo.com」を入力します。
大阪VPC及び先ほど作成したRoute53 Resolver Outbound Endpointにルールを紐づけます。
DNSクエリを転送する先のターゲットIPには、オハイオリージョンで作成したRoute53 Resolver Inbound EndpointのIPアドレスを指定します。
動作確認
最後に、大阪リージョンのRoute53 Resolver Outbound Endpointを通って、オハイオリージョンのRoute53 Resolver Inbound Endpointを経由し、Route53 Private Hosted Zone に登録されたドメイン「web-test.https-demo.com」の名前解決ができるか確認します。
大阪EC2にSession Manager経由で接続し、「web-test.https-demo.com」にnslookupコマンドを実行後、オハイオEC2のIPアドレスが返ってこれば成功です。
まとめ
Route53 Resolver Inbound/Outbound Endpointのハンズオンとして、別VPCの名前解決を行いました。
Route53 Resolver Inbound/Outbound Endpoint を触ってみたいとい方の助けになれば幸いです。
※Route53 Resolver Inbound/Outbound Endpointは利用料が高額なので、作成後速やかに削除してください。






















