Transit Gatewayを試してみました。
どんなもの?
VPCやオンプレ間を単一のゲートウェイで相互に接続できるようにするサービスです。
構成図
| VPC | public/private | Subnet CIDR | EC2 | EC2 IP |
|---|---|---|---|---|
| VPC1 | public | 10.10.0.0/24 | EC2① | 10.10.0.210 |
| VPC1 | public | 10.10.1.0/24 | ||
| VPC1 | private | 10.10.10.0/24 | ||
| VPC1 | private | 10.10.11.0/24 | EC2② | 10.10.11.200 |
| VPC2 | public | 10.20.0.0/24 | ||
| VPC2 | public | 10.20.1.0/24 | EC2③ | 10.20.1.4 |
| VPC3 | public | 10.30.0.0/24 | EC2④ | 10.30.0.152 |
| VPC3 | public | 10.30.1.0/24 |
1. VPC・Subnet・EC2を作成する
構成図にあるVPC・Subnet・EC2を作成します。
全て同じリージョンに作成する必要があります。
2. Transit Gatewayを作成する
VPCのコンソールからTransit Gatewayを作成します。
3. Transit GatewayをVPCにアタッチする
続けて作成したTransit GatewayをVPC1とVPC2にアタッチします。
VPCにアタッチする際にSubnetを指定する必要がありますが
指定していないSubnetに作成したEC2からも疎通が通ることを確認するために
ここでは全てPublic Subnetを指定しておきます。
VPC3は別AWSアカウントなので、Resource Access ManagerでTransit Gatewayを共有してからVPC3にアタッチします。
4. ルートを追加する
Transit Gateway Route Tableには、アタッチしたVPCへのルートが既に設定されています。
個別のVPCに対しては、自分でルートを設定する必要があります。
VPC1
##### VPC2
##### VPC3
5. 疎通をテストする
各EC2のセキュリティーグループを編集し各VPCのCIDRからのsshを許可した後、EC2間でsshの疎通を確認します。
EC2②は、Transit GatewayをVPC1にアタッチする際に指定したサブネット(Public Subnet)でないサブネット(Private Subnet)にありますが、ちゃんと疎通が通ることが確認できます。
EC2① → EC2③
[ec2-user@ip-10-10-0-210 ~]$ ssh -i *****.pem ec2-user@10.20.1.4
__| __|_ )
_| ( / Amazon Linux 2 AMI
___|\___|___|
https://aws.amazon.com/amazon-linux-2/
[ec2-user@ip-10-20-1-4 ~]$
EC2① → EC2④
[ec2-user@ip-10-10-0-210 ~]$ ssh -i *****.pem ec2-user@10.30.0.152
__| __|_ )
_| ( / Amazon Linux 2 AMI
___|\___|___|
https://aws.amazon.com/amazon-linux-2/
[ec2-user@ip-10-30-0-152 ~]$
EC2② → EC2③
[ec2-user@ip-10-10-11-200 ~]$ ssh -i *****.pem ec2-user@10.20.1.4
__| __|_ )
_| ( / Amazon Linux 2 AMI
___|\___|___|
https://aws.amazon.com/amazon-linux-2/
[ec2-user@ip-10-20-1-4 ~]$
EC2② → EC2④
[ec2-user@ip-10-10-11-200 ~]$ ssh -i *****.pem ec2-user@10.30.0.152
__| __|_ )
_| ( / Amazon Linux 2 AMI
___|\___|___|
https://aws.amazon.com/amazon-linux-2/
[ec2-user@ip-10-30-0-152 ~]$
雑感
VPC peeringはリージョン間の接続に対応していますが、Transit Gatewayは未対応です。そのうち対応するかなー。
