在Account B中创建 Transit Gateway attachment,在VPC - Transit Gateway - Transit Gateway Attachment
创建:
Name Tag设置为Seoul-TGW-Attach-Seoul-VPC-PART
;VPC选择Seoul-VPC-PART
,选择对应的子网,点击创建:
等待一段时间后,状态由Pending变为Available:
由于Account B 访问到了共享 TGW,因此它可以为该资源创建Attachment。
但路由表由原始所有者控制。现在要转到原来的帐户并进行设置。
TGW和路由表资源均归原始帐户所有。因此,关联路由表是在原始帐户中配置的。
在tgw route table中选择Seoul-TGW-RT-East-To-West
路由表,创建association:
选择并添加Account B帐户的Transit Gateway attatchment(可以从现有attachment中看到具有不同帐户 ID):
等待关联成功:
选择VPC - Transit Gateway - Transit Gateway route tables - Propagations
并传播Seoul-VPC-PART:
检查传播是否正常:
选择VPC - Transit Gateway - Transit Gateway route tables - Route
并检查路由是否正常添加:
我们来看看Account B账户是否可以通过TGW连接到Account A的DEV和STG VPC。
在Account B中搜索Seoul-VPC-PART-Private-10.4.21.101
实例 ID,如下所示:
./aws_ec2_ext.sh |grep "Seoul-VPC-PART-Private-10.4.21.101"
连接到Seoul-VPC-PART-Private-10.4.21.101
实例:
aws ec2 describe-instances --filters 'Name=tag:Name,Values=Seoul-VPC-PART-Private-10.4.21.101' 'Name=instance-state-name,Values=running' | jq -r '.Reservations[].Instances[].InstanceId'
export Seoul_VPC_PART_Private_10_4_21_101=$(aws ec2 describe-instances --filters 'Name=tag:Name,Values=Seoul-VPC-PART-Private-10.4.21.101' 'Name=instance-state-name,Values=running' | jq - r '.Reservations[].Instances[].InstanceId')
echo "export Seoul_VPC_PART_Private_10_4_21_101=${Seoul_VPC_PART_Private_10_4_21_101}"| tee -a ~/.bash_profile
source ~/.bash_profile
aws ssm start-session --target $Seoul_VPC_PART_Private_10_4_21_101
使用以下命令检查是否可以连接到Seoul-VPC-DEV,STG 实例。
sudo -s
echo 10.0.21.101 SEOUL-VPC-HQ-Private >> /etc/hosts
echo 10.1.21.101 SEOUL-VPC-PRD-Private >> /etc/hosts
echo 10.2.21.101 SEOUL-VPC-STG-Private >> /etc/hosts
echo 10.3.21.101 SEOUL-VPC-DEV-Private >> /etc/hosts
echo 10.4.21.101 SEOUL-VPC-PRT-Private >> /etc/hosts
echo 10.5.21.101 IAD-VPC-Private >> /etc/hosts
ping SEOUL-VPC-DEV-Private
可以看到 ping 不通, 这是因为VPC路由表中没有路由。
现在,要从Seoul-VPC-PART 到Seoul-VPC-DEV 和Seoul-VPC-STG 进行通信,要配置路由。
选择VPC - Route tables
搜索Seoul-VPC-PART-Private-Subnet-A-RT
并编辑路由表:
到0.0.0.0/0
的路由更新为到tgw:
现在检查从Seoul-VPC-PART-Private-10.4.21.101
到DEV ,STG, PRD
的流量:
ping SEOUL-VPC-DEV-Private
ping SEOUL-VPC-STG-Private
ping SEOUL-VPC-PRD-Private
我们看到从Seoul-VPC-PART
也能访问Seoul-VPC-PRD
。这是因为我们在将到0.0.0.0/0
的目标配置为 TGW。如果需要加强安全性,可以通过将VPC的CIDR处理为静态路由而不是传播来控制访问
我们现已完成同一地区的多账户 TGW 集成。通过Propagation
和静态路由的组合,可以配置各种设计来增强 VPC 隔离和安全性