1.できることとできないこと##
-
できること
-
異なるVPCを接続する。
-
異なるリージョンのVPCを接続。(インターリージョンVPCペアリング)
-
複数のVPCとピアリング。
-
できないこと
-
CIDRが重複するVPC間のピアリング
-
ピアリング先のVPCがピアリングしているVPCに直接通信することはできません。
-
ピアリング先のVPCが接続しているVPN/DXを経由してオンプレミスと直接通信することはできません。
-
ピアリング先のVPCのインターネットゲートウェイ/NATデバイスを経由してインターネットに直接通信することはできません。
-
ピアリング先のVPCエンドポイントを経由してAWSリソースに直接通信することはできません。
-
リージョン間の VPC ピアリング接続では、IPv6 経由の通信はサポートされません。(リージョン内はサポートされている)
VPCピアリングは、1vs1のVPC間を接続する ので、1vsNで接続したい場合は、AWS PrivateLinkやAWS Transit Gatewayを検討する必要があります。
2.やってみる##
- 条件
- 同一アカウント
- 異なるリージョン
- EC2(VPC A) →SSH→ EC2(VPC B)
- EC2(VPC B)にパブリックIPやキーは割り当てない。
ピアリング接続の作成
VPC Aで条件のとおり、ピアリングを作成する。
作成すると、VPC Aが「承諾の保留中」になるので、
VPC Bで、「リクエストの承諾」をしてあげる。
ルートテーブル
VPC AにVPC Bへのルートテーブルを追加してあげる。TargetはVPC Bのpeering connectionを指定してあげる。
同じようにVPC BにVPC Aへのルートテーブルを追加してあげる。
セキュリティグループ
VPC BのセキュリティグループはVPC Aからのみアクセスするようにします。
接続
EC2 A にsshで接続する。
ssh -i ***.pem ec2-user@[EC2 A Public IPAddr]
ssh/configの作成。
vi ~/.ssh/config
Host EC2A
Hostname [EC2 A Public IPAddr]
User ec2-user
IdentityFile ~/.ssh/id_rsa
Host EC2B
Hostname [EC2 B Private IPAddr]
User ec2-user
IdentityFile ~/.ssh/id_rsa
ProxyCommand ssh -W %h:%p EC2A
権限変更。
chmod 600 ~/.ssh/config
EC2 B に接続する。
ssh EC2B