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