**发布时间:** 2025-09-02
**厂商:** AWS
**类型:** BLOG
**原始链接:** https://aws.amazon.com/blogs/networking-and-content-delivery/dynamic-routing-using-amazon-vpc-route-server/
---
<!-- AI_TASK_START: AI标题翻译 -->
[解决方案] 使用 Amazon VPC Route Server 实现动态路由
<!-- AI_TASK_END: AI标题翻译 -->
<!-- AI_TASK_START: AI竞争分析 -->
# 解决方案分析
## 解决方案概述
该解决方案详细阐述了如何使用 **Amazon VPC Route Server** 在 **Amazon VPC** 环境内实现基于 **BGP** (边界网关协议) 的动态路由。其核心目标是解决传统静态路由在管理复杂性、故障恢复速度和人为错误风险方面的局限性。通过利用BGP,该方案为部署在EC2上的网络应用(如防火墙、安全设备)和关键业务应用提供了**自动化的高可用故障转移**和**精细化的流量控制**能力。方案的技术原理是:EC2实例上的应用通过BGP协议向VPC Route Server通告路由,VPC Route Server根据BGP的最佳路径选择算法,动态地更新VPC路由表,将流量导向到最合适的网络接口(ENI)。该方案尤其适用于那些**无法与 AWS Gateway Load Balancer (GWLB) 集成**的应用场景。
---
## 实施架构与步骤
该方案通过两个典型场景展示了具体实施细节。
### 场景一:使用浮动IP实现应用故障转移
此场景为跨可用区(AZ)部署的关键业务应用提供高可用性。
1. **架构部署**: 在两个不同的AZ中分别部署一个主(Active)EC2实例和一个备(Standby)EC2实例。
2. **BGP配置**: 在每个EC2实例上运行BGP软件(如GoBGP),并与所在子网的VPC Route Server端点建立BGP邻居关系。
3. **路由通告**: 主备实例同时向VPC Route Server通告同一个**浮动IP地址**(例如 `172.16.1.1/32`),该IP不属于VPC的CIDR范围。
4. **路径优选**:
- 主实例通告的路由具有更短的 **AS_PATH**(BGP路径属性),因此被视为最优路径。
- 备用实例通过 **AS Path Prepending**(在AS路径前附加额外的AS号)的方式,使其通告的路由路径更长,优先级更低。
5. **路由生效**: VPC Route Server根据BGP选路规则,选择来自主实例的路由,并更新VPC路由表,将发往浮动IP的流量指向主实例的ENI。
6. **故障切换**:
- 当主实例发生故障时,其BGP会话中断。
- VPC Route Server检测到故障后,会撤销原最优路由,并自动选择备用实例通告的路由作为新的最优路径。
- VPC路由表被自动更新,流量无缝切换至备用实例的ENI。
- > 为实现亚秒级快速故障检测,强烈建议启用 **BFD** (双向转发检测) 协议。
### 场景二:VPC入口流量检测
此场景为部署在EC2上的虚拟防火墙等网络设备提供高可用性,以实现对VPC南北向流量的持续检测。
1. **架构部署**: 在不同AZ中部署主备两个防火墙EC2实例。
2. **BGP配置**: 每个防火墙实例与VPC Route Server建立BGP会话。
3. **路由通告**:
- **面向互联网网关 (IGW)**: 主备防火墙均向IGW路由表通告应用子网的CIDR。
- **面向应用子网**: 主备防火墙均向应用子网的路由表通告默认路由 `0.0.0.0/0`。
4. **路径优选**: 与场景一类似,主防火墙通告具有更优BGP属性(如更短的AS_PATH)的路由,使其成为流量处理的激活节点。
5. **流量路径**:
- **入向流量**: `IGW` → `主防火墙ENI` → `应用子网`
- **出向流量**: `应用子网` → `主防火墙ENI` → `IGW`
6. **故障切换**: 当主防火墙故障时,**BFD** 协议快速检测到会话中断。VPC Route Server会触发BGP重新收敛,自动将备用防火墙通告的路由提升为最优路径,并更新IGW和应用子网的路由表,将流量重定向到备用防火墙,从而保证安全检测不中断。
---
## 方案客户价值
- **自动化故障转移**: 基于标准的BGP协议自动更新路由,无需人工干预或定制化脚本即可实现应用和网络设备的故障切换,*显著降低恢复时间目标(RTO)*。
- **提升应用高可用性**: 为不支持GWLB的传统应用提供了跨AZ的、可靠的高可用架构,通过BFD快速故障检测,*最大限度地减少服务中断时间*。
- **简化网络运维**: 替代了复杂且易错的静态路由手动管理。网络拓扑变更时,路由可自动学习和调整,*提升了网络管理的灵活性和运维效率*。
- **精细化流量工程**: 允许应用通过BGP属性(如AS_PATH, MED)对VPC内部的流量路径进行精细化控制,满足流量检测、路径优选等高级网络需求。
---
## 涉及的相关产品
- **Amazon VPC Route Server**: 解决方案的核心,在VPC内提供BGP动态路由能力。
- **Amazon EC2**: 承载应用程序或网络功能虚拟设备(NFV)的计算实例。
- **Amazon VPC**: 提供隔离的网络环境,包括子网、路由表和互联网网关(IGW)。
- **Elastic Network Interfaces (ENI)**: EC2实例的虚拟网卡,作为路由表中的下一跳目标。
- **BGP (Border Gateway Protocol)**: 用于交换路由信息的行业标准动态路由协议。
- **BFD (Bidirectional Forwarding Detection)**: 用于快速检测邻居故障的协议,可与BGP配合使用以加速收敛。
---
## 技术评估
### 优势
- **云原生集成**: 将行业标准的BGP协议无缝集成到VPC的原生路由层面,为AWS用户提供了强大的动态路由控制能力。
- **高可靠性**: 结合跨AZ部署和BFD快速故障检测,为关键应用和网络设备提供了健壮、快速的故障转移机制。
- **灵活性与标准化**: 采用业界通用的BGP协议,易于网络工程师理解和配置,并能通过标准BGP属性灵活实现复杂的路由策略。
- **高度自动化**: 摆脱了依赖Lambda脚本或第三方监控工具进行路由切换的传统方式,实现了全自动的路由管理和故障恢复。
### 限制与考量
- **首选方案对比**: AWS官方明确建议,如果应用支持,**Gateway Load Balancer (GWLB)** 仍然是实现高可用性和横向扩展的**首选方案**。此方案主要作为GWLB不适用场景的有效补充。
- **收敛中断**: BGP路由收敛过程会引入短暂的流量中断。尽管BFD能将检测时间缩短至亚秒级,但切换过程并非瞬时完成。
- **路由对称性**: 在防火墙等状态化检测场景中,必须确保流量的往返路径一致(对称路由),这可能需要额外的路由设计和规划。
- **配置门槛**: 方案的实施要求用户具备对BGP协议的基本理解,包括AS号、邻居关系和路径属性等概念。
<!-- AI_TASK_END: AI竞争分析 -->
<!-- AI_TASK_START: AI全文翻译 -->
# 使用 Amazon VPC 路由服务器 (Route Server) 实现动态路由
**原始链接:** [https://aws.amazon.com/blogs/networking-and-content-delivery/dynamic-routing-using-amazon-vpc-route-server/](https://aws.amazon.com/blogs/networking-and-content-delivery/dynamic-routing-using-amazon-vpc-route-server/)
**发布时间:** 2025-09-02
**厂商:** AWS
**类型:** BLOG
---
[Amazon VPC 路由服务器 (Route Server)](https://docs.aws.amazon.com/vpc/latest/userguide/dynamic-routing-route-server.html) 通过使用边界网关协议 (Border Gateway Protocol / BGP) 在[亚马逊虚拟私有云 (Amazon Virtual Private Cloud / Amazon VPC)](https://aws.amazon.com/vpc/) 内实现了动态路由。您可以使用 Amazon VPC 路由服务器 (Route Server) 在云应用程序和本地系统之间进行有效和智能的流量控制。Amazon VPC 路由服务器 (Route Server) 使用 BGP 来提供对流量路径的高级控制 (尤其是在发生故障时),并减少了手动开销和人为错误。
在本文中,我们将探讨多种场景,在这些场景中,应用级别的动态路由会影响到实例的流量分发,并以最小的中断处理故障转移场景。
## 前提条件
本文假设您熟悉与高可用性和故障转移机制相关的 AWS 网络概念,例如[亚马逊弹性计算云 (Amazon Elastic Compute Cloud / Amazon EC2)](https://aws.amazon.com/ec2/) 、[弹性网络接口 (Elastic Network Interfaces / ENIs)](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html) 、Amazon VPC、VPC 路由表以及 [AWS 可用区 (Availability Zones / AZs)](https://aws.amazon.com/about-aws/global-infrastructure/regions_az/) 。同时,也假设您了解基本的网络概念,如 IP 寻址、CIDR 块、网络路由、BGP 和双向转发检测 (Bidirectional Forwarding Detection / BFD)。本文不侧重于定义这些基础服务和概念,而是演示如何使用它们来实现用于应用程序故障转移的浮动 IP 解决方案。有关 AWS 网络基础知识的更多背景信息,建议查阅关于 VPC 网络的 AWS 文档以及 AWS 网络与内容分发博客文章。有关 VPC 路由服务器 (Route Server) 概念的详细信息,请参阅此[入门指南](https://docs.aws.amazon.com/vpc/latest/userguide/dynamic-routing-route-server.html) 。
## 应用程序连接场景
Amazon VPC 内部的流量流动由路由表控制。这些路由表与子网、互联网网关 (Internet Gateways / IGWs) 和虚拟专用网关相关联,允许您定义流量在到达目的地之前应采用的路径。例如,您可以在 IGW 路由表中定义路由,以在流量到达预期目的地之前,将其引导至防火墙。同样,您可以根据您的用例,将流量从子网引导至 NAT 网关、IGW、对等连接或虚拟专用网关。
在某些场景下,应用程序 (例如安全或网络处理应用程序) 可能需要对流量的路由路径进行精细控制,以影响流量在到达目的地之前如何发送到应用程序。这些应用程序位于网络流量的源和目的地之间,以提供各种与网络相关的服务。一个常见的例子是将流量重定向到安全设备进行流量检查,然后再将流量发送到其实际目的地。
虽然静态路由可用于将流量引导至安全设备和其他中间设备,但它们存在显著的局限性 (除非与[网关负载均衡器 (Gateway Load Balancer / GWLB)](https://docs.aws.amazon.com/vpc/latest/userguide/gwlb-route.html) 一起使用)。静态路由在发生故障时需要手动干预,不能自动适应网络变化,并且随着网络规模的增长,管理起来会变得越来越复杂。这种手动管理增加了人为错误的风险,并导致故障期间的恢复时间更长。动态路由通过自动更新路由表、提供更好的可扩展性和实现故障转移来解决这些挑战——所有这些都无需手动干预。
**注意**:AWS 始终建议使用 GWLB 来实现高可用性和冗余。只有当您使用的 EC2 实例及其上的应用程序不支持 GWLB 进行流量检测时,才应考虑此解决方案。
## VPC 路由服务器 (Route Server) 的能力
VPC 路由服务器 (Route Server) 通过使用 BGP 路由协议在 VPC 内提供动态路由能力。网络应用程序可以使用 BGP 路由协议来更新 VPC 路由表,从而实现对 VPC 内流量的精细控制,以及在 VPC 内或跨不同可用区部署的实例之间实现流量的自动故障转移。VPC 路由服务器 (Route Server) 可以动态更新 VPC 和 IGW 路由表,使用首选的 IPv4 或 IPv6 路由来实现工作负载的路由容错。当发生故障时,系统可以自动在 VPC 内重新路由流量,这增强了 VPC 路由的可管理性,并改善了与第三方工作负载的互操作性。这种能力在以下场景中得到了展示:如果一个可用区发生故障,系统可以将流量重定向到另一个可用区中的资源,路由表会自动更新以反映新的网络路径。
在以下场景中,我们将讨论 VPC 路由服务器 (Route Server) 的路由能力。
## 场景 #1: 使用浮动 IP 实现应用程序故障转移
在此场景中,我们演示了如何使用一个浮动 IP 地址,在部署于不同可用区的高可用架构中的两个 EC2 实例之间实现无缝故障转移。您有一个运行在 AZ1 中 EC2 实例上的关键业务应用程序。为了实现高可用性,一个备用 EC2 实例部署在 AZ2 中。您的应用程序未与 GWLB 集成,或者 GWLB 在某个 AWS 环境 (例如本地扩展区域) 中不可用。您的目标是在主实例或其底层可用区发生故障时,为应用程序提供高可用性机制。
您可以在此 [aws-samples 代码仓库](https://github.com/aws-samples/sample-vpc-route-server-deployment) 中使用 [AWS CloudFormation](https://aws.amazon.com/cloudformation/) 来部署场景 #1 到您的 AWS 账户中。该 CloudFormation 模板会创建以下设置:
- 一个跨越两个可用区的 VPC,包含三个子网
- 为创建的三个子网创建 VPC 路由表
- 创建 IGW 并将其附加到 VPC,并在 VPC 路由表中创建指向 IGW 的默认路由
- 创建路由服务器 (Route Server) 并将其附加到 VPC——该路由服务器使用 ASN 65000
- 在每个子网中创建两个 VPC 路由服务器 (Route Server) 端点 (RSEs) (用于高可用性)
- 创建路由服务器 (Route Server) 对等体
- 创建两个实例以模拟待测试的高可用性应用程序。我们使用 [Gobgp 软件](https://github.com/osrg/gobgp) 。
- 每个实例都使用 ASN 65001 运行 BGP,并与其各自子网中的 RSEs 建立对等关系
- Gobgp 配置作为实例的用户数据 (user-data) 的一部分预先配置,并存储在 `/home/ec2-user` 目录下的 `gobgpd.conf` 文件中
- 创建一个测试实例,用于 ping 待测试的高可用性应用程序的环回 IP
- 您可以使用 [AWS Systems Manager](https://aws.amazon.com/systems-manager/) 访问创建的实例
### 解决方案概述
我们使用一个从非 VPC CIDR 范围分配的浮动 IP 地址,该地址由应用程序使用。客户端使用此 IP 来访问应用程序。在主实例发生故障时,发往该浮动 IP 的流量将被重新路由到第二个可用区中备用实例的 ENI。这通过使用浮动 IP 概念和动态 VPC 路由,最大限度地减少了应用程序可用性的中断,而无需更新客户端配置或进行其他手动干预。


图 1. 实例#1 处于活动状态
如图 1 所示,该应用程序以主备模式跨越两个可用区运行。两个 EC2 实例都通过与位于同一子网中的两个 VPC RSEs 的 BGP 对等关系,向网络通告相同的环回 IP 地址 (例如 172.16.1.1/32)。使用两个 RSEs 是为了确保冗余并提高路由服务的可用性。

图 2. VPC 路由服务器 (Route Server) 端点


图 3. VPC 路由服务器 (Route Server) 对等体

图 4. 路由服务器 (Route Server) RIB 表
为确保流量被导向活动实例,应用程序使用 BGP AS 路径 (AS Path) 属性。活动实例通告的路由具有较短的 AS 路径,而备用实例则附加其他 AS 编号。这使其路径的优先级较低。BGP 总是选择最短的 AS 路径,从而确保活动实例是首选路径。其他 BGP 属性,如多出口鉴别器 (Multi-Exit Discriminator / MED),也可用于实现类似的路由偏好设置。
1. 活动和备用实例都通过 BGP 向其各自子网中的两个 RSEs 通告 172.16.1.1/32。
2. VPC 路由服务器 (Route Server) 接收到四个关于同一前缀的通告。这在图 4 中可以看到,环回地址 172.16.1.1/32 被四个 RSEs 接收。
3. 根据 BGP 路径选择规则,由于 AS 路径较短,它会优先选择来自活动实例的路由。如图 4 所示,四条路径中的一条被选中并安装。
4. VPC 路由服务器 (Route Server) 识别与活动实例关联的 ENI,并更新 VPC 路由表,将发往 172.16.1.1/32 的流量转发到 ENI-A。

图 5. VPC 路由表已更新,172.16.1.1/32 指向活动实例的 ENI
您可以通过使用 [EC2 Session Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/session-manager.html) 连接到其中一个实例 (instance-rs-az1 或 instance-rs-az2) 来检查 Gobgp 配置。
Gobgp 配置文件位于 `/home/ec2-user/gobgpd.conf`。
```
sh-5.2$ sudo more /home/ec2-user/gobgpd.conf
[global.config]
as = 65001
router-id = "10.0.1.203"
[[neighbors]]
[neighbors.config]
neighbor-address = "10.0.1.230"
peer-as = 65000
[[neighbors.afi-safis]]
[neighbors.afi-safis.config]
afi-safi-name = "ipv4-unicast"
[[neighbors]]
[neighbors.config]
neighbor-address = "10.0.1.136"
peer-as = 65000
[[neighbors.afi-safis]]
[neighbors.afi-safis.config]
afi-safi-name = "ipv4-unicast"
```
使用以下命令检查 BGP 邻居状态。应该有两个邻居,代表实例子网中的两个 VPC RSEs。
> sh-5.2$ sudo /home/ec2-user/gobgp neighbor
> Peer AS Up/Down State |#Received Accepted
> 10.0.1.136 65000 22:43:07 Establ | 0 0
> 10.0.1.230 65000 22:43:08 Establ | 0 0
检查环回路由是否正在通过 BGP 进行通告。
> sh-5.2$ sudo /home/ec2-user/gobgp global rib
> Network Next Hop AS_PATH Age Attrs
> *> 172.16.1.1/32 0.0.0.0 22:42:21 [{Origin: ?}]
要测试路由设置,您可以使用 Systems Manager 方法访问测试实例 “test-instance”。登录后,您可以 ping 172.16.1.1,应该会收到来自活动实例 “instance-rs-az1” 的回复。
> sh-5.2$ ping 172.16.1.1
> PING 172.16.1.1 (172.16.1.1) 56(84) bytes of data.
> 64 bytes from 172.16.1.1: icmp_seq=1 ttl=127 time=0.712 ms
> 64 bytes from 172.16.1.1: icmp_seq=2 ttl=127 time=0.338 ms
> 64 bytes from 172.16.1.1: icmp_seq=3 ttl=127 time=0.378 ms
### 故障转移检测与恢复
要模拟故障转移,您可以关闭活动实例 (instance-rs-az1)。
1. 如果活动实例发生故障或变得不可达,BGP 会在配置的超时时间内检测到故障。
2. VPC 路由服务器 (Route Server) 将与活动实例的 BGP 会话标记为 down,并从路由信息库 (RIB) 表中撤销该路由。
3. 触发 BGP 重新收敛过程,此时由备用实例通告的路由被选为最佳路径。
4. VPC 路由表被更新,将发往 172.16.1.1/32 的流量转发到备用实例的 ENI (ENI-B)。
5. 流量无缝切换到备用实例,从而在不中断客户端的情况下保持应用程序的可用性。
要测试路由设置,您可以使用 Systems Manager 方法访问测试实例 “test-instance”。登录后,您可以 ping 172.16.1.1,应该会收到来自现在已成为活动实例的 “instance-rs-az2” 的回复。
> sh-5.2$ ping 172.16.1.1
> PING 172.16.1.1 (172.16.1.1) 56(84) bytes of data.
> 64 bytes from 172.16.1.1: icmp_seq=1 ttl=127 time=0.712 ms
> 64 bytes from 172.16.1.1: icmp_seq=2 ttl=127 time=0.338 ms
> 64 bytes from 172.16.1.1: icmp_seq=3 ttl=127 time=0.378 ms
为确保快速检测故障,可以在应用程序和 RSEs 之间启用 BFD 协议。BFD 能显著减少检测链路或应用程序故障所需的时间。

图 6. 实例2 接管成为活动实例

图 7. 路由表更新为指向 Inst2 的 ENI
此场景演示了一种使用 BGP 和 BFD 等标准路由协议在 AWS 中实现基于浮动 IP 的故障转移的稳健方法。它实现了在可用区之间快速、可靠且透明的故障转移,无需 DNS 更新或手动干预。此解决方案非常适合需要最小停机时间和最大弹性的高可用性工作负载。
## 场景 #2: VPC 入口流量检测
考虑这样一个场景:您有一个集中的安全模型,其中防火墙设备 (部署为 EC2 实例) 负责检测 VPC 中的所有南北向或东西向流量。这些防火墙对您的安全态势至关重要,必须始终可用以检测和转发流量。为保持高可用性,您在不同的可用区中部署了两个防火墙 EC2 实例。您的目标是确保在活动防火墙发生故障时,流量能无缝重定向到备用实例。
在此场景中,我们演示了如何使用 VPC 路由服务器 (Route Server) 和动态路由更新,为部署在 AWS 多个可用区中的状态化防火墙实例实现高可用性和故障转移。
### 解决方案概述
所有通过 IGW 进入 VPC 的流量首先被路由到防火墙进行检测,然后才被路由到应用程序子网。同样,所有离开应用程序子网的流量也首先被路由到防火墙进行检测,然后才被路由到互联网。
下图显示了一个安装在子网 A 中 EC2 实例上的防火墙设备。该设备检测所有从 IGW 到子网 B (应用程序子网) 以及从子网 B 到 IGW 的流量。

图 8. 场景 #2,其中防火墙 1 处于活动状态
每个防火墙建立四个 BGP 会话:两个用于子网 A,两个用于子网 B,覆盖了应用程序子网和 IGW 路由表。
为确保一次只使用一个防火墙,我们通过使用 BGP 指标来操纵 BGP 路径偏好。我们关注以下指标:
- **AS_Path**: BGP 属性,显示路由经过的自治系统编号序列,既作为环路预防机制,也作为路径选择标准,其中较短的路径更受青睐。
- **MED (Multi-Exit Discriminator)**: BGP 属性,用于在两个自治系统之间存在多个连接时,通过建议一个首选入口点来影响入站流量,其中较低的 MED 值更受青睐。
活动防火墙通告具有最优 BGP 属性的前缀,而备用防火墙则通告具有次优属性的相同前缀。在此场景中,我们使用 AS 路径前置 (prepending),即备用防火墙在向 RSE 通告前缀时增加 AS 路径长度。
### 互联网网关路由表
与 IGW 关联的路由表控制着入站互联网流量在 VPC 内部的路径。用户通常用它来在入站互联网流量的路径中插入防火墙和其他虚拟网络功能。
活动和备用防火墙都与 VPC 路由服务器 (Route Server) 配对,并向 RSEs 通告应用程序子网的 CIDR。然而,备用防火墙通告的路由具有更长的 AS 路径。VPC 路由服务器 (Route Server) 运行 BGP 最佳路径选择算法,并安装由活动防火墙通告的路由。
IGW 子网的路由表包含以下路由:
`应用程序子网 CIDR ---> 活动防火墙 ENI`
VPC 将发往应用程序子网的流量路由到活动防火墙的 ENI。
### 应用程序子网路由表
活动和备用防火墙都与 VPC 路由服务器 (Route Server) 配对,并向 RSEs 通告 `0.0.0.0/0`。然而,备用防火墙通告的 `0.0.0.0/0` 具有更长的 AS 路径。VPC 路由服务器 (Route Server) 运行 BGP 最佳路径选择算法,并安装由活动防火墙通告的路由。
应用程序子网的路由表包含以下路由:
`0.0.0.0/0 ---> 活动防火墙 ENI`
这将来自应用程序服务器的流量在路由到互联网之前,先路由到活动防火墙。
### 防火墙子网路由表
提供商子网的路由表包含以下静态路由:
`0.0.0.0/0 ---> igw-id`
这将所有流量路由到 IGW。
### 使用 BFD 进行故障转移检测
在防火墙和 VPC RSEs 之间的每个 BGP 会话上都启用了 BFD。BFD 通过持续交换控制数据包,实现了快速的故障检测——通常在不到一秒的时间内。
在防火墙发生故障的情况下:
1. BFD 检测到活动防火墙和 RSEs 之间的 BGP 会话失败。
2. RSEs 将该 BGP 会话标记为 DOWN。
3. RSEs 撤销由故障防火墙通告的首选路由 (包括内部和外部前缀)。
4. 发生 BGP 重新收敛——RSEs 选择由健康防火墙通告的备用路由。
5. 该路由在 VPC 路由控制平面中变为活动状态。
6. 流量被自动重定向到备用防火墙。

图 9. FW1 故障导致流量被重新路由到 FW2
### 故障恢复 (Failback)
当故障防火墙恢复并重新建立 BGP 和 BFD 会话时:
1. 它会恢复通告具有首选 BGP 属性的路由。
2. RSEs 检测到更优的路由,并将流量切换回恢复的防火墙。
这个过程可以自动化,也可以通过管理策略 (例如抢占式或非抢占式故障转移) 来控制。
使用 VPC 路由服务器 (Route Server) BGP+BFD 故障转移的优势:
1. **快速收敛**:通过 BFD 实现亚秒级故障检测。
2. **完全自动化**:无需脚本或手动干预。
3. **可扩展**:适用于多个前缀和实例。
4. **云原生控制**:与 VPC 路由层集成。
5. **协议标准化**:使用行业标准的 BGP 行为。
## 注意事项
1. 路由重新收敛会包含一些停机时间。如果应用程序与 GWLB 集成,请将 GWLB 作为应用程序故障转移的首选方案。
2. 如果您手动控制路由,请确保禁用路由传播。
3. 使用 BFD 或其他快速故障检测工具以实现更快的收敛。
4. 如果执行返回路径检测,请确保路由路径的对称性。
5. 启用监控和告警,以跟踪健康状况、路由变化和故障转移事件。
## 结论
在本文中,我们探讨了如何使用 Amazon VPC 路由服务器 (Route Server) 在云中构建可扩展、容错且安全的网络设计,通过为关键应用程序启用故障转移和实施高可用性架构。我们引导您了解了两种不同的架构模式,并提供了实施细节。VPC 路由服务器 (Route Server) 通过将行业标准的 BGP 和 BFD 协议集成到原生 VPC 网络中,解锁了 AWS 内部的高级路由能力。要立即开始使用 VPC 路由服务器 (Route Server),您可以参考[文档](https://docs.aws.amazon.com/vpc/latest/userguide/dynamic-routing-route-server.html) 和 [Amazon VPC 路由服务器 (Route Server) 入门教程](https://docs.aws.amazon.com/vpc/latest/userguide/route-server-tutorial.html) 。
## 关于作者

### Ammar Latif
Ammar 是 AWS 全球电信业务部的首席解决方案架构师。他乐于帮助客户利用云技术应对业务挑战。在他的职业生涯中,Ammar 与全球众多电信和媒体客户进行了合作。Ammar 拥有新泽西理工学院的博士学位。

### Akshay Choudhry
Akshay 是亚马逊云科技网络与安全服务团队的首席产品经理。他专注于为数百万在 AWS 上运行工作负载的客户提供更直观、更安全的虚拟私有云。在业余时间,他喜欢探索户外、尝试新餐厅以及与朋友和家人共度时光。
<!-- AI_TASK_END: AI全文翻译 -->