Cloud Router 概览

Cloud Router 是一项完全分布式的代管 Google Cloud 服务,可对自定义动态路由进行编程,并随您的网络流量而扩缩。Cloud Router 可与传统网络和 Virtual Private Cloud (VPC) 网络配合使用。

Cloud Router 不是连接选项,而是一项服务,它通过 Cloud VPN 或 Interconnect 连接使用边界网关协议 (BGP) 为 VPC 网络提供动态路由。Cloud Router 不支持直接对等互连或运营商对等互连连接。

Cloud Router 不是可能造成瓶颈的实体设备,并且不能使用自己。但是,它在以下情况下是必需的或者推荐使用:

  • Cloud NAT 必需
  • Cloud Interconnect 和高可用性 VPN 必需
  • 传统 VPN 的推荐配置选项

在将本地网络扩展到 Google Cloud 时,您可以使用 Cloud Router 在 Google Cloud 网络与本地网络之间动态交换路由。Cloud Router 与您的本地 VPN 网关或路由器对等互连。路由器会通过 BGP 交换拓扑信息。

拓扑更改会自动在 VPC 网络和本地网络之间传播。使用 Cloud Router 时,无需配置静态路由。

Cloud Router 路由器软件任务

Cloud Router 路由器通过一项或两项软件任务来实现,具体取决于其接口连接的对象:

  • 如果 Cloud Router 路由器至少有两个接口,并且每个接口都连接到同一高可用性 VPN 隧道对(连接到同一高可用性 VPN 网关)中的 Cloud VPN 隧道,则 Google Cloud 会使用两项软件任务实现 Cloud Router 路由器以提供软件冗余。
  • 在其他所有情况下,Google Cloud 都会使用一项软件任务实现 Cloud Router 路由器。

静态路由与动态路由

使用静态路由时,必须创建或维护路由表。任一网络上的拓扑发生更改都需要手动更新静态路由。此外,如果链接发生故障,静态路由不能自动重新路由流量。

静态路由适用于具有稳定拓扑的小型网络。您还可以严格控制路由表。路由器不会在网络之间发送通告。

借助 Cloud Router,您可以使用 BGP 在网络之间交换路由信息。您无需手动配置静态路由;网络会通过 BGP 自动快速地发现拓扑更改,并能在不中断流量的情况下无缝实施更改。这种通过 BGP 交换路由的方法称为动态路由

动态路由适用于任何规模的网络。这种方法使您无需维护静态路由。此外,如果链接发生故障,动态路由会尽可能地自动重新路由流量。要启用动态路由,请创建 Cloud Router 路由器。然后,在 Cloud Router 路由器与本地网关或路由器之间配置 BGP 会话

Cloud VPN 隧道使用静态路由

如果不使用 Cloud Router 路由器,您只能使用静态路由配置 Cloud VPN。使用静态路由有以下缺点:

  • Cloud VPN 隧道任一端发生网络配置更改时,均需要手动创建和删除与这些更改对应的静态路由。此外,静态路由更改的收敛也需要很长时间。
  • 创建使用静态路由的 Cloud VPN 隧道时,您必须在创建隧道之前指定隧道任一端的 IP 前缀列表。也就是说,每次需要更改路由时,您都必须删除并重新创建 Cloud VPN 隧道以及配置新的路由,而这会中断现有流量。
  • 配置静态路由没有标准方法。不同的供应商使用不同的命令。

如果部署 Cloud Router 路由器,则无需更改静态路由和 Cloud VPN 隧道的相关配置。Cloud Router 路由器使用 BGP 与您的 Cloud VPN 网关对等互连,以交换拓扑信息。实际上,Google Cloud 网络中的网络拓扑更改会通过 BGP 自动传播到您的本地网络(反之亦然),因此您无需为 Cloud VPN 隧道配置静态路由。

Cloud Interconnect 和 Cloud VPN 的动态路由要求

您必须具有现有 Cloud Router 路由器,然后才能执行以下操作:

创建 Cloud Router 路由器时,您可以选择 Google 端 ASN。如果您未指定 ASN,则 Google Cloud 会为您选择一个 ASN。但是,您必须在 Cloud Router 路由器的配置设置中手动指定本地(对等)路由器的 ASN。

