连通STG、PRD、DEV VPC

上一节创建的四个VPC对应的工作负载如下:

  • IT Control Tower : Seoul-VPC-HQ (HQ = headquarter)
  • Production Workload : Seoul-VPC-PRD
  • Staging Workload : Seoul-VPC-STG
  • Dev Workload : Seoul-VPC-Dev

它们的IP段如下:

image-20231206212513560

连接STG和DEV

由于Seoul-VPC-STGSeoul-VPC-DEV 的CIDR 已经在东西向传播,因此无需在TGW 中进行工作。但由于每个VPC内没有配置路由表,因此它们之间是不相连的(两个vpc的安全组已经放开)。

通过在终端中运行 ping 测试以验证从DEV 到 STG的连接。

aws ssm start-session --target $Seoul_VPC_DEV_Private_10_3_21_101 --region ap-northeast-2
sudo -s
##From Seoul-VPC-DEV-Private-10.3.21.101
ping SEOUL-VPC-STG-Private

image-20231206212112444

执行以下命令,并测试从STG 到 DEV 的ping :

aws ssm start-session --target $Seoul_VPC_STG_Private_10_2_21_101 --region ap-northeast-2
sudo -s
ping SEOUL-VPC-DEV-Private

image-20231206212213837

两个vpc都不通,因为每个VPC内都没有配置路由表。

检查并修改下面的路由:

Seoul-VPC-STG-Private-Subnet-A-RT

场景1_1

Destination 0.0.0.0/0 - Target NAT Gateway修改为 TGW,然后选择Save Changes

场景1_2

Seoul-VPC-DEV-Private-Subnet-A-RT以同样的方式更改路由表,0.0.0.0/0 流量改为前往 TGW:

场景1_5

现在,检查之前执行的 STG 和 DEV 每个实例的 ping 是否正常处理。

##From Seoul-VPC-DEV-Private-10.3.21.101
ping SEOUL-VPC-STG-Private
##From Seoul-VPC-DEV-Private-10.2.21.101
ping SEOUL-VPC-DEV-Private

ping 测试结果示例如下:

image-20231206212820307

连接到PRD

Dev和Stage环境中的所有准备工作已经完成,现在将其连接到Production。

与上面的场景1类似,如果只更改Production中的路由表,则Production、Staging和Dev都会连通。


连接到PRD VPC的实例:

aws ssm start-session --target $Seoul_VPC_PRD_Private_10_1_21_101 --region ap-northeast-2
sudo -s

ping DEV VPC:

##From Seoul-VPC-PRD-Private-10.1.21.101
ping SEOUL-VPC-DEV-Private

Ping STG VPC:

##From Seoul-VPC-PRD-Private-10.1.21.101
ping SEOUL-VPC-STG-Private

都Ping不通,因为PRD VPC内没有路由。

编辑PRD的路由表:

Seoul-VPC-PRD-Private-Subnet-A-RT

更改完成后:

image-20231206213414073

现在,检查之前执行的每个实例的 ping 是否正常处理。

##From Seoul-VPC-PRD-Private-10.1.21.101
ping SEOUL-VPC-DEV-Private
##From Seoul-VPC-PRD-Private-10.1.21.101
ping SEOUL-VPC-STG-Private

image-20231206213449145

现在,STG、DEV、PRD三个VPC均已连通。

处理Blackhole

如果暂时阻止 PRD / DevSTG(10.2.21.101)之间的连接。该怎么做呢?

Transit Gateway 具有blackhole功能,类似于传统网络设备中的空路由。它会隔离某些路由表,防止它们通过 Transit Gateway。

选择VPC - Transit gateway - Transit gateway route tables, 选择Seoul-TGW-RT-East-To-WestRouteTable,然后选择选项Route卡。

场景2_4

选择Create Static Route并隔离STGVPC的IP,如下所示:

image-20231206214405893

image-20231206214444096

从终端再次尝试PRD -> STG的 ping 操作:

aws ssm start-session --target $Seoul_VPC_PRD_Private_10_1_21_101 --region ap-northeast-2
sudo -s
##From Seoul-VPC-PRD-Private-10.1.21.101
ping SEOUL-VPC-STG-Private

image-20231206214922615

此时由于 Blackhole 配置ping不通。

完成实验后将Blackhole删除。