AWS Transit Gateway实践与使用场景的思考 – 作者:ZhiXian

AWS Transit Gateway是一项服务,可以将用户的 AmazonVirtual Private Clouds (VPC) 和本地网络连接到一个网关(AWS TransitGateway简称TGW,下文会混用这两个词,但实质就是一样的意思)。随着 AWS 上运行的工作负载数量不断增加,必须能够跨多个账户和 Amazon VPC 扩展您的网络,才能跟上发展步伐。现在,您可以使用对等连接 Amazon VPC 对。但是,如果无法集中管理连接策略,那么管理众多 AmazonVPC 之间的点对点连接会带来高昂运营成本而且十分繁琐。当 VPC 数量增加到数百时,构建此解决方案可能非常耗时,而且难以管理。

借助 AWS Transit Gateway,只需创建和管理一条连接,这条连接从中央网关连接到您网络中的每个 Amazon VPC、本地数据中心或远程办公室。Transit Gateway 充当中心,控制流量在所有连接的网络(相当于辐射网络)之间的路由方式。这种中心和辐射模型大大简化了管理工作并降低了运营成本,因为每个网络只需连接到 Transit Gateway,而无需连接到其他所有网络。任何新的 VPC 只需连接到 Transit Gateway,便可自动与连接到 Transit Gateway 的其他所有网络建立连接。这种连接的简便性可以随着网络发展轻松扩展网络。

TGW可以支持同一Region里的VPC互联,也可以跨Region进行VPC互联,同时也支持VPN的互联,下文中的实践是基于同一Region里的VPC互联,之后会再继续编写跨Region与VPN互联的实践方案。

PS:TGW之前在AWS中国平台上还没有这项服务,但前不久发现在AWS中国里也支持此项目功能了,但只支持VPC的互联,应该暂时还不支持跨Region的Peering Connection与VPN模式。因此本次只基于VPC的互通,考虑到访问速度的原因使用的平台是AWS中国。

在没有使用TGW时,如果有多个VPC需要进行互联,拓扑如下,每个VPC之间都需要建立对等连接,增加了扩展难度。同时如果在VPC数量非常庞大的情况下配置将会非常的复杂,管理起来也很混乱。

如果使用了TransitGateway方案后将会简化很多,形成一个VPC间的Hub-Spoke架构,只需将各个VPC连接至AWS Transit Gateway,该服务就会在各个VPC之间路由流量了,简化了VPC连接方式,拓扑如下:

我们可以把此拓扑再演变一下,如下图:

通过一些相关配置可以实现所有VPC1~VPC4都可以访问Share_VPC,同时仍然保持VCP1~VPC4之间的隔离性。

应用场景

全网VPC互连

构建跨数千个VPC的应用程序,无需承担管理分布式网络的运营负担。通过对等连接和管理成百上千个 VPC 需要大量路由表,这很难部署、管理,并且容易出错。现在,要配置的路由要少得多,因为您只需配置到 AWS Transit Gateway 的路由,而不是到每个 VPC 的路由。

应用共享

可以在所有 Amazon VPC 之间轻松共享 AWS 服务,如 DNS、ActiveDirectory 和 IPS/IDS。

负载均衡

TGW支持负载均衡,当需要高带宽连接时,TGW还支持ECMP负载均衡模式,来提供链路带宽,轻松满足带宽扩容能力。

安全防护

任何VPC之间的访问都必须通过TGW路由至一个安全VPC(可以在里面部署防火墙、WAF等安全设备)进行中转,以此来进行安全防护功能。

集中审计与管理

可以单独部署一个集中审计与管理的VPC,通过TGW与所有VPC进行连接,此时可以方便的进行日志审计与集中管理,对于一些态势感知或是SIEM等应用也同样适应。

蜜罐部署

把蜜罐放置在一个公共VPC中,通过TGW可以让所有VPC都可以访问部署了蜜罐的VPC,以此解决连接性问题。

AWS TransitGateway配置实战

网络拓扑:

实验目的:

在实现VPC1与VPC2安全隔离的同时都可以访问VPC_Core里的实例。

配置步骤

VPC配置(配置略),配置了3个VPC,分别为VPC1、VPC2、VPC_Core

基于VPC分别创建相应的VPC子网(配置略)

分别为每个VPC创建相应的IGW,并且配置IGW的缺省路由,以使其可以访问Internet(配置略)

VPC1的IGW路由配置

VPC2的IGW路由配置

VPC_Core的IGW路由配置

创建EC2实例

分别在VPC1与VPC2里创建两个EC2实例,在VPC_Core里创建一个EC2实例

EC2实例标签与私网地址如下:

VPC1_Subnet1_EC2A:192.168.0.151

VPC1_Subnet2_EC2A:192.168.1.20

VPC2_Subnet1_EC2A:172.16.0.250

VPC2_Subnet2_EC2A:172.16.1.81

VPC_Core_EC2A: 10.1.1.14

创建TGW(TransitGateways)

等待TGW状态从pending变为available后,则说明TGW创建完成

Transit Gateway Attachments

把新创建的TGW与VPC进行关联

分别把所有VPC与TGW进行关联。等待Attachment变化available后则说明生效。

TGW路由配置

通过路由表的配置实现VPC1、VPC2与VPC_Core的互连,同时保持VPC1与VPC2的隔离。

增加VPC1路由表的配置,使VPC1可以访问VPC_Core 10.1.1.0/24网段。

同理,添加VPC2至VPC_Core10.1.1.0/24的TGW路由

添加VPC_Core至VPC1 192.168.0.0/16与VPC2 172.16.0.0/16的TGW路由

到此所有配置完成,查看TGW的TransitGateway route Tables的路由表,TGW里有至所有VPC(VPC1、VPC2)的路由,由此可以实现VPC间Hub-Spoke的连接,但是VCP1与VPC2的路由表里只有至VPC_Core的路由。

*本文作者:ZhiXian,转载请注明来自FreeBuf.COM

来源:freebuf.com 2020-02-19 09:00:26 by: ZhiXian

© 版权声明
THE END
喜欢就支持一下吧
点赞0
分享
评论 抢沙发

请登录后发表评论