阻止VPC间访问

假设

根据本实验刚开始所定义的假设,有些 VPC 之间需要禁止访问。例如:

Speficy Details Screenshot

  1. 非生产网络环境(Non-Prod VPC1 及 Non-Prod VPC2 ) 不能访问 生产环境网络 (Production VPC1)
  2. 生产环境网络 (Production VPC1) 也 不能访问 非生产网络环境(Non-Prod VPC1 及 Non-Prod VPC2 )
  3. 非生产网络环境(Non-Prod VPC1 及 Non-Prod VPC2 ) 的实例如果要访问 Internet, 必须经过Transit gateway 并经过 DatacenterService VPC 中位于 public subnet 的 NAT Gateway作为出口。
  4. 生产环境网络 (Production VPC1) 的实例如果要访问 Internet, 必须经过 DatacenterService VPC 中位于 public subnet 的 NAT Gateway作为出口。
  5. 本地数据中心网络(DataCenter VPC) 的服务器 必须经过Transit gateway访问 其他网络资源。

当前网络配置

根据当前网络配置,Non-Prod VPC1 同 Production VP1 之间还是可以访问。连通示意如下:

阻止VPC间访问

需要阻止非生产网络环境(Non-Prod VPC1 及 Non-Prod VPC2 ) 不能访问生产环境网络 (Production VPC1)

解决方法:当如果我们想阻止Non-Prod VPC1 同 Production VP1之间的访问,我们需要在 Transit gateway route table 中设置 Blackhole 规则。

设置 Blue Route Table

  1. 在AWS管理控制台选择“Services”,然后选择“VPC”。

  2. 从左边的菜单中,向下滚动并选择Transit gateway route table。 点击链接 https://us-east-2.console.aws.amazon.com/vpc/home?region=us-east-2#TransitGatewayRouteTables:sort=transitGatewayRouteTableId

  3. 从主面板的表中选择Blue Route Table。让我们看看底部,然后点击Routes标签。

  4. 查看现有的路由,看到0.0.0.0/0路由,它将数据从 No-prod VPC 发送到Datacenter Service VPC。让我们设置路由进行阻止。

点击 [Create staticTable] 按钮。

  1. 在[“Create static Table”]界面,对于CIDR输入10.16.0.0/13,勾选BlackHole旁边的复选框。这将阻止任何目的地为Non-Product vpc的流量。这是因为TGW查找最特定的匹配路由,而/13比/0路由更精确匹配。

点击 [Create static route] 按钮。 至此,已经设置 Production VPC1 到 Non-Prod VPC1 方向的访问。

设置 Blue Route Table

选择 [Red Route Table]记录。 点击 Create Static Route 按钮。在“Create static Table”界面,对于CIDR输入 10.8.0.0/13 ,勾选BlackHole旁边的复选框。

点击 Close 按钮关闭。

至此,已经设置 Non-Prod VPC1 到 Production VPC1 方向的访问。

测试连通性

期望 从 Non-Prod VPC1 的 EC2 实例无法访问到 Production VPC1EC2 实例。 点击 https://us-east-2.console.aws.amazon.com/systems-manager/session-manager?region=us-east-2 选择左侧的 session manager, 继续选择 NP1-tgw-Server 点击 Start session 按钮。 在 session manager 的 console 中输入

ping 10.8.22.100

系统只输出

PING 10.8.22.100 (10.8.22.100) 56(84) bytes of data.

输入 ctrl+x 终止当前进程。出现如下输出

PING 10.8.22.100 (10.8.22.100) 56(84) bytes of data.
^C
--- 10.8.22.100 ping statistics ---
3 packets transmitted, 0 received, 100% packet loss, time 2030ms

说明已经成功的阻止 Non-Prod VPC1 到 Production VPC1 的访问。