【AWS征文】AWS网络演进荐

我们都知道,对于企业来讲,随着业务的发展和重点不同,对网络的实际需求也是不同的,尤其是对于公有云的网络架构,随着AWS的功能完善和发展,越来越多的网络功能得以实现。本文将结合实际案例讲述如何以及为什么从DX过渡到DX gateway的

DX时期的网络方案

企业上云绝非一蹴而就的事情,这就意味着必然存在) 6 S _ ! 着一个本地云与公有云共同存在的时期,这就涉及到了本地IDC与云上IDC的互通问题。因我们启用业务上云的方案较早,当时的 AWS还仅有DX的功能,通过此功能我们可B k ( Z h P P n以使用AWS合作伙伴专线将本地IDC与AWS连接起来。具体网络架构如下:

【AWS征文】AWS网络演进荐

DX的出现,使得企业可以通过DX的private VIF或者 public VIF将企业的分支/本地IDC与AWS连接起来。而为了实现高可用性,一般不会仅建立一个DX通道,可能会采用如下冗余方案:

  1. 两条不同IS9 C E $ t P的专线通过不同DX location或者DX 设备连接到AWS的方案
  2. 一条ISP专线,一根Internet+IPsec ***的方案
  3. 一条ISP专线,一根SD-WAN线路的方案
  4. 两根***线路的方I o t z Y 9 a 3 4案,(可以是Internet+IPsec ***与SD-WAN的组合)等等
    而因为对线路的时延可靠性等要求,我们当时选择了第一种方案l ! ? ] b,如下所示。

【AWS征文】AWS网络演进荐

DX双专线接入时,双活的实2 k . k

因AWS DX功能比较弱,无法通过AWS侧设备实现路由的选路,这就导致我们需要通过远端局点的路由控制来实现主备路径的选择,从而使得两条路径互为备份。

【AWS征文】AWS网络演进荐

如果要选择ISP A的专线为主用线路,则需要如下配置

【AWS征文】AWS网络演进荐

1.在Customer GW A上,从ISP A 的EBGP邻居接收路由时,使用route-map修改local-preference的值,将local-preference设置的大于B线路的,使得IDC本地到AWS时,优选A线路。
2.同时,在Customer GW B上向B线路的EBGP邻居发布路由时,使用route-map修改AS-path属性,在l H O , [ EAS-path后L M W C ) N 8增加几个as-path,使得AWS侧接收到B线路的路由2 d 2 6 =为非优选路由。
3.当然,为了切换便利性,我们可以一次i 9 E H 9 L H ( x性写两套A、B分别为主用线路时的route-map,通过自动化工具,实现路径的u $ p U J q一键切换。

配置参考如下:

Customer GW A上:
route[ % 1 ; v T / .-policy IN_EBGP_A perh v 8 z M A p [mit node 10
if-match ip-prefix AWS
apply lR R , I 7ocal-preference 200
route-policy OUT_EBGP_A permit node 10
if-match ip-prefix LOCAL_IDC
route-policy IN_EBGP_B permit node 10
if-match ip-prefix AWS
route-policy OUT_EBGP_B permit node 10
if-match ip-prefix LOCAL_IDC
Apply as-pa[ U ) Gth 64512 64512  add
Customer GW B上:
route-policy IN_EBGP_A permit node 10
if-match ip-prefix AWS
route-policy OUT_EBGP_A permit node 10
if-match ip-prefix LOCAL_IDC
Apply a* C u  q us-path 64512 64512  add
route-poW  +licx / - ; Zy IN_EBGP_B p` r ; p ; iermit node 10
if-match ip-prefix AWS
applyj 9 [ E u ; local-prefere1 f ,nce 200
rout} C Te-policy OUT_EBGP_* d T 4 ~B permit node 10
ih W A 0 , if-match ip-prefix LOCA8 _ fL_IDC

经过一段时间的运行和实践,发现该方案有很多不足之处。比如,因DX功能限制,从ISP A学到的路由会向ISP B传递,从而( y Z导致路由环路或者专线路由条目超限的问题等。
在多次踩坑之后,痛定思痛,进行了DX到DX GW的改造。

DX^ t Q d n @ o f Gateway是什么

先看一下没有DX gateway(以下简称DXGW)之前,如果要互联VPC是什么样的?

【AWS征文】AWS网络演进荐

有了DXGW之后,又是什么样的呢?

【AWS征文】AWS网络演进荐

每个DX Gateway都是跨e R L L ` Q所有公共AWS区域存在的全局对象,这就使得所有AWS区域之间可以通过网关进行所有的通信,大大减少了VIF的数量和BGP会话7 L o j h的数量,同时也简化了网络结构和维护成本。

更更重要的是,多了一个DXGW,相当于在DXGW侧多了一台路由器,路由多了一跳,从ISP A学到的路由再也不会默认向ISP B发布了,一劳永逸的解决了因DX功能限制而导致的路由环路和路由条目超限的问题。

DX Gateway如何实现双路径的选路?

改造为DX GW之后,双路径的主备切换和DX时保持一致,还是要通过企业本地IDC侧CE 上BGP的选路来控制的。配置同:DX双专; ^ .线接入时,双活的实现。

DX Gateway的限制

当然,如此便利的DXGW也有一些限制条件,并不是任何时候都适用,限制如下:

  1. 关联到DXGW的VGW/VPC可以属于不同的区域,但必须属于同一个AWS账户
  2. VPC不能使用重复的IP地址段
  3. 一个- 8 V z 8 A Y 2DXGW最多可关联10个VIF/VGW
  4. 关联到同一个DXGW的private VIF之间不能进行数据访问
  5. 关联到同一个DXGW的VGW之间不能进行数据访问