Transit Gateway经典应用场景

在第二节我们提到,每个Transit Gateway attachment都能绑定专有的路由表。基于这个特性可以玩出很多花样,比如将IPS/IDS部署在专有的VPC,然后用它来清洗其他VPC里的流量。本节将介绍几种类似的应用场景

统一NAT出口

在第二章我们介绍VPC基础时,提到了NAT Gateway用于给私网提供对外互联网访问。

但是假如有多个VPC,需要在每个VPC里都创建NAT Gateway,运维起来不方便

为了实现这个目的,我们可以在单独一个egress VPC里创建NAT,将其他VPC的流量使用TGW路由到该VPC。以下是架构图:

         A diagram depicting a centralized NAT gateway using Transit Gateway (overview)

每个Transit Gateway attachment在美东1 每小时0.05$;每个NAT Gateway在美东1 每小时0.045$
Transit Gateway处理每 GB 数据的价格在美东1 0.02 USDNAT Gateway处理每GB数据的价格在美东1 0.045$
综上分析,如果原来没使用TGW,上述架构比原来的更费钱——Transit Gateway attachment小时费用 >NAT Gateway小时费用。而且在数据量大的情况,由于数据额外经过TGW,会多收这部分钱

但如果原来已经有TGW了,上述架构在数据量小的场景下会省钱

下面是一个示例:

         A diagram depicting a centralized NAT gateway using Transit Gateway (route table design)(overview)

路由表的分析:

  1. 左边两个VPC的TGW路由表共用一个(Route Table 1),这个路由表将0.0.0.0/0流量送到Egress VPC,将10.0.0.0/8流量送到Blackhole,所以这两个VPC和其他VPC不能互通,这是为了安全隔离;

  2. 右边Egress VPCTGW路由表使用Route Table 2,能将回程的流量送到对应的VPC

  3. 右边Egress VPC的子网路由表将到NAT Gateway的流量转发到同一个AZ的NAT,这样可以避免跨AZ流量费用

上面在跨VPC做路由时,假设Egress VPC里在两个AZ有两个ENI,TGW会将流量送到哪一个AZ呢?
TGW不会做负载均衡,它是基于AZ affinity,只会把同一个AZ的流量送到同一个AZ,好处是避免跨AZ流量。

image-20220917154059034

实现统一的防火墙

和上面设置方案类似,如果将NAT Gateway替换成防火墙设备,就能实现统一在一个VPC里对流量进行清洗:

image-20220917154836424

但这种方式要用户自己实现EC2的高可用,另外在EC2挂掉时需要手动更新路由表。

后面我们将介绍AWS的Network Firewall产品