Transit Gatewayを試してみた

Transit Gatewayを試してみました。


どんなもの?

VPCやオンプレ間を単一のゲートウェイで相互に接続できるようにするサービスです。


構成図

aws-transit-gateway.png

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を作成します。

1_create_tg.png


3. Transit GatewayをVPCにアタッチする

続けて作成したTransit GatewayをVPC1とVPC2にアタッチします。

VPCにアタッチする際にSubnetを指定する必要がありますが

指定していないSubnetに作成したEC2からも疎通が通ることを確認するために

ここでは全てPublic Subnetを指定しておきます。

2_attach.png

VPC3は別AWSアカウントなので、Resource Access ManagerでTransit Gatewayを共有してからVPC3にアタッチします。

3_share.png


4. ルートを追加する

Transit Gateway Route Tableには、アタッチしたVPCへのルートが既に設定されています。

4_tg_rt.png

個別のVPCに対しては、自分でルートを設定する必要があります。


VPC1

4_vpc1.png


VPC2

4_vpc2.png


VPC3

4_vpc3.png


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は未対応です。そのうち対応するかなー。