こんにちは!
クラウドインテグレーション部(CI部)技術2課の反町です。
Transit Gatewayについて調べていたらAWS公式の「管理者が違う システム間での柔軟なルーティング」というハンズオンを見つけたので、手を動かしてみました。
このハンズオンでは、VPCピアリングの大部分をCloudFormationを利用して構築してしまっていたので、勉強がてら0からVPCピアリング接続の構築を行いました!
今回のブログではVPCピアリング接続の構築をして、【Transit Gateway】VPCピアリングとTransit Gatewayを構築して比較してみた②のほうでTransit Gatewayの構築を行い、それぞれの比較をしたいと思います。
ピアリング接続とは
まずピアリング接続とは何か調べてみました。
VPC ピアリング接続は、2 つの VPC 間でプライベートなトラフィックのルーティングを可能にするネットワーキング接続です。どちらの VPC のインスタンスも、同じネットワーク内に存在しているかのように、相互に通信できます。
ふむふむ、なんだか便利そうですね!
とりあえずどんなものか実際に作って確認したいと思います。
構成図
目標の構成図は以下です。
ハンズオンの内容と同様に1つのAWSアカウントでリージョンを2つ利用して、計3つのVPCにてそれぞれVPCピアリング接続を行いたいと思います。
EC2の構築と接続準備
1. VPC、サブネット、EC2を構築する
今回はオハイオ州に1つのVPC、北カリフォルニア州に2つのVPCを作成してそれぞれにEC2を構築しました。構築手順は割愛します。
2. EC2をマネージドインスタンスにする
EC2同士が互いに通信できているか確認するため、pingで通信確認を行いたいのでSessionManagerを利用してプライベートサブネットに構築したEC2インスタンスに入れるようにしておきます。
詳しい手順は次のブログAWS Systems Managerを利用してプライベートなEC2にローカル環境から接続するを参考にしてください。
ここまでくると以下の環境ができていると思いますので、次からVPCピアリング接続の構築をしていきたいと思います。
VPCピアリング接続の構築
1. ピアリング接続の作成
VPCコンソールからピアリング接続を選択し、ピアリング接続の作成をします。 ピアリング接続したいVPCを指定します。
vpc-california-1とvpc-Ohioとの接続を北カリフォルニアリージョンから作成しました。
「このリージョン」を選択することで同じリージョン内のピアリング接続ができるようです。
2. ピアリング接続の承諾
北カリフォルニアリージョンで作成したピアリング接続を接続先のオハイオリージョンから「承諾」をします。 ステータスが承諾の保留中になっているのでアクションからリクエストの承諾を押下します。 承諾します。
3. ルートテーブルを編集する
接続するそれぞれのVPCのルートテーブルに接続相手のルートを追加します。
その際に作成したピアリング接続IDを指定します。
4. 接続の確認
Systems Managerコンソールからセッションを開始して通信できるか確認します。
それぞれのVPCに構築したEC2インスタンスのIPアドレスにpingを飛ばして確認しました。
vpc-Ohio→vpc-california-1
vpc-california-1→vpc-Ohio
接続できました!!!!!
5. その他のVPC間のピアリング接続の作成
これでvpc-Ohio←→vpc-california-1間のVPCピアリング接続ができたので同様に、
vpc-Ohio←→vpc-california-2
vpc-california-1←→vpc-california-2
間のピアリング接続も作成して、以下の構成が完成し接続の確認もできました!
まとめ
今回のハンズオンでVPCピアリング接続は、接続した同じリージョン間の違うネットワークに所属するリソースまたはそれぞれ違うリージョンに存在するネットワークがあたかも同じネットワーク内に存在するかのように通信が行えることがわかりました。
ただ、接続は1つのVPC対1つのVPCでの構築になることもわかりました。
ピアリング接続がTransit Gatewayになることでどのような変化があるのか次のブログでTransit Gatewayを構築して比較したいと思います!