您可以通过以下方式指定 BGP 地址:

动态路由模式

本部分介绍了区域动态路由和全局动态路由的示例。如需详细了解 VPC 网络的动态路由模式,请参阅 VPC 网络概览

如需了解动态路由模式和负载平衡器,请参阅内部 TCP/UDP 负载平衡和连接的网络

区域动态路由示例

区域动态路由可让您在单个 Google Cloud 区域内配置一条 Cloud VPN 隧道和多个虚拟机。这条隧道可将您的本地网络扩展到 VPC 网络。其他区域中的虚拟机可能也需要与本地网络连接,但这些虚拟机无法连接到该隧道。要解决这项限制,您可以创建静态路由。但是,维护静态路由很容易出错,并且可能会中断流量。

在以下示例中,Cloud Router 路由器只能看到 us-west1 区域内的资源。其他区域(如 us-central1)中的虚拟机无法连接 Cloud VPN 隧道。

Cloud Router 区域动态路由(点击可放大)
Cloud Router 区域动态路由(点击可放大)

全局动态路由示例

使用全局动态路由时,Cloud Router 路由器可以查看所有区域的资源。例如,如果您在一个区域中配置了多个虚拟机,则这些虚拟机可以自动连接到另一个区域中的 Cloud VPN 隧道,而无需维护静态路由。

以下示例显示了使用全局动态路由的 VPC 网络。us-west1 中的 Cloud Router 路由器会通告两个不同区域 us-west1us-central1 中的子网。这两个区域中的虚拟机均可动态获知本地主机。

Cloud Router 全局动态路由(点击可放大)
Cloud Router 全局动态路由(点击可放大)

在冗余拓扑中,动态路由 (BGP) 可为 VPC 和本地网络提供足够的信息。如此当路径出现故障时,系统便可重新路由流量。也就是说,如果一个区域中的连接存在问题,可将流量故障转移到另一个区域。

路由通告

Cloud Router 路由器会通过 BGP 通告本地网络中的客户端可以访问的 IP 地址。您的本地网络会将数据包发送到目标 IP 地址与通告的 IP 范围相匹配的 VPC 网络。数据包到达 Google Cloud 之后,将由 VPC 网络的防火墙规则和路由决定 Google Cloud 处理数据包的方式。

您可以使用 Cloud Router 路由器的默认通告,也可以明确指定要通告的 CIDR 范围。如果您未指定通告,则 Cloud Router 将使用默认通告。

默认

默认情况下,使用区域动态路由的 Cloud Router 路由器将通告其所在区域中的子网;使用全局动态路由的 Cloud Router 路由器将通告 VPC 网络中的所有子网。Cloud Router 路由器会自动通告新的子网。此外,如果子网具有用于配置别名 IP 地址的次要 IP 范围,则 Cloud Router 路由器会同时通告主要和次要 IP 地址。

Cloud Router 路由器的每个 BGP 会话也具有默认通告。 默认情况下,Cloud Router 路由器会将其路由通告传播到其所有 BGP 会话。如果您在 Cloud Router 路由器上配置了自定义路由通告,则其 BGP 会话将继承这些自定义通告。

在以下情况下,您必须指定自定义路由通告:

  • 您要通告的 IP 地址超出子网的主要 IP 范围或其中一个次要 IP 范围。例如,通告外部 IP 地址。
  • 您要通告使用 VPC 网络对等互连从其他 VPC 网络连接到您的 VPC 网络的路由。在这种情况下,对等网络中的子网路由和导入的自定义路由不会自动通过您 VPC 网络中的 Cloud Router 路由器进行通告。要通告这些路由,您必须在您 VPC 网络中的 Cloud Router 路由器上创建自定义路由通告,并确保对 VPC 网络对等互连连接进行配置,以交换自定义路由。

使用自定义通告时,您可以选择要通告的子网或子网内的某些部分。也就是说,您可以选择不通告某些子网。如果您不需要这些功能,请使用默认通告。

自定义

配置自定义路由通告时,您需要明确指定 Cloud Router 路由器通告的路由。在大多数情况下,自定义通告是作为默认子网通告的补充,用于添加额外的自定义 IP 地址。自定义 IP 地址是子网 IP 范围之外的地址,例如保留的外部 IP 地址。如果不使用自定义路由通告,您将需要为自定义 IP 地址创建和维护静态路由。

