Skip to main content

AWS HA 部署方案

一、方案背景

  • 业务需要在 AWS 上部署两台 NE900(主/备),实现跟其他站点的组网,同时实现主备冗余

  • 传统 VRRP 因 AWS 不支持无法部署

  • 采用 AWS Transit Gateway (TGW) + BGP 冗余 方案

  • 通过主备设备LAN侧跟 TGW 之间建立BGP,LAN侧通过 AS_PATH 长度 控制主备优先级,传输网络 通过站点 VRF路由发布优先级 控制优先级。


二、网络架构

拓扑说明:

  • 两台 NE900 部署在同一 VPC,分别绑定到2个站点

  • 两个站点分别配置网关

  • 每个站点 与 TGW Attachment (Connect类型)通过LAN侧建立 BGP 连接

  • 主站点发布 BGP 路由 AS_PATH 短,备设备 AS_PATH 长

  • 主站点设置 VRF路由发布优先级高,备站点设置为

  • TGW 将业务 VPC 的流量根据路由策略转发到优先的 NE900

AWS TGW HA 拓扑图

info

说明:

  1. VPC1 为NE900所在的VPC,也可以是客户的业务VPC

  2. VPC2 为客户的另一个业务VPC(如果客户有多个VPC)

  3. NE900-A为主用VCPE,用于站点SITE-A; NE900-B为备用VCPE,用于站点SITE-B

  4. SITE-C 为客户的另一个非AWS的站点,LAN侧网段为 192.168.100.0/24


三、配置流程

tip

配置背景:以上面拓扑为例进行配置; 客户已有VPC1(10.255.0.0/16)和VPC2(172.16.0.0/16)

  • SITE-A:主站点,绑定设备NE900-A

  • SITE-B:备站点,绑定设备NE900-B

  • SITE-C:另一个站点

配置目标:VPC1和VPC2可以和SITE-C互通

3.1 AWS 端-NE900配置

1. 创建子网

在已有VPC1(10.255.0.0/16)下创建3个子网,一个子网用于wan,两个用于lan

  1. subnet-wan: 10.255.255.0/24

  2. subnet-lan: 10.255.200.0/24

  3. subnet-lan-2: 10.255.201.0/24

创建子网

info

如果客户需要多个WAN出口,那么需要创建多个wan的子网,比如需要2个出口,那么就创建2个子网。同时请注意开启的EC2支持的网卡数量。

2. 配置安全组

创建或修改安全组default,添加入站规则

  • 放行如下图所示的协议和端口

安全组配置

3. 创建EC2实例

创建2台EC2(2C4G)使用NE900镜像进行安装VCPE

  1. 配置 2C4G (medium规格,最大支持3个网卡)

  2. 镜像选择 NE900(自行上传到aws)

  3. 子网使用 subnet-wan

  4. 安全组使用 default

  5. 硬盘选择30G

创建EC2

4. 添加网络接口

创建成功后,为每台设备增加一个私网接口

  1. 进入实例,选择网络与安全-网络接口,创建网络接口

  2. 子网选择之前创建的subnet-lan

  3. 接口类型默认ENA

  4. IPv4地址填写站点LAN口的IP

    • SITE-A: 10.255.200.201

    • SITE-B: 10.255.201.202

创建网络接口

  1. 选择创建的网络接口ENI,点击操作-附加,选择VPC1中我们创建的NE900实例

附加网络接口

info

如果有多个wan,那么继续添加接口,方式同上

danger

lan使用的网络接口必须 关闭 源/目标检查

5. 添加接口到系统

登录创建的NE900设备,通过命令行执行以下命令,添加接口

config -u ports/GE2 -m put '{"ifname": "eth1", "name": "GE2"}'
info

如果有多个wan接口,比如还有GE3,那么同样的方式添加

config -u ports/GE3 -m put '{"ifname": "eth2", "name": "GE3"}'
  • 另一个NE900执行相同的操作

3.2 AWS 端-TGW配置

1. 创建 TGW

  1. 配置asn: 例如 64555

  2. 配置Transit Gateway CIDR:例如 10.80.0.0/24

创建TGW

2. 创建 VPC1 的 TGW VPC Attachment

