上一节创建的四个VPC对应的工作负载如下:
它们的IP段如下:
由于Seoul-VPC-STG
和Seoul-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
执行以下命令,并测试从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
两个vpc都不通,因为每个VPC内都没有配置路由表。
检查并修改下面的路由:
Seoul-VPC-STG-Private-Subnet-A-RT
将Destination 0.0.0.0/0 - Target NAT Gateway
修改为 TGW,然后选择Save Changes
。
Seoul-VPC-DEV-Private-Subnet-A-RT
以同样的方式更改路由表,0.0.0.0/0
流量改为前往 TGW:
现在,检查之前执行的 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 测试结果示例如下:
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
更改完成后:
现在,检查之前执行的每个实例的 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
现在,STG、DEV、PRD
三个VPC均已连通。
如果暂时阻止 PRD / Dev
和 STG(10.2.21.101)
之间的连接。该怎么做呢?
Transit Gateway
具有blackhole功能,类似于传统网络设备中的空路由。它会隔离某些路由表,防止它们通过 Transit Gateway。
选择VPC - Transit gateway - Transit gateway route tables
, 选择Seoul-TGW-RT-East-To-West
RouteTable,然后选择选项Route
卡。
选择Create Static Route
并隔离STG
VPC的IP,如下所示:
从终端再次尝试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
此时由于 Blackhole 配置ping不通。
完成实验后将Blackhole删除。