配置自定义路由通告时,您可以选择通告所有子网(等同于默认行为)。您还可以选择不通告所有子网,而只通告特定的子网或某个子网内的特定 CIDR 块。例如,您可能希望阻止 Cloud Router 通告特定子网。为此,您应该只通告想要公开的子网。但是,当您有选择地通告子网时,必须手动将新子网添加到自定义路由通告中。Cloud Router 不会自动通告新子网。

您可以在 Cloud Router 路由器或 BGP 会话上指定自定义路由通告。Cloud Router 路由器上的自定义路由通告适用于其所有 BGP 会话。但是,如果您在 BGP 会话上指定了自定义路由通告,则 Cloud Router 路由器的路由通告会被忽略,并被会话的通告所替换。

对于每个 Cloud Router 路由器,您最多可以指定 200 个 CIDR 范围。 此外,每个 BGP 会话同样具有 200 个 CIDR 范围限制。

示例

以下示例显示了 Cloud Router 路由器的默认行为以及自定义路由通告可能适用的场景。这些示例假定 VPC 与本地网络之间存在现有连接,例如 IPsec VPN 隧道或专用互连。

默认路由通告

使用区域动态路由的 Cloud Router 路由器会通告其所在区域中的子网。在以下示例中,Cloud Router 路由器会通告 us-central1 区域中的子网,也会通告 alias-subnet 的次要 IP 范围。如果您在 us-central1 中创建新的子网,则 Cloud Router 路由器会自动通告这些新子网。Cloud Router 不会通告未包含在子网 IP 范围内的 IP 地址,例如外部 IP 地址。

Cloud Router 默认路由通告(点击可放大)
Cloud Router 默认路由通告(点击可放大)

您可以为专门服务您本地网络内客户端的 Google Cloud 应用使用外部静态 IP 地址。在对该应用执行维护时,您可以将静态 IP 地址重新映射到另一个虚拟机,以最大限度缩短停机时间。使用 Cloud Router 路由器的默认通告时,您需要配置和维护静态路由。而自定义通告可让您通过 BGP 通告外部 IP 地址。

在以下示例中,Cloud Router 路由器会通告代理服务器的外部 IP 地址 1.2.3.4。此外部 IP 地址会映射到服务器的内部 IP 地址 10.20.0.2。Cloud Router 路由器不会通告代理服务器的内部 IP 地址或 my-subnet 子网中的任何虚拟机。本地客户端只能获知代理服务器的外部 IP 地址。

外部 IP 地址通告(点击可放大)
外部 IP 地址通告(点击可放大)

如需了解详情,请参阅通告自定义 IP 范围

限制子网通告

您可以阻止系统通告实例,而将这些实例隐藏起来。在以下示例中,Cloud Router 路由器会通告 subnet-1subnet-2。 本地网络中的客户端可以访问这些子网中的虚拟机,但不能访问 unadvertised-subnet 子网中的虚拟机。

通告 Cloud Router 路由器上指定的特定子网(点击可放大)
通告 Cloud Router 路由器上指定的特定子网(点击可放大)

如需了解详情,请参阅通告特定的 VPC 子网

根据 BGP 会话通告路由

假设您的 VPC 网络和本地网络中有生产资源和测试资源,并且您已将这些资源分布在不同的子网中。您相应地设置了两个 BGP 会话,用于通告不同的 IP 地址范围。通过使用两个不同的 BGP 会话,预期发送到某个子网的流量就不会被意外发送到另一个子网。以下示例展示了两个 BGP 会话:prod-bgp 仅通告 prod-subnettest-bgp 仅通告 test-subnet

通告 BGP 会话上指定的特定子网(点击可放大)
通告 BGP 会话上指定的特定子网(点击可放大)

如需了解详情,请参阅通告自定义 IP 范围通告特定的 VPC 子网

学习自定义动态路由

当 Cloud Router 路由器收到同一目的地前缀的多个下一个跃点时,Google Cloud 会使用路由指标,并在某些情况下使用 AS 路径长度在 VPC 网络中创建自定义动态路由。本部分介绍该过程。

动态路由模式的影响

VPC 网络的动态路由模式决定了如何应用从 Cloud Router 学习的自定义动态路由。

  • 在区域动态路由模式下,Cloud Router 会为 Cloud Router 所在区域中的目的地和下一个跃点创建自定义动态路由。Cloud Router 将该自定义动态路由的优先级设置为基准优先级,该优先级是 Cloud Router 从本地路由器通告的多出口鉴别器 (MED) 派生的。

  • 在全局动态路由模式下,Cloud Router 会为每个 Google Cloud 区域中的目的地和下一个跃点创建自定义动态路由。在包含学习了该路由的 Cloud Router 的区域中,Cloud Router 会将自定义动态路由的优先级设置为基准优先级。在所有其他区域中,Cloud Router 会将优先级设置为基准优先级加上相应的区域间费用。

您可以为导出到本地路由器的转到 Google Cloud 路由定义路由优先级。但是,本地路由器可能会覆盖此路由优先级,具体取决于其配置。例如,如果您的本地路由器修改了路由优先级。

对于 Cloud Router 学习的转到本地路由,Cloud Router 会获取 AS 路径长度和 MED 值,并计算基准优先级,如以下两个部分所述

AS 路径在前和 AS 路径长度

AS 路径在前是一种方法,通过该方法,系统有意地降低目标(前缀)的下一个跃点的优先级,以便选择同一目标的其他下一个跃点(该跃点具有较短的 AS 路径长度)。仅当下一个跃点的 AS 路径长度相同时,系统才会考虑 MED。

Google Cloud 可以使用 AS 路径在同一 Cloud Router 路由器软件任务实现的 BGP 会话中选择下一个跃点。

Google Cloud 如何使用 AS 路径

AS 路径在前与控制层面和 VPC 网络无关。仅在每个 Cloud Router 路由器软件任务中考虑 AS 路径长度,如以下情况所述。

如果单个 Cloud Router 路由器软件任务从两个或多个 BGP 会话学习了相同目的地:

  • 该软件任务选择 AS 路径长度最短的下一个跃点 BGP 会话。
  • 软件任务会将目的地、下一个跃点和 MED 信息提交到 Cloud Router 路由器控制层面。
  • 控制层面使用该信息来创建一个或多个候选路由。每个候选者的基准优先级设为“接收 MED”。

如果两个或多个 Cloud Router 路由器软件任务从两个或多个 BGP 会话学习了相同目的地:

  • 每个软件任务会选择 AS 路径长度最短的下一个跃点 BGP 会话。
  • 每个软件任务会将目的地、下一个跃点和 MED 信息提交到 Cloud Router 路由器控制层面。
  • 控制层面使用该信息来创建两个或更多候选路由。每个候选者的基准优先级设为“接收 MED”。

Cloud Router 路由器控制层面随后根据 VPC 网络的动态路由模式在 VPC 网络中安装一个或多个自定义动态路由。在全局动态路由模式下,每个区域自定义动态路由的优先级是在与 Cloud Router 路由器区域不同的区域中进行调整。如需详细了解 Google Cloud 如何选择路由,请参阅路由顺序

基准优先级和 MED

Cloud Router 使用对等路由器通告的 MED 值来计算基准优先级

  • 如果目的地前缀的 MED 值介于 0231 -1(含)之间,则 Cloud Router 会将基准优先级设置为 MED 值。
  • 如果目的地前缀的 MED 值介于 231 232 -1(含)之间,则 Cloud Router 会将基准优先级设置为 231 -1

Cloud Router 在 VPC 网络中创建自定义动态路由时设置的最终优先级值取决于网络的动态路由模式。如需了解详情,请参阅动态路由模式的影响

静态路由

请参阅 VPC 路由文档中的路由顺序部分。

VPC 子网与本地路由通告具有重叠的 IP 范围

如果您的 VPC 子网和本地路由通告具有重叠的 IP 范围,Google Cloud 会根据其 IP 范围定向出站流量。

如需了解详情,请参阅 VPC 文档中的适用的路由

将从一个 BGP 会话学习的路由通告到另一个 BGP 会话

Cloud Router 当前不支持通过静态路由通告来将从一个 BGP 会话学习的本地路由通告到另一个 BGP 会话。尝试这样做可能会导致路由被删除。

