ヘヴィメタル・エンジニアリング

AWS特化型エンジニアのほのぼのヘヴィメタルブログ

ヘヴィメタル・エンジニアリング

クラウド特化型ヘヴィメタルエンジニアのほのぼのブログ

AWS VPC間の通信 ~ アカウント間VPCピアリング接続編 ~

 

 

よくAWSを触るものです。

今日はVPC間の通信を可能にするVPCピアリング接続について書こうと思います。

目的

2つのAWSアカウントがあり、各アカウントのVPCプライベートサブネット領域で通信する

きっかけ

今回はAアカウントBアカウントが存在することにします。

 

Aのプライベートサブネット領域に存在するEC2インスタンスから、BのVPCプライベートサブネット領域に存在するAuroraクラスターアクセスしたいということがありました。

 

f:id:xkenshirou:20200606111713p:plain

 

 

そうなった場合、アカウント間のプライベート通信が必要となるので、VPCピアリングを用いて、プライベート通信を実現しようと思います!

  

手順

 1. Aアカウントでピアリング接続を作成

f:id:xkenshirou:20200606112254p:plain

リクエスタ : Aアカウントの対象VPC

アクセプタ: Bアカウントの対象VPC

アカウント : BのアカウントID

 

2. Bのアカウントでピアリング接続許可を承認

VPCコンソール -> ピアリング接続 -> アクション -> リクエストの承諾

 

3. 各アカウントのルートテーブルの設定

・Aアカウント

対象のEC2インスタンスのサブネットのルートテーブルに、BアカウントのauroraクラスターのサブネットのCIDRを登録

auroraクラスターのサブネットのCIDR : 10.111.111.0/24

f:id:xkenshirou:20200606113240p:plain
・Bアカウント

対象のauroraクラスターのサブネットのルートテーブルに、AアカウントのEC2インスタンスのサブネットのCIDRを登録

 

※今回は対象のサービスがsubnetを指定しているためsubnetのルートテーブルを編集しましたが、vpcに依存する場合はvpcのルートテーブルを編集してください。

 

4. BアカウントのauroraクラスターのSecurity Groupのインバウンドを開放

auroraはSecurity Groupによってインバウンドアクセスを制御しているので、AアカウントのEC2インスタンスのsubnetのCIDRを許可します。

 

5. 確認

f:id:xkenshirou:20200606114017p:plain

AアカウントのEC2インスタンスからmysqlコマンドでauroraクラスターにアクセスできます。

 

まとめ

VPC間を超えて接続するユースケースってそんなに無いと思いますが、いざというときには便利ですね。

例えば別アカウント間RDSのレプリケーションを実行したいとか...

 

ただ、VPCの意義を否定する使い方なのであまり使うことはおすすめしません。

脆弱性を増やす原因にもなるので、一時利用に押さえましょう。