VPCピアリングを試してみた

AWS Hands-on for Beginnersのネットワーク編#2をやってみました。 その中でVPCピアリングの設定をしたので手順をメモしておきます。

環境

VPCピアリングで接続する2つのVPCを準備しておきます。 それぞれのVPCにはパブリックサブネットを一つ定義します。

VPC IPv4 CIDR
main-vpc 10.0.0.0/16
peering-vpc 10.1.0.0/16

主な手順

VPCピアリングを作成する主な手順は下記の通りです。

  1. VPCピアリングを作成し、接続したい2つのVPCを指定する
  2. VPCピアリングによる接続を承認する
  3. 各ルートテーブルにVPCピアリングへの経路を追加する

1. VPCピアリングを作成する

VPCが準備できたので、VPCピアリングを作成します。

案内に従って接続したい2つのVPCを選択すればOKです。

VPCの左側メニューからピアリング接続を開きます。

ピアリング接続するVPCmain-vpcを選択します。

main-vpcを選択

次に、もう一方のVPCpeering-vpcを選択します。

今回は同一アカウント・同一リージョンのVPC間を接続しますが、 別アカウント・別リージョンのVPCにも接続できます。

peering-vpcを選択

ピアリング接続を作成をクリックします。

2. VPCピアリングの接続を承認

VPCピアリングを作成後、接続先VPCのアカウントでピアリング接続の承認が必要になります。

今回は同一アカウント内のVPCをピアリングするため、アカウントを切り替えずに承認できます。

VPCピアリングを選択し、アクションからリクエストを承諾をクリックします。

3. VPCピアリングへの経路追加

次に、VPCピアリングへの経路を追加します。

VPCのパブリックサブネットに関連付いたルートテーブルを編集し、 送信先として接続先VPCIPアドレス空間を追加します。

main-vpcのルートテーブル

まず、main-vpcのパブリックサブネットに関連付けられたルートテーブルに peering-vpcへの経路を追加します。

送信先 ターゲット
10.1.0.0/16 作成したVPCピアリング

peering-vpcのルートテーブル

もう一方も忘れずに設定します。 peering-vpcのパブリックサブネットに関連付けられたルートテーブルに main-vpcへの経路を追加します。

送信先 ターゲット
10.0.0.0/16 作成したVPCピアリング

動作確認

ハンズオンではpeering-vpc側にEC2インスタンス(10.1.0.100)を作成し、 main-vpc側のCloud9からpingを実行して接続を確認しました。

まとめ

2つのVPCVPCピアリングで接続してみました。 設定としては接続したいVPCを指定するだけで済むので非常にシンプルかと思います。

推移的な接続はできないので、 3つ以上のVPCで設定する場合はそれぞれでVPCピアリングが必要な点は注意です。*1

*1:複数で繋ぐ場合はAWS Transit Gatewayを使うと良さそう