如需详细了解如何与多个 VPC 网络正确交换动态路由,请参阅 Cloud Router 问题排查页面上的 IP 前缀不传播或不可用

已知路由的限制

已知路由存在两个限制。这些限制没有直接定义已知路由数上限。而是定义唯一目标前缀数量上限。如需了解这些限制,请参阅限制

如需根据这些限制监控您的使用量,请使用以下指标:

  • router.googleapis.com/dynamic_routes/learned_routes/used_unique_destinations
  • router.googleapis.com/dynamic_routes/learned_routes/unique_destinations_limit
  • router.googleapis.com/dynamic_routes/learned_routes/any_dropped_unique_destinations

如需了解与这些限制相关的日志消息、可用于监控这些限制的指标以及问题解决方法,请参阅“问题排查”中的配额和限制

通告的前缀和优先级

当 Cloud Router 向 BGP 对等体通告前缀时,它会包含通告中每个前缀的优先级(BGP 消息)。通告的优先级作为 MED 进行实现。

您可以控制 Cloud Router 向其所有或部分 BGP 会话通告的前缀。您可以通过为前缀定义基准优先级来控制通告的优先级 (MED)。

  • 如果您的 VPC 网络使用区域动态路由模式,除非您通告自定义范围,否则每个 Cloud Router 仅通告 Cloud Router 所在区域内的子网范围。每个范围都作为前缀提供,其中 MED 是基准优先级。

  • 如果您的 VPC 网络使用全局动态路由模式,则除非您通告自定义范围,否则每个 Cloud Router 都会以 MED 匹配的前缀形式发布本区域内的子网范围。此外,Cloud Router 路由器会将来自不同区域的子网范围作为前缀,这些子网的 MED 等于基本优先级加上区域级费用。Google Cloud 会根据网络性能、距离和区域间可用带宽等因素自动计算区域间费用。每个区域间成本都有特定于一对区域的值 - 子网所在区域和通告 Cloud Router 所在的区域。

本地路由器收到通告前缀及其优先级时,本地路由器将创建用于将数据包发送到 VPC 网络的路由。

基本优先级指南

在 Cloud Router 上配置 BGP 会话时,您可以为 BGP 会话指定基准通告优先级。基准通告优先级适用于该 BGP 会话通告的所有前缀(目标)。

基准优先级是 065535 之间的整数。可能的最高基准优先级为 0。默认基准优先级是 100。如果您未指定基础优先级,则系统会使用默认优先级。

通过基准优先级,您可以控制将哪些 Cloud VPN 隧道或 Cloud 互连连接 (VLAN) 本地系统用于向您的 VPC 网络发送数据包。您可以使用基准优先级创建这些拓扑的主动/主动、主动/被动或自定义组合。如需查看使用高可用性 VPN 隧道的示例,请参阅高可用性 VPN 的主动/主动和主动/被动路由选项

选择基准优先级时,请注意以下几点:

  • 区域间费用介于 2019999 之间(含边界值)。该值取决于两个区域之间的距离、延迟时间以及其他因素。Google 会生成区域间费用值,您无法修改这些值。

  • 区域中 Cloud Router 之间的 BGP 会话的基准优先级应介于 0200 之间(含边界值)。由于区域间费用至少为 201,因此,如果您使用 201 或以上的基准优先级,则可能会无意中为 Cloud VPN 隧道或 Cloud Interconnect VLAN 连接分配低于您的预期的优先级。不同区域中的另一个 BGP 会话可能会以更高的整体优先级(MED,等于基本优先级加上区域间成本)通告相同的前缀。如果未在其他区域设置基本优先级,则可能会通过意外的 Cloud VPN 隧道或 Cloud Interconnect VLAN 连接将本地流量传递到 VPC 网络。

  • 基准优先级为 10,200 或更高,以确保前缀的整体通告优先级(MED、基本优先级加上区域间费用)始终低于基准优先级为 200 或更低的所有其他通告前缀。

如需详细了解如何设置基准优先级,请参阅更新通告路由的基准优先级

示例

本部分提供的示例说明了使用全球动态路由时区域级费用如何影响通告 MED。

具有主动/主动隧道的高可用性 VPN

