AWS VPC環境構築 ピアリング接続

前回[AWS VPC環境構築](https://qiita.com/tanj/items/141311526d9ee19aa637)で一つのPublic VPCを作ってみましたが、複数VPCを作って、VPC間の通信を実現した場合、Peeringを利用します。

#VPC構成イメージ
前回のPublic VPCの横に、Private VPCを作成します。Private VPCはオンプレとつなぐため、よりセキュアなネットワーク環境を構築するためによく利用されます。

#VPC作成
手順は省略しますが、
![image1.png](https://qiita-image-store.s3.amazonaws.com/0/191079/3b81dc63-a28e-e773-2cdb-4c4037b7c276.png)
IPv4 CIDR blockは10.100.1.0/24として作成します。

![image2.png](https://qiita-image-store.s3.amazonaws.com/0/191079/2cded56c-88f8-8133-9bd5-1560ebcd31b5.png)

#Subnet作成
Public VPC同様にsubnetを二つ作成します。

| IPv4 CIDR block | アベイラビリティゾーン | 有効なIPv4数 |
|:-----------|:-----------|-----------:|
| 10.100.1.0/27|ap-northeast-1a|27|
| 10.100.1.32/27|ap-northeast-1c|27|

![image3.png](https://qiita-image-store.s3.amazonaws.com/0/191079/ab68941d-1bd0-f7e8-5d7e-af1bd4e42499.png)

構成図は以下となります。
![image4.png](https://qiita-image-store.s3.amazonaws.com/0/191079/f77b72c9-0856-430d-ad03-b1d839534c90.png)
10.100.0.0/24は前回作成したPublic VPC、10.100.1.0/24は今回作成したPrivate VPCです。

#EC2インスタンス作成
VPCとSubnet構築したら、同じくEC2インスタンスを作成可能です。

詳細は省略しますが、Step3:Configure Instance Detailsの設定だけ配置したいVPCとSubnetを選択し、Createします。
今回はPrivate VPC内にEC2インスタンスを作成するため、Internet接続なくてもよいので、Auto-assign Public IPをDisableにします。
![image5.png](https://qiita-image-store.s3.amazonaws.com/0/191079/80b68d2c-1a5b-cfb9-c5c4-c64ce8178c7b.png)
構成図にEC2が追加されます。
![image6.png](https://qiita-image-store.s3.amazonaws.com/0/191079/eb081620-ae35-0865-ab2f-640b209d30c6.png)

Private VPCにIGWもないので、EC2へのアクセスやRDPができない状態です。ここで、Peeringを作成して、sample-public-ec2を踏み台として、接続します。

#Peering作成
VPCのメニューから「Peering Connections」を押して、一覧画面を表示します。
「Create Peering Connection」ボタンでPeeringを作成します。
![image7.png](https://qiita-image-store.s3.amazonaws.com/0/191079/12d51d74-2b2f-180a-084c-fe1c3821e4c4.png)

| 項目 | 入力値 | 説明 |
|:-----------|:-----------|:-----------|
|Name tag|sample-vpc-peering|ピアリング名（任意）|
|VPC(Requester)|sample-public-vpc|ピアリング接続を作成するアカウントのVPC|
|VPC(Accepter)|sample-private-vpc|接続先のVPC|

![image8.png](https://qiita-image-store.s3.amazonaws.com/0/191079/7c416e84-42e7-310b-b935-b59b4cbe0c5f.png)
「Create Peering Connection」を押して、
![image9.png](https://qiita-image-store.s3.amazonaws.com/0/191079/f59ecd25-f2fa-eaa4-295d-8ae656e55b26.png)
この状態では、Peeringはまだ有効ではありません。

#PeeringのActive
![image10.png](https://qiita-image-store.s3.amazonaws.com/0/191079/11a84b41-d41e-b0ae-c373-00b08a599d20.png)
「Accept Request」して、初めて有効になります。

![image12.png](https://qiita-image-store.s3.amazonaws.com/0/191079/a4b4097b-4678-4af3-ed31-b221e4ba216f.png)
![image13.png](https://qiita-image-store.s3.amazonaws.com/0/191079/40e46c21-7f82-e4b4-a7e7-9aeb02eb5b5f.png)
これで構成図は変わります。
![image14.png](https://qiita-image-store.s3.amazonaws.com/0/191079/eed35d4e-d78e-6eaf-1b79-91f57680dcc1.png)
だだし、この状態だけではVPC間の接続はまだできないです。理由はルーティングテーブルは未設定です。

#ルーティングの構成
VPCのルーティングテーブルにPeeringの設定はないので、追加が必要です。
![image15.png](https://qiita-image-store.s3.amazonaws.com/0/191079/181a94a0-548a-3839-61ec-20e1921d4f33.png)
まずPublic VPCのルーティングテーブルに送信先のPrivate VPC(10.100.1.0/24)のターゲットを作成したPeering(pcx-xxxxxx)に設定
![image16.png](https://qiita-image-store.s3.amazonaws.com/0/191079/9693a73a-5e1e-cde8-f32c-d30e067d1029.png)

次にPrivate VPCのルーティングテーブルに送信先のPublic VPC(10.100.0.0/24)のターゲットを作成したPeering(pcx-xxxxxx)に設定
![image17.png](https://qiita-image-store.s3.amazonaws.com/0/191079/249742df-2f36-87f8-5d9e-ec93aff0ec36.png)
必ず両方を設定する必要があります。
![image18.png](https://qiita-image-store.s3.amazonaws.com/0/191079/7a28a331-97c5-98d1-6cd2-2da8cd563ee2.png)

#疎通確認
sample-public-ec2とsample-private-ec2を起動して、sample-public-ec2からsample-private-ec2にRDPします。
![image19.png](https://qiita-image-store.s3.amazonaws.com/0/191079/1994c188-165d-9f06-fe15-6d3942e21508.png)
成功！！！
![image20.png](https://qiita-image-store.s3.amazonaws.com/0/191079/6d0f9750-9409-5bdf-8a37-5f2a7000ca5c.png)