为VPC1(为 NE900 所在VPC) 创建 TGW VPC Attachment(VPC挂载)

  1. 进入中转网关-中转网关连接,创建 Transit Gateway 挂载

  2. 选择之前创建的tgw

  3. 挂载类型选择 VPC

  4. VPC挂载,选择VPC1(10.255.0.0/16)

  5. 子网选择之前创建的subnet-wan(该子网是用来放 TGW 的 ENI)

创建VPC挂载

danger

如果VPC有多个可用区,必须 每个可用区都选择一个子网,否则跨可用区的流量会不通

3. 创建 VPC2 的 TGW VPC Attachment

为VPC2(172.16.0.0/16,客户另一个VPC) 创建 TGW VPC Attachment(VPC挂载)

  1. 进入中转网关-中转网关连接,创建 Transit Gateway 挂载

  2. 选择之前创建的tgw

  3. 挂载类型选择 VPC

  4. VPC挂载,选择VPC2(172.16.0.0/16)

  5. 子网选择任一子网

4. 创建 TGW Connect Attachment

  1. 进入中转网关-中转网关连接,创建 Transit Gateway 挂载

  2. 选择之前创建的tgw

  3. 挂载类型选择 Connect

  4. 传输挂载 ID选择刚才挂载VPC1的 tgw-attach id

创建Connect挂载

5. 创建 Connect 对等(NE900-A)

TGW Connect Attachment 上创建 Connect 对等(NE900-A)

参考:Connect attachments and Connect peers

  1. 在中转网关-中转网关挂载中,选中刚才创建的Connet挂载,然后点击创建 Connect对等

创建Connect对等

  1. Transit Gateway GRE 地址:在Transit Gateway CIDR中分配一个,比如 10.80.0.201

  2. 对等 GRE 地址: NE900-A 的 lan 地址 10.255.200.201

  3. CIDR 块 IPv4 内的 BGP: 169.254.0.16/29

info

The inside IP addresses that are used for BGP peering. You must specify a /29 CIDR block from the 169.254.0.0/16 range for IPv4. The following CIDR blocks are reserved and cannot be used:

  • 169.254.0.0/29
  • 169.254.1.0/29
  • 169.254.2.0/29
  • 169.254.3.0/29
  • 169.254.4.0/29
  • 169.254.5.0/29
  • 169.254.169.248/29
  1. 对等 ASN: 例如 65423

Connect对等配置

6. 创建 Connect 对等(NE900-B)

TGW Connect Attachment 上创建 Connect 对等(NE900-B)

  1. 在中转网关-中转网关挂载中,选中刚才创建的Connet挂载,然后点击创建 Connect对等

  2. Transit Gateway GRE 地址:在Transit Gateway CIDR中分配一个,比如 10.80.0.202

  3. 对等 GRE 地址: NE900-B 的 lan 地址 10.255.201.202

  4. CIDR 块 IPv4 内的 BGP: 169.254.0.32/29

  5. 对等 ASN: 例如 65423注意:2个Connet的 BGP AS必须一致

Connect对等配置B

7. 配置 VPC1 路由表 - TGW CIDR

在 VPC1(10.255.0.0/16) 的 VPC Route Table 中添加 Transit Gateway CIDR 到TGW的路由

该条路由的目的是让NE900可以访问到TGW

  1. 进入VPC-路由表-路由-编辑路由-添加路由

  2. 目标为Transit Gateway CIDR,即10.80.0.0/24

  3. 下一跳为 Transit Gateway,选择创建的tgw实例

VPC1路由表配置

8. 配置 VPC1 路由表 - 私网网段

在VPC1(10.255.0.0/16)的 VPC Route Table 中添加 私网网段 到TGW的路由

该条路由的目的是把需要访问的东西向流量导入到TGW

  1. 目标为私网地址 192.168.0.0/16; 10.0.0.0/8; 172.16.0.0/12

  2. 下一跳为 Transit Gateway,选择创建的tgw实例

info

这里按照需求填写,例如远端规划的是 10.0.0.0/16,那就按需填写,如果不确定可以写3大私网网段

9. 配置 VPC2 路由表

在VPC2(172.16.0.0/16)的 VPC Route Table 中添加 私网网段 到TGW的路由

