我使用的是官方 Google Cloud Routes 文档页面中显示的示例(查看此页面我将其列为“优先级”),因为它与我想要实现的目标密切相关。
假设我定义了两条路线,如下所示:
NAME NETWORK DEST_RANGE NEXT_HOP PRIORITY
vpnroute default 192.168.0.0/16 [ZONE]/instances/vpninstance 1000
vpnroute-backup default 192.168.0.0/16 [ZONE]/instances/vpninstance-backup 2000
官方文档中指出:
在这种配置下,VPN 流量通常由 vpninstance 处理,但如果删除 vpnroute,则会回退到 vpninstance-backup。
我希望此故障转移是自动的。我该如何实现?
或者换句话说:我希望拥有高可用性实例,可以将其用作路由规则中的 nextHop,并且我对主动/被动模型很满意。实现此目标的最简单方法是什么?我喜欢上述解决方案,但事实证明,当我检测到我的主要路由的 NEXT_HOP 已关闭时,我必须手动删除路由
我的假设是,我可以有两条具有不同优先级的路线,并且如果优先级较高的路线不起作用,则会按照优先级的顺序尝试路线,但我想我可能错了。
答案1
根据文档路线示例:
名称 网络 目标范围 下一跳 优先级 vpnroute 默认 192.168.0.0/16 [ZONE]/instances/vpninstance 1000 vpnroute-backup 默认 192.168.0.0/16 [ZONE]/instances/vpninstance-backup 2000
在这种配置下,VPN 流量通常由 vpninstance 处理,但如果删除 vpnroute,则会回退到 vpninstance-backup。
它表明如果路线“虚拟专用网络路由“被删除,而不是 NEXT_HOP 实例。如果某条路由的 NEXT_HOP 实例被停止或删除,路由选择机制将根据定义的优先级为同一 DEST_RANGE 选择下一个可用路由来发送流量。
在给定的文档示例中,如果 NEXT_HOP“vpninstance”实例被删除、停止或不通信,路由选择机制将选择下一个路由“vpnroute-backup”,其 NEXT_HOP 定义为“vpninstance-backup”。它不需要删除路由“vpnroute”即可使“vpnroute-backup”成为活动路由。
我可以进行同样的测试。