亚马逊AWS官方博客
采用亚马逊云科技Cloud WAN实现区域间网络互连
什么是亚马逊云科技Cloud WAN?
多年来,我们观察到客户使用亚马逊云科技网络的方式发生了变化。客户希望降低网络基础设施的复杂性,以便他们可以专注于核心业务和其他优先事项。
亚马逊云科技Cloud WAN是一个托管的全球广域网服务。通过亚马逊云科技Cloud WAN,客户可以轻松的构建辐射全球的广域网络,从全球任意位置连接客户的数据中心、分支机构、多云,以及多个区域的亚马逊云科技资源,并且通过集中的控制面板和灵活的网络策略进行一站式管理。同时,Cloud WAN还提供一个全球网络视图,可以帮助客户监控部署在全球的不同网络资源,以及这些资源的安全、健康状况、性能等,见图1。
图1 Cloud WAN解决方案
亚马逊云科技目前共有十个区域支持Cloud WAN服务(注:本文发布时,Cloud WAN服务尚在Preview阶段,不建议在生产环境中部署使用)。在这些区域进行跨区域VPC互连就可以利用到Cloud WAN的统一控制平台、区域间自动建立对等连接、路由自动分发等优点。本文将选择Singapore、Frankfurt、N.Virginia三个区的VPC通过Cloud WAN实现互连,并且利用Cloud WAN的Segment功能实现不同应用下的VPC网络访问分隔的效果。
Cloud WAN的控制平台在Network Manager下,为Global界面,因此在配置不同区域的参数时不需要切换到各个区域的控制面板下。Cloud WAN网络核心被称为Core Network,每个区域中的Cloud WAN组件被称为Core Network Edge(CNE),区域互连的核心就是CNE组件间的互连。CNE的Attachment模式有:VPC、VPN和Connect。区域中的VPC通过VPC Attachment模式连接到本区的CNE上,通过CNE间的eBGP路由协议交换VPC网段的路由可达信息。
Cloud WAN支持Network Segment,Segment功能引入了广域网多租户的概念,类似MPLS VPN中为不同的租户或应用构建独立的虚拟网络。利用这个功能,本文为App和DevOps两个应用分别设计两个Segment:cloudwanappseg和cloudwandevopsseg。其中cloudwanappseg跨越Singapore、Frankfurt、N.Virginia三个区域;cloudwandevopsseg跨越N.Virginia和Singapore区域。设计目标:属于同一Segment下的VPC间可以通讯,分属于不同Segment的VPC间无法通讯。
Cloud WAN网络设计和实现步骤
1. 参数设计
在实现Cloud WAN连接时需要事先设计CNE的CIDR网段IP地址以及CNE的BGP ASN,在使用Network Segment的情况下还需要规划好每个Segment的VPC归属,具体参数见表1。
表1 Singapore、Frankfurt、N.Virginia区参数设计
Frankfurt区相关参数: | N.Virginia区相关参数 | Singapore区相关参数: |
CNE CIDR: 10.22.22.0/24 CNE BGP ASN: 64532 FKFAppVPC(App Segment) CIDR: 172.30.0.0/16 |
CNE CIDR: 10.22.20.0/24 CNE BGP ASN: 64530 NVGAppVPC (App Segment) CIDR: 172.51.0.0/16 NVGDevopsVPC (DevOps Segment) CIDR: 172.29.0.0/16 |
CNE CIDR: 10.22.21.0/24 CNE BGP ASN: 64531 SGPAppVPC (App Segment) CIDR: 172.26.0.0/16 SGPDevopsVPC (DevOps Segment) CIDR: 172.31.0.0/16 |
三个区域通过Cloud WAN互连设计见图2。
图2 Cloud WAN的VPC跨区域互连
2. 进入Cloud WAN界面并创建Core Network Policy
首先在亚马逊云科技控制台中启用Cloud WAN,在支持Cloud WAN的十个区域中任选一个,在VPC控制面板左栏选择AWS CLOUD WAN并点击Network Manager进入Cloud WAN的设计配置平台,见图3。
图3 Cloud WAN控制平台入口
亚马逊云科技于2021年12月推出的Network Manager控制平台将跨区域的网络配置进行统一纳管,包括Core Network和TGW网络。创建Global Network,见图4。Global Network是根级别的专用网络单元,包含Transit Gateway网络和Core Network网络,本文设计实现对象为Global Network下的Core Network。
图4 创建Global network
点击创建完成的Global network ID进入Core Network的配置并创建Core Network policy,见图5。Core Network Policy包括对网络和Segment的配置,Policy支持版本控制,支持配置版本的删除和回滚等操作。
图5 创建Core Network策略
在Core Network策略配置中启用并配置CNE和相关的网络参数,选择需要加入Cloud WAN的Singapore区、Frankfurt区和N.Virginia区以启用CNE,并输入BGP的ASN和CIDR网段参数。每个参与Cloud WAN的区域可以在策略配置中指定ASN范围中以及CIDR网段中自动获得唯一的ASN和CIDR子网段,也可以静态指定,见图6。
图6 在Policy中进行网络配置
然后在Policy配置界面下点击“Segments”页面卡,创建App和DevOps两个Segment,并指定每个Segment所包含的区域,见图7。
图7 在Policy中创建Segment
CNE Attachment类型有VPC、VPN和Connect。Cloud WAN会使用标签自动将CNE Attachment与Policy中定义的Segment相关联。可以选择使用两种方法将CNE Attachment映射到Segment:通过将资源(比如VPC ID)映射到Segment;或者使用CNE Attachment上的标签。本文将采用后一种方式。
在Policy配置界面下点击“Attachment Policy”页面卡,为DevOps Segment创建规则。为“Rule number”输入唯一的值,“Attach to Segment”的值填入之前创建的名为“cloudwandevopsseg”的Segment,创建Attachment条件匹配的标签Key/Value值为Environment/devops。见图8。
图8 在Policy中为VPC创建Segment Attachment Policy
本文创建两个Segment attachment policy,App Segment的创建方法同上,需注意的是Rule number值须与DevOps Segment的Rule number值不同,条件匹配的Key/Value本文设置为Environment/cloudwanappseg。VPC Attachment标签的 Key/Value值将决定该VPC所加入的Segment,见图9。缺省情况下,只有同一个Segment下的VPC才能互相通讯。
图9 创建完成的Segment Policy
3. 将各区域的VPC挂载到CNE上
在Cloud WAN控制面板下创建CNE Attachment,见图10。
图10 在Cloud WAN控制面板下创建Attachment
本设计中利用VPC Attachment将参与Cloud WAN的三个区域中的VPC Attach到CNE上。
首先创建CNE的VPC Attachment,本文将创建5个VPC Attachment,它们是 Singapore区域分别属于App和DevOps两个segment的VPC、N.Virginia区域分别属于App和DevOps两个segment的VPC以及Frankfurt区域中属于App segment的VPC。以Singapore区域的SGPAppVPC Attachment为例,配置如图11所示。其中Tags配置中Key/Value为: Environment/cloudwanappseg,根据前文Segment Attachment policy的定义,名为“SGPAppVPC”的VPC将加入cloudwanappseg(App)Segment中。
配置完成后,Cloud WAN将为Singapore、Frankfurt、N.Virginia区域中配置了CNE Attachment的VPC自动建立网络连接,各区域的CNE通过eBGP路由协议自动交换VPC网段的路由可达信息。在Network Manager控制面板下,可以看到Cloud WAN网络的拓扑,见图12。
4. 为VPC路由表静态添加路由项
在各区域的VPC所关联的路由表中添加需要访问的目的VPC的CIDR网段,网关指向CNE。如:在Singapore区域中与名为SGPAppVPC的VPC关联的路由表中静态添加到Frankfurt、N.Virginia区域相关VPC的CIDR网段,网关指向Singapore的CNE,见图13。其他区域配置方法相同。
5. 实现结果验证
在Network Manager控制面板下选择Core Network的路由页面卡。查看两个Segment下对应的各区域CNE学习到的路由项,其中App Segment中Frankfurt区通过BGP学习到的路由项见图14。
图14 App Segment中Frankfurt CNE路由表
App Segment中N.Virginia区和Singapore区的CNE学习到的路由项见图15。
图15 App Segment中Singapore和N.Virginia CNE路由表
DevOps Segment中包含Singapore和N.Virginia区DevOps应用相关的VPC网段,分别查看两区的CNE路由表,见图16。
图16 DevOps Segment中Singapore和N.Virginia CNE路由表
采用ping测试验证App Segment的N.Virginia区和Singapore区之间、N.Virginia区和Frankfurt区之间VPC内EC2主机实例的连通性,结果见图17。
采用ping测试验证DevOps Segment中的N.Virginia区和Singapore区之间VPC内EC2主机实例的连通性,结果见图18。
图18 DevOps Segment中VPC内EC2实例间连通测试
通过上述测试可以验证实现结果达到设计预期,能够满足要求。
另外,在Core Network控制面板下还可以通过Topology graph页面卡(图19)和Topology tree页面卡(图20)直观的查看Cloud WAN网络中的CNE、VPC Attachment以及Segment信息和这些组件之间的逻辑关系。
图19 通过Topology graph查看Cloud WAN网络
图20 通过Topology tree查看Cloud WAN网络的逻辑结构
小结
通过上述Cloud WAN网络的设计和实现,我们可以看到Cloud WAN网络服务利用亚马逊云科技的全球骨干网,在区域之间方便的构建广域网连接,只须在基于浏览器的Cloud WAN控制界面上轻点鼠标,输入参数即可实现具有应用隔离等策略的广域网部署。同时,统一的图形化配置管理界面还提供了拓扑管理、配置版本管理、事件管理和监控等功能,对于用户来说,这无疑简化了网络管理并提高了运营效率。