一、背景
Direct Connect是AWS的专线接入服务,主要场景:
- 连接客户IDC与AWS云
- 连接其他云厂家与AWS云
- 连接AWS中国和AWS海外区域
Direct Connect涉及网络知识较多,名词和术语多,配置步骤复杂。其中一个相对很难学习的地方在于Direct Connect无法自助学习配置,当没有真实专线连接的时候,Direct Connect云端界面无法完全模拟所有操作,因此给动手实验带来很大的困难。针对这个问题,本文将Direct Connect主要配置流程和方法进行梳理,并辅以截图进行讲解。
本文相关步骤和截图在独立账号下进行,不包含任何客户真实信息。对照本文流程,可以完成Direct Connect专线的连接工作。
二、方案设计
1、关键名词
在Direct Connect界面上有一些英文术语,这里汇总如下。
为配置过程的技术称呼统一,建议将AWS控制台调整为英文界面进行配置。
- Region:云的区域
- VPC:云上VPC虚拟网络
- IP CIDR:IP地址范围
- 专线服务:Direct Connect(缩写DX)
- 专线线路连接:Connection
- 虚拟专用网关:Virtual Private Gateway(缩写VGW),与VPC一一对应
- 专线网关:Direct Connect Gateway(缩写DC Gateway,或DX Gateway,或DXGW),提供多Region关联能力
- Virtual Interface:虚拟接口卡(缩写vif),与专线连接Connect绑定,用于终结(Terminate)BGP隧道
- 私有接口:缩写Private VIF,用于专线远端BGP和云上VPC内网互通
- 公有接口:缩写Public VIF,用于连接本Reigon的S3等在互联网上的服务
- Transit Gateway:中转网关(缩写TGW),本次文档中未使用本服务
2、设计过程
在规划一个Direct Connect配置之处,需要考虑设因素如下:
- 确定要接入的Region是否是多Region
- 确认VPC数量(根据业务部署要求)
- 结合IDC,设计所有region、所有VPC要分配的IP CIDR,确保无重叠(重叠的IP区间无法互通)
- 确认IDC设备对BGP支持(Direct Connect要求必须是BGP协议连接)
- 设计网络方案,并分配ASN号(创建后无法修改,只能删除创建新的)
3、典型架构图
专线相关的组件和连接如下图。本架构图展示的是中国区域,AWS海外区域的架构也是相同原理。
4、配置流程
以多Region,每个region单VPC为例
- 1)确认物理连接可见
- 2)创建DXGW
- 3)创建VGW并关联到VPC
- 4)将VGW关联到DXGW,设置云端到IDC的路由传播
- 5)创建VIF并关联到DXGW,同时配置BGP参数
- 6)配置VPC路由表和VGW的IDC路由传播
三、配置过程
0、准备工作:如何进入Direct Connect服务的界面
在AWS控制台左上角,搜索框内,输入关键字Direct Connect
,在下方跳出的服务清单中点击Direct Connect
,即可跳转到专线服务。点击服务名称右侧的五角星符号,可以将这个服务添加到常用栏,这样在控制台下方一排常用服务清单中个,将会出现Direct Connect
的图标。如下截图。
1、确认物理连接可见
在收到专线团队给出的专线完工通知后,进入Direct Connect服务界面,点击左侧的Connections
按钮,在界面右侧可以看到施工完毕的专线。如果一次施工两条专线,那么这里应该显示为两条专线,然后在界面上接受新的Connection
。本文只进行操作介绍,在下图中并没有如下截图。
接受完毕专线连接后,才能继续后续的操作。
2、创建Direct Connect Gateway(DXGW)
进入进入Direct Connect服务界面,点击左侧的Direct connect gateways
,点击右上角的Create Direct Connect gateway
创建按钮,创建新的Gateway。如下截图。
在新建向导中,输入网关的名称。本架构下,只需要创建一个Direct Connect网关,因此名称可自定义。接下来输入本网关要分配的唯一的AS Number,填写在Amazon-side ASN
位置。最后点击右下角的创建按钮。如下截图。
等待数秒钟后,创建完成。
3、创建Virtual Private Gateway(VGW)并关联到VPC
进入进入Direct Connect服务界面,点击左侧的Virtual private gateways
,点击右上角的Create virtual private gateway
按钮创建新的VGW。如下截图。
点击创建后,页面跳转到VPC服务下的Create virtual private gateway
向导,在其中输入要创建的VGW的名称。这里需要注意,名称上需要能区分多个Region和多个VPC,以后会在连接中分别用到这些独一无二的名称用于区分多个VGW。在ASN
选项位置选择Custom ASN
,自定义ASN,然后在Enter customer ASN
位置输入自己要指定的唯一的ASN号,例如64520
。最后点击右下角创建按钮。如下截图。
在创建完成后,VGW界面上显示当前VGW的State为Detached
,表示并未关联到任何VPC。选中这个VGW,点击页面上方Actions
按钮,从下拉框中选择Attach to VPC
,将这个VPC关联到VPC。如下截图。
在关联界面,选择本Region对应的VPC,点击右下角Attach to VPC
按钮完成关联。如下截图。
关联完毕,在等待数分钟后,其State
位置显示为绿色的attached
。
如果有多个Region的VPC的要连接到Direct Connect Gateway,则分别再各Region重复以上步骤,将每个Region自己的VGW关联到本Region的VPC上。
4、将VGW关联到DXGW,设置云端到IDC的路由传播范围
在完成上一步后,点击某个Region的某个VGW,接下来要将其绑定到Direct Connect Gateway。
进入VGW详情,点击右下角的Direct Connect gateway associations
标签页,点击右下角的Associate Direct Connect gateway
按钮。如下截图。
在关联界面中,从Direct Connect gateways
下拉框中,选择前文创建的唯一的Direct Connect gateway,在页面下方Allowed prefixes - optional
部分,输入允许VPC向DX另一侧传播路由的IP范围。例如当前的VGW以及VGW关联的VPC的地址范围是172.30.0.0/16
,那么输入这一段地址,表示DX另一段IDC路由器可通过BGP协议学习到这个地址范围。然后点击Associate Direct Connect gateway
按钮完成关联。如下截图。
关联完毕后,在Virtual private gateways页面右下角的位置,显示DXGW关联位置,会显示为绿色的associated
状态。如下截图。
现在进入另一个Region的对应的Virtual private gateway
的详情界面,将其关联到同一个Direct Connect gateway上。如下截图。
当分别代表两个Region/两个VPC的VGW关联到DXGW后,可以通过DXGW界面验证关联是否正常。、
在Direct Connect服务界面,点击左侧菜单的Direct Connect gateways
菜单,查看当前唯一的Direct Connect gateway,点击右下角的Gateway associations
,可看到本DXGW已经与两个VGW分别关联成功。如下截图。
5、创建Private VIF并关联到DXGW,同时配置BGP隧道参数
在Direct Connect服务界面,点击左侧Virtual Interfaces
菜单,点击右上角的新建Create virtual interfaces
按钮。如下截图。
在创建向导中,选择类型是Private,输入名称,例如bgp-tunnel-1
代表第一条专线的VIF接口。注意请使用能区分多个接口的名称。然后向下滚动页面。如下截图。
在Connection
下拉框,选择VIF对应的专线连接。如果有多条,则每条专线都需要创建各一个VIF和BGP连接。选择VIF的Owner所有人是本账号。在Gateway type
位置选择Direct Connect Gatweay - Recommended
,然后选择要关联的DXGW。如下截图。
选择DXGW,然后输入IDC一侧的设备VLAN ID、输入IDC一侧的设备ASN号。然后向下滚动页面。如下截图。
点击Addtional settings
按钮,展开设置。
在Address famliy
位置,选择IPv4。在Your router peer ip
位置,输入IDC的路由器的对端IP地址是10.88.200.249/30
。在Amazon route peer ip
位置,输入云端的路由器的IP地址是10.88.200.250/30
。在下方BGP Authentication key
位置,输入希望创建的BGP连接使用的认证密钥。然后向下滚动屏幕。如下截图。
这里补充一下,当按照上文的示例,掩码为30位时,则有有关网络地址分配如下:
- 10.88.200.248 网络地址
- 10.88.200.249 路由器可用IP
- 10.88.200.250 路由器可用IP
- 10.88.200.251 广播地址
由此我们可看到,中间两个可用IP地址可被分配给IDC一侧路由器和AWS一侧路由器。
在创建BGP了连接的最后一步,根据业务软件的传输数据的要求,选择开启超大报文Jumbo MTU
或者不开启此功能。最后点击右下角的Create virtual interface
按钮创建VIF。如下截图。
创建VIF完成后,页面上本VIF显示BGP状态是Down
。需要几分钟才能启动并变成绿色UP
字样。如果BGP协议一直没有变成绿色UP
,可能原因:
- 说IDC侧BGP协议相关配置不正确(在IDC设备上检查)
- Direct Connect相关配置不正常(在AWS控制台上检查配置)
- 专线链路过程的交换机和路由器、端口有问题(开case查)
按相同办法,完成第二条专线对应的VIF接口的BGP链路的配置。
6、配置VPC路由表和VGW的路由传播
进入VPC服务,点击左侧的Route tables
路由表,查看当前VPC默认的路由表,点击标签页Route propagation
,可看到目前关联的VGW的Propagation
是处于No
状态。这表示当前没有开启自动的路由传播。如下截图。
点击编辑按钮,然后在Propagation
位置点击选中Enable
按钮。然后点击右下角保存按钮。如下截图。
回到路由表界面,查看第一个标签页Routes
路由清单。如果其中出现了最后一列Propagated
为Yes
的路由条目,就表示专线另一侧从IDC端传播路由表正常。
至此配置完成,IDC和云端可以通过内网互访。
四、参考资料
两条专线如何Active-Active负载均衡:
https://aws.amazon.com/cn/blogs/china/aws-direct-connect-highly-available-routing-design/
多条 DX 专线上的流量工程与高可用方案设计 – Part 1:
多条 DX 专线上的流量工程与高可用方案设计 – Part 2: