我希望我的 AWS Site-to-Site VPN 连接在将流量从 AWS 发送到本地网络时优先使用特定隧道。
解决方法
将 Site-to-Site VPN 配置为优先使用静态或动态 VPN 的特定隧道。
客户网关与虚拟专用网关或中转网关之间的静态 VPN
在 静态 VPN 中,虚拟专用网关或中转网关通过单个 VPN 隧道将流量从 AWS 发送到本地网络。Site-to-Site VPN 选择首选隧道。要将 Site-to-Site VPN 配置为优先使用特定隧道,请使用主动/被动配置,其中隧道 A 处于 UP(运行)状态,但隧道 B 处于 DOWN(关闭)状态。由于隧道 A 处于 UP(运行)状态,因此从 Site-to-Site VPN 到本地网络的流量会穿过隧道 A。
如果静态路由连接采用主动/主动配置,其中两条隧道均处于 UP(运行)状态,则无法将 Site-to-Site VPN 配置为优先使用特定隧道。例如,Site-to-Site VPN 可能会随机选择隧道 A 作为首选 VPN 隧道,将流量从 AWS 发送到本地网络。如果隧道 A 出现故障,则来自 Site-to-Site VPN 的流量会自动失效转移到隧道 B。
客户网关与虚拟专用网关或中转网关之间的动态 VPN
停用 ECMP 路由的虚拟专用网关或中转网关配置
如果您停用等价多路径 (ECMP) 路由,则在满足以下条件时,Site-to-Site VPN 会通过隧道 A 将流量发送到本地网络:
- Site-to-Site VPN 连接具有主动/主动配置(两个隧道均处于 UP(运行)状态)。
- Site-to-Site VPN 连接会向具有相同边界网关协议 (BGP) 属性的虚拟专用网关或中转网关播发相同的前缀。
**注意:**如果使用主动/主动配置,必须在客户网关虚拟隧道接口上启用非对称路由。
主动/被动配置的结果与动态路由的结果相同。由于隧道 A 处于 UP(运行)状态,因此从 Site-to-Site VPN 到本地网络的流量会穿过隧道 A。
启用 ECMP 路由的中转网关配置
如果您启用 ECMP 路由,则在满足以下条件时,中转网关会对 VPN 隧道之间的流量进行负载均衡:
- 客户网关设备通过隧道播发相同的前缀。
- 从客户网关设备播发的前缀的 BGP 属性在 VPN 隧道上是相同的。这些 BGP 属性包括 AS-Path 前缀、AS_SEQUENCE 中的第一个自治系统 (AS) 和多出口鉴别器 (MED)。
有关详细信息,请参阅如何使用与中转网关关联的多个 Site-to-Site VPN 隧道实现 ECMP 路由?
有关在 Transit Gateway 中使用 ECMP 的限制,请参阅等价多路径路由。
客户网关配置
将您的客户网关设备设置为优先使用一个 Site-to-Site VPN 隧道而不是另一个。为此,请执行以下操作之一:
- 向首选隧道上的虚拟专用网关或中转网关播发更具体的前缀。
- 缩短 AS PATH 值。如果前缀匹配,并且每个 VPN 连接都使用 BGP,则客户网关会优先使用 AS PATH 最短的前缀。
- 降低 MED 值。如果 AS PATH 值的长度相同,并且 AS_SEQUENCE 中的第一个 AS 值在路径间相同,则客户网关会比较 MED 值。客户网关优先使用 MED 值最低的路径。
**注意:**最佳做法是不要在 AS PATH 值前添加前缀,以确保两个隧道具有相同的 AS PATH 值。如果 AS PATH 值相等,则 VPN 隧道端点更新期间 AWS 在隧道上设置的 MED 值将决定隧道优先级。
注意: AWS VPN 不支持对虚拟专用网关上的 Site-to-Site VPN 连接启用 ECMP。AWS VPN 支持对中转网关上的 Site-to-Site VPN 连接启用 ECMP。