在此示例中,您的 VPC 网络具有以下内容:

  • 以下每个区域中的某个子网:us-central1europe-west1us-west-1
  • 用于管理 us-central1 中两个高可用性 VPN 隧道的两个 BGP 会话的 Cloud Router
  • 用于管理 us-west1 中两个高可用性 VPN 隧道的两个 BGP 会话的 Cloud Router

有关此示例的说明,请参见下图。该图包含区域间费用的示例值。

具有主动/主动隧道的高可用性 VPN(点击可放大)
具有主动/主动隧道的高可用性 VPN(点击可放大)

假设每个 BGP 会话的默认基准优先级均为 100

以下表显示了如何使用基本优先级和区域间费用来计算从本地网络到每个子网的流量的通告 MED 值。

10.0.1.0/24 (us-central1)

下表显示了 us-central1 中通告子网 IP 地址范围 10.0.1.0/24 的 BGP 会话。

来自本地网络的流量使用 us-central1 中的高可用性 VPN,因为其 BGP 会话的通告 MED 数量最低。

VPN 隧道 基准优先级 区域间费用 通告的 MED 路径排名
central-tunnel-0,
central-tunnel-1
100 0 100 第 1 个选择
west-tunnel-0,
west-tunnel-1
100 250 350 第 2 个选择

10.0.2.0/24 (europe-west1)

下表显示了 europe-west1 中通告子网 IP 地址范围 10.0.2.0/24 的 BGP 会话。

来自本地网络的流量使用 us-central1 中的高可用性 VPN,因为其 BGP 会话的通告 MED 数量最低。

VPN 隧道 基准优先级 区域间费用 通告的 MED 路径排名
central-tunnel-0,
central-tunnel-1
100 300 400 第 1 个选择
west-tunnel-0,
west-tunnel-1
100 350 450 第 2 个选择

10.0.3.0/24 (us-west1)

下表显示了 us-west1 中通告子网 IP 地址范围 10.0.3.0/24 的 BGP 会话。

来自本地网络的流量使用 us-west1 中的高可用性 VPN,因为其 BGP 会话的通告 MED 数量最低。

VPN 隧道 基准优先级 区域间费用 通告的 MED 路径排名
central-tunnel-0,
central-tunnel-1
100 250 350 第 2 个选择
west-tunnel-0,
west-tunnel-1
100 0 100 第 1 个选择

具有主动/被动隧道的高可用性 VPN

此示例使用与上例相同的拓扑,但修改了基本优先级,以便在每个区域中实现主动/被动高可用性 VPN 隧道对:

  • BGP 会话的默认基准优先级为 100 的主隧道
  • 其 BGP 会话的优先级低于 351 的辅助隧道

以下表显示了如何使用基本优先级和区域间费用来计算从本地网络到每个子网的流量的通告 MED 值。

10.0.1.0/24 (us-central1)

下表显示了 us-central1 中通告子网 IP 地址范围 10.0.1.0/24 的 BGP 会话。

来自本地网络的流量使用 us-central1 中的主要 VPN 隧道,因为其 BGP 会话的通告 MED 数量最低。如果该隧道不可用,则流量将使用 us-west1 中的主隧道。

VPN 隧道 基准优先级 区域间费用 通告的 MED 路径排名
central-tunnel-0 100 0 100 第 1 个选择
central-tunnel-1 351 0 351 第 3 个选择
west-tunnel-0 100 250 350 第 2 个选择
west-tunnel-1 351 250 601 第 4 个选择

10.0.2.0/24 (europe-west1)

下表显示了 europe-west1 中通告子网 IP 地址范围 10.0.2.0/24 的 BGP 会话。

来自本地网络的流量使用 us-central1 中的主要 VPN 隧道,因为其 BGP 会话的通告 MED 数量最低。如果该隧道不可用,则流量将使用 us-west1 中的主隧道。

VPN 隧道 基准优先级 区域间费用 通告的 MED 路径排名
central-tunnel-0 100 300 400 第 1 个选择
central-tunnel-1 351 300 651 第 3 个选择
west-tunnel-0 100 350 450 第 2 个选择
west-tunnel-1 351 350 701 第 4 个选择

10.0.3.0/24 (us-west1)

下表显示了 us-west1 中通告子网 IP 地址范围 10.0.3.0/24 的 BGP 会话。

