むらじゅん風呂具

ITエンジニアとたまに歌手と司会などで活動する村中淳のブログ

【AWS】VPCピアリング接続をやってみた

出勤途中の電車の中で、ふと思った。

「あれ?VPC間の通信ってできたっけ??」

格ゲーでふと思いついた連携を試すかのように、
手を動かして確認してみた。

VPC ピアリング接続 というものがある

どうやらVPC ピアリング接続 というのを使えばできるとのこと。

VPC ピアリング接続は、
2 つの VPC 間でプライベートなトラフィックのルーティングを可能にする
ネットワーキング接続です。
どちらの VPC のインスタンスも、
同じネットワーク内に存在しているかのように、相互に通信できます。
VPC ピアリング接続は、自分の VPC 間、別の AWS アカウントの VPC との間、
または別の AWS リージョンの VPC との間に作成できます。

VPC ピアリング接続より

それでは設定していきましょ。

VPC Peering の作成

今回、VPC-A、VPC-B を用意。
それぞれにサブネットが1つあり、その中にEC2インスタンスがあり。
VPC-A側はインターネットから接続を受け付けるセキュリティグループを設定。
VPC-B側は接続を受け付けない(これは後ほど設定する)。

f:id:pj124183:20200107201548p:plain

VPCダッシュボードから、ピアリング接続 > ピアリング接続の作成 をクリック

ピアリング接続の作成画面が出てくるので、
ネームタグを入力

ピアリング接続するローカルVPCは、
接続をする側のVPC-Aを選択

f:id:pj124183:20200107082519p:plain

ピアリング接続するもうひとつのVPCを選択は、
接続をされる側のVPC-Bを選択、ピアリング接続の作成 をクリック

f:id:pj124183:20200107202037p:plain

そうすると、ステータスが 承認の保留中 と表示されるので、
アクション から リクエストの承諾 をする

f:id:pj124183:20200107202344p:plain

承諾後、ステータスが アクティブ と表示

f:id:pj124183:20200107202516p:plain

VPC-A、VPC-B のルートテーブルに送信先を追加

VPC-Aのルート送信先追加から
先ほど作成したピアリング接続を追加
Peering Connection を選ぶと自動的に表示される
送信先には、VPC-BのCIDRを入力、保存

f:id:pj124183:20200107203054p:plain

VPC-Bのルート送信先も同様にVPC-AのCIDRを入力、保存

f:id:pj124183:20200107203439p:plain

VPC-B EC2セキュリティグループに通信許可設定を追加

VPC-A にあるサブネットからの通信許可を入れる

f:id:pj124183:20200107203939p:plain

VPC-A EC2から接続してみる

接続を確認。なるほどでございます。

[ec2-user@vpc-a-ec2 tmp]$ ssh -i "Murajun.pem" ec2-user@10.2.0.140
Last login: Tue Jan  7 11:44:20 2020 from 10.1.0.90

       __|  __|_  )
       _|  (     /   Amazon Linux 2 AMI
      ___|\___|___|

https://aws.amazon.com/amazon-linux-2/
[ec2-user@vpc-b-ec2 ~]$



実を言うと、この前にVPC-Aに置いてあるEC2に接続できない事象があり、

パブリックIP → ついている
セキュリティグループ → SSH を インターネットから 許可している

「うん?じゃあVPCにインターネットゲートウェイがないのか」と、
芋づる式に回答にいけたのが個人的に嬉しく、AWSナレッジが溜まっているなあと実感。

日々の積み重ね大切。小さなことからコツコツして楽しんでいく。
ごっつあんです。

今回、下記を参考にさせていただきました。
ありがとうございました。

qiita.com