Direct Connect 101 & 配置说明

一、背景

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路由清单。如果其中出现了最后一列PropagatedYes的路由条目,就表示专线另一侧从IDC端传播路由表正常。

至此配置完成,IDC和云端可以通过内网互访。

四、参考资料

两条专线如何Active-Active负载均衡:

https://aws.amazon.com/cn/blogs/china/aws-direct-connect-highly-available-routing-design/

多条 DX 专线上的流量工程与高可用方案设计 – Part 1:

https://aws.amazon.com/cn/blogs/china/traffic-engineering-and-high-availability-solution-design-on-multiple-dx-dedicated-lines-part-one/

多条 DX 专线上的流量工程与高可用方案设计 – Part 2:

https://aws.amazon.com/cn/blogs/china/traffic-engineering-and-high-availability-solution-design-on-multiple-dx-dedicated-lines-part-two/