来自本地网络的流量使用 us-west1 中的主要 VPN 隧道,因为其 BGP 会话的通告 MED 数量最低。如果该隧道不可用,则流量将使用 us-central1 中的主隧道。

VPN 隧道 基准优先级 区域间费用 通告的 MED 路径排名
central-tunnel-0 100 250 350 第 2 个选择
central-tunnel-1 351 250 601 第 4 个选择
west-tunnel-0 100 0 100 第 1 个选择
west-tunnel-1 351 0 351 第 3 个选择

全球首选专用互连

本示例与前面的示例类似,不同支持在于您已将 us-west1 区域中的两个 Cloud VPN 隧道替换为两个 Cloud Interconnect VLAN 连接。

有关此示例的说明,请参见下图。

全球首选专用互连(点击可放大)
全球首选专用互连(点击可放大)

您希望优先使用专用互连 VLAN 连接。您可以为 us-central1 区域中的高可用性 VPN 隧道指定较大的基准优先级,以降低其优先级。

以下表显示了如何使用基本优先级和区域间费用来计算从本地网络到每个子网的流量的通告 MED 值。

10.0.1.0/24 (us-central1)

下表显示了 us-central1 中通告子网 IP 地址范围 10.0.1.0/24 的 BGP 会话。

来自本地网络的流量使用 us-west1 中的专用互连,因为其 BGP 会话的通告 MED 数量最低。

VPN 隧道或 VLAN 连接 基准优先级 区域间费用 通告的 MED 路径排名
central-tunnel-0,
central-tunnel-1
351 0 351 第 2 个选择
west-attachment-0,
west-attachment-1
100 250 350 第 1 个选择

10.0.2.0/24 (europe-west1)

下表显示了 europe-west1 中通告子网 IP 地址范围 10.0.2.0/24 的 BGP 会话。

来自本地网络的流量使用 us-west1 中的专用互连,因为其 BGP 会话的通告 MED 数量最低。

VPN 隧道或 VLAN 连接 基准优先级 区域间费用 通告的 MED 路径排名
central-tunnel-0,
central-tunnel-1
351 300 651 第 2 个选择
west-attachment-0,
west-attachment-1
100 350 450 第 1 个选择

10.0.3.0/24 (us-west1)

下表显示了 us-west1 中通告子网 IP 地址范围 10.0.3.0/24 的 BGP 会话。

来自本地网络的流量使用 us-west1 中的专用互连,因为其 BGP 会话的通告 MED 数量最低。

VPN 隧道或 VLAN 连接 基准优先级 区域间费用 通告的 MED 路径排名
central-tunnel-0,
central-tunnel-1
351 250 601 第 2 个选择
west-attachment-0,
west-attachment-1
100 0 100 第 1 个选择

默认路由

如果没有为特定 IP 目标指定路由,则流量会被发送到默认路由,这是在没有其他选项时的最后选择。例如,Google Cloud VPC 网络会自动包含将流量发送到互联网网关的默认路由 (0.0.0.0/0)。

在某些情况下,您可能希望默认将流量定向到本地网络。为此,您可以通告从本地路由器到 Cloud Router 的默认路由。有了 Cloud Router,您就无需创建和管理静态路由。如果您通告来自本地网络的默认路由,请检查该路由是否优先于其他自动创建的默认路由(具有较低的 MED 值)。请转到“路由”页面,查看目标 IP 地址范围0.0.0.0/0下一个跃点Default internet gateway 的路由的优先级

安全重启

Cloud Router 路由器会服从由您的本地路由器发送的安全重启消息。如果您为本地路由器配置了安全重启功能,那么只要您的路由器需要安装软件更新或执行定期维护,它就可以向 Cloud Router 路由器发送通知。Cloud Router 路由器会按照您本地路由器上的安全重启计时器设置所定义的时间段,保留从本地路由器获知的自定义动态路由。

如需详细了解安全重启计时器,请参阅 BGP 计时器设置

BGP 计时器设置

Cloud Router 路由器与您的本地路由器会使用以下一组计时器设置来保持通信。

