亚马逊AWS官方博客
搭建DX Gateway,轻松互联全球架构
Direct Connect Gateway是什么,能做什么
您可以使用新的Direct Connect Gateway功能建立跨越多个AWS区域的虚拟私有云(VPC)的连接。 您不再需要为每个VPC建立多个BGP会话; 这可以减少您的管理工作量以及网络设备的负载。
此功能还允许您从任何直接连接位置连接到任何绑定的VPC,从而进一步降低跨区域使用AWS服务的成本。
为了使您可以有更直观的区别体验,我们可以通过下面的对比图来更好的体会一下
在没有DX Gateway之前:
需要互联VPC的话,每个VIF需要和对应VPC的VGW绑定。也就是说,有多少希望互联的VPC,就需要维护多少VIF到VGW的链路。并且如果需要互联的VPC是跨region的,那么就需要多条AWS DX链路。这就意味着更多的DX代理商,更多的沟通时间,更多的维护成本。
下图标注出了,有两个不同的region资源(us-west-1和us-east-1)的客户Account-0希望通过DX来给其下面的子账号Account-1和Account-2分别分配DX VIF,使其可以更快的访问放在us-west-1和us-east-1的VPC资源。这就需要用户分别在这两个region找DX partner开启DX服务,并且针对每个VPC创建一个VIF连接。
有DX Gateway之后:
每个DX Gateway都是跨所有公共AWS区域存在的全局对象。这就使得所有的AWS全球区域之间可以通过网关进行的所有通信,而这类全球通信是通过AWS网络骨干进行保障的。
和上述同样的需求,我们来看看有DX Partner的情况会怎么样。Account-0账户只需要在最近的region,比如us-west-1申请一个DX专线。再创建一个AWS Global全局的DX Gateway。分别分配给account-1和account-2账户一个VIF连接DX Gateway,再将希望访问的VPC直接和DX Gateway绑定就解决了。
总结一下DX Gateway的作用: 在只需要拉一条DX专线的情况下,可以通过DX Gateway和全球region的VPC进行互通。就是这么简单。下面就让我们来亲手搭建一个互通全球region的DX Gateway,享受AWS给我们带来的网络便捷
使用DX Gateway实现不同region内的VPC互通
0. 网络架构图
通过创建DX Gateway并绑定至VIF来做到多个region的VPC互通的步骤如下:
- 创建DX Gateway并同步到所有region
- 绑定VIF到DX Gateway
- 配置本地路由器和DX Gateway形成BGP邻居
- 将其他region的VPC绑定的VGW和DX Gateway进行绑定,并打开路由汇聚
- 测试本地路由器和各个region的VPC中的EC2的连通性
1. 实际创建DX Gateway
在日本region创建DX Gateway
日本区域出现DX Gateway
一段时间之后在其他region,比如Singapore也会出现DX Gateway。因为DX Gateway是一个全球的资源,所以当一个Region申请DX Gateway时,其他区域也会自动创建DX Gateway
2. 绑定Private VIF到DX Gateway
2.1 直接申请1G/10G的情况,从DX connection开始创建
因为DX Connection无法在测试时申请,所以我这里截屏的是blog上的链接图片:https://amazonaws-china.com/cn/blogs/aws/new-aws-direct-connect-gateway-inter-region-vpc-access/
创建Private VIF,绑定到特定的DX Gateway上。
创建Private VIF,可以选择绑定特定的VGW或者DX Gateway。并且还是需要绑定VLAN和BGP ASN
2.2 申请sub 1G/10G的情况,从VIF配置界面更改
最终用户点击接受上层用户给予的VIF,并且选择绑定到DX Gateway
绑定之后,查看VIF的状态,发现其Amazon Side的ASN号和DX Gateway的一致
VIF信息:
DX Gateway信息:
3. 配置本地路由器和AWS侧建立BGP邻居
按照VIF的VLAN和IP地址信息,配置本地路由器的接口。注意接口的VLAN号码需要和VIF接口的一致才能连接。 做完配置之后,先确定链路级别可以ping通。
在可以ping通对端AWS接口IP之后,配置BGP,注意本地AS号是对应VIF的BGP ASN,而remote-as号是对应Amazon Side ASN。配置完毕之后,BGP邻居就会up
在本地路由器上查看BGP邻居信息,检查BGP邻居是否建立
4. 在各个region将希望互通的VPC对应的VGW绑定到DX Gateway上
本地Region的DX Gateway可以绑定本地的VGW
各个Region只能添加自己Region下的VGW
当状态转换为associated时,无论您的VPC驻留在哪个AWS区域,流量都可以通过AWS Direct Connect连接在您的本地网络和VPC之间流动。
在DX Gateway的总界面下,可以看见Global体系下所有加入这个DX Gateway的来自不同region的VGW信息
查看BGP路由表,发现VPC的路由已经传递到本地路由器,其中172.16.0.0/16来自Tokyo,而172.31.0.0/16来自于Singapore
打开Tokyo和Singapore路由表的路由汇聚,让本地数据中心路由可以从VGW灌入VPC本地路由表
查看Tokyo的路由表,有来自VGW的本地数据中心路由
查看Singapore的路由表,有来自VGW的本地数据中心路由
5. 测试本地数据中心到Tokyo和到Singapore的连通性
本地数据中心到Tokyo
本地数据中心到Singapore
至此可以看到,用户可以仅通过创建一个private VIF接口就可以同时访问东京和新加坡的VPC内的EC2主机。
绑定Public VIF到DX Gateway
您现在可以创建公共虚拟接口(Public VIF),通过该接口,您可以通过直接连接访问任何AWS区域(AWS中国区域除外)中运行的AWS服务的公共服务终端(Public Endpoint)。 这些接口通过BGP接收亚马逊的全球IP路由。 您可以在直接连接控制台中创建这些接口,如下图所示:
作者介绍
姚远,AWS解决方案架构师,负责基于AWS的云计算方案架构的咨询和设计,同时致力于AWS云服务在国内的应用和推广。现致力于网络和DevOps相关领域的研究。在加入AWS之前,在思科中国担任系统工程师,负责方案咨询和架构设计,在企业私有云和基础网络方面有丰富经验。