该条路由的目的是VPC把流量导入到TGW

  1. 目标为私网地址 192.168.0.0/16; 10.0.0.0/8; 172.16.0.0/12

  2. 下一跳为 Transit Gateway,选择创建的tgw实例

info

这里按照需求填写,例如远端规划的是 10.0.0.0/16,那就按需填写,如果不确定可以写3大私网网段

10. 查看 Connect 对等信息

创建完成后,查看Connect对等信息,获取 对等 BGP 地址

Connect对等BGP信息

3.3 SASE 端配置

1. 创建站点

创建2个站点,绑定2台NE900

  • SITE-A NE900-A

  • SITE-B NE900-B

2. 配置 WAN 和 LAN 接口

2个站点分别配置WAN和LAN接口

  1. WAN口配置 Nova Internet 传输网络标签(如果为云专线就改为 Nova专线

  2. LAN口,选择GE2,并配置地址(地址使用之前挂载的网卡地址)

    • SITE-A 10.255.200.201/24

    • SITE-B 10.255.201.202/24

3. 配置 BGP 连接

2个站点分别配置到TGW的BGP连接,信息参考TGW的 Connect对等信息(keep-alive 10秒 hold timer 30秒)

danger

注意:每个站点必须和TGW建立2个BGP连接。

参考: https://docs.aws.amazon.com/vpc/latest/tgw/tgw-connect.html

BGP配置要求

SITE-A:主站点

AS Path Prepend 默认 0

SITE-A BGP配置

SITE-B:备站点

AS Path Prepend长度为 3

SITE-B BGP配置

info

注意:TGW 默认 BGP keep-alive 10 seconds;默认 hold timer 30 seconds.

所以SASE配置小于上面默认值不会生效,建议配置成和TGW一致。

参考: https://docs.aws.amazon.com/vpc/latest/tgw/tgw-connect.html

4. 配置 VRF 路由发布优先级

SITE-A

设置 VRF路由发布优先级高

SITE-A VRF优先级

SITE-B

设置 VRF路由发布优先级低

SITE-B VRF优先级

5. 配置静态路由(SITE-A)

在VRF配置中,进入LAN-VRF路由-静态路由

  1. 添加静态路由
  • IP前缀:Transit Gateway CIDR:例如 10.80.0.0/24
  • 下一跳: LAN口所在subnet的网关 10.255.200.1

SITE-A静态路由

6. 配置静态路由(SITE-B)

在VRF配置中,进入LAN-VRF路由-静态路由

  1. 添加静态路由
  • IP前缀:Transit Gateway CIDR:例如 10.80.0.0/24
  • 下一跳: LAN口所在subnet的网关 10.255.201.1

SITE-B静态路由

7. 配置GRE隧道

tip

地址信息参考TGW的Connect配置

Connect配置信息

1. 在SITE-A添加gre隧道

【站点】-【VRF配置】-【GRE隧道】-【新建】

  • 本地地址: LAN口ip
  • 远端地址: TGW的Connect配置的tgw gre地址
  • IPv4地址:TGW的Connect配置的对等BGP地址

NE900-A GRE配置

2. 在SITE-B添加gre隧道

【站点】-【VRF配置】-【GRE隧道】-【新建】

  • 本地地址: LAN口ip
  • 远端地址: TGW的Connect配置的tgw gre地址
  • IPv4地址:TGW的Connect配置的对等BGP地址

NE900-B GRE配置

3.5 确认配置状态

上述配置都完成后,在中转网关连接-Connect 对等中确认BGP状态为 UP

BGP状态确认


四、故障切换机制

  • 当主 NE900(SITE-A) 故障或与 TGW BGP 会话中断时,TGW 自动撤销主路由,选择备NE900的路由
  • 恢复后,主NE900重新建立 BGP 会话,AS_PATH 短路由再次成为首选

五、查看路由信息

在 TGW 查看路由

  1. 中转网关-中转网关路由表,选择我们的路由表,在路由信息中确认收到了SITE-C的路由

TGW路由信息

在 SASE 上查看 SITE-C 站点的路由

  1. 在站点-监控-诊断中,通过查询BGP路由,可以看到已经学到了VPC1和VPC2的路由

SASE路由信息


参考资料