keepalive 计时器
这是 Cloud Router 路由器与其对应的本地对等路由器之间定期交换 BGP 检测信号的时间间隔。keepalive 定时器与保留定时器一起指示每个路由器对另一个路由器的可用性。在本地路由器上将 keepalive 计时器设置为 20 秒。
保留计时器
此计时器会跟踪自上次成功检测到 keepalive 检测信号以来的最短时间。它指示 Cloud Router 路由器或本地路由器要等待多久才能移除从另一个路由器获知的路由。在本地路由器上将保留计时器设置为 60 秒。
安全重启计时器

该计时器指示在没有定期 keepalive 检测信号的情况下,本地路由器在收到来自对应 Cloud Router 路由器的安全重启通知消息之后,要等待多长时间才能收到新的 keepalive 检测信号。如果未收到新的 keepalive 检测信号,则本地路由器将移除其从 Cloud Router 路由器获知的路由。

Cloud Router 会将此值设置为 1 秒。对于本地路由器,请将安全重启计时器设置为适合您需求的值。在建立 BGP 会话时,每个路由器通过 OPEN 消息将其安全重启计时器值告知对等路由器。

当 Cloud Router 路由器确定下一个跃点 Cloud VPN 隧道出现故障或 Cloud Interconnect 连接中断时,它会撤消从本地设备获知的自定义动态路由。

过时路径计时器

此设置用于确定在收到来自另一个路由器的记录结束 (EOR) 消息后,路由器要等待多久才能删除已知路由。当 BGP 会话安全重启后进行重新初始化时,此计时器会启动,但 UPDATE 消息尚未处理相关前缀。我们建议在本地路由器上将过时路径计时器设置为 300 秒,以与 Cloud Router 路由器的设置相匹配。

冗余 Cloud VPN 隧道

如果本地网关不支持安全重启,则 BGP 会话任一端发生故障时,都会导致会话失败并且流量中断。超过 BGP 超时限制后(Cloud Router 路由器超时限制为 60 秒),系统便会从两端撤消路由。动态路由的 Cloud VPN 流量将不再进入隧道。系统将继续提供隧道的静态路由。

如果系统不支持安全重启,则需部署两个本地网关(每个网关一个隧道),以提供冗余和故障转移。此配置可让一个隧道及其设备脱机进行软件升级或维护,而不会中断流量。此外,如果一个隧道发生故障,另一个隧道可以使路由保持活动,流量不中断。

升级周期

Cloud Router 会定期升级,耗时不到 60 秒。升级过程中无法使用 Cloud Router。BGP 保留定时器确定在对等互连的 BGP 路由器不可用时将已知路由保留多长时间。BGP 保留定时器通过协商确定为两端两个值中的较低者。Cloud Router 使用值为 60 秒的 BGP 保留定时器。我们建议您将对等 BGP 保留计时器设置为 60 秒或更长时间(默认值为 3 分钟)。这样一来,两个路由器都将在这些升级期间保留其路由,并且流量可持续流动。

在单个 Cloud VPN 网关的维护周期内,使用 Cloud Router 路由器会增加大约 20 秒的隧道恢复时间,因为 BGP 会话会被重置且需要重新获知路由。Cloud VPN 网关恢复时间通常约为一分钟。如果存在冗余 Cloud VPN 网关,则流量就不会受到影响,因为系统一次只关闭一个 Cloud VPN 网关。

BGP 路由器 ID 和 BGP 会话重启

Cloud Router 路由器会为其 BGP 路由器 ID 选择最高接口 IP 地址,并在该地址可用时保留该 ID。如果删除用于 BGP 路由器 ID 的 Cloud Router 路由器接口,则 Cloud Router 路由器必须选择新的路由器 ID。此选择会导致所有 BGP 会话重启。如果 Cloud Router 路由器重启以进行定期维护,则路由器 ID 也可能会更改。

后续步骤

要排查 Cloud Router 的常见问题,请参阅问题排查文档

如需详细了解如何对支持的服务使用静态路由和动态路由,请参阅以下文档:

产品 路由 文档
专用互连 静态 不支持
专用互连 动态 创建 VLAN 连接
传统 VPN 基于政策,静态 使用静态路由创建传统 VPN
传统 VPN 或高可用性 VPN 动态 使用动态路由创建传统 VPN
创建高可用性 VPN 到对等 VPN 网关
创建 Google Cloud 到 Google Cloud 高可用性 VPN 网关