Cloud Router 概览

Cloud Router 是完全分布式的托管 Google Cloud 服务。这是一种能根据网络流量变化而扩缩的服务,取代了可能导致瓶颈的物理设备。

在将本地网络扩展到 Google Cloud 时,可以使用 Cloud Router 在 Google Cloud 网络与本地网络之间动态交换路由。Cloud Router 与您的本地 VPN 网关或路由器对等互连。路由器通过边界网关协议 (BGP) 交换拓扑信息。拓扑更改会自动在 VPC 网络和本地网络之间传播。您无需配置静态路由。

Cloud Router 可与传统网络和虚拟私有云 (VPC) 网络配合使用。

静态路由与动态路由

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

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

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

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

使用静态路由的 VPN 隧道

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

  • VPN 隧道任一端发生网络配置更改时,均需要手动删除并创建与这些更改对应的静态路由。此外,静态路由更改收敛缓慢。
  • 创建使用静态路由的 VPN 隧道时,必须在创建隧道之前指定隧道两端的 IP 前缀列表。这意味着每次需要更改路由时,都必须使用新路由更新(即删除并重新创建)VPN 隧道,而这会中断当前流量。
  • 配置静态路由没有标准的方法。不同的供应商使用不同的命令。

在以下示例中,组合网络由 Google Cloud 网络和 VPN 隧道另一端的本地网络中的 29 个子网(每个机架一个)组成。在本例中,假设您的业务正在增长,因此需要每周添加一个新的计算机子网。本周,您要添加的子网是 10.0.30.0/24,如下图所示:

使用 VPC 网络连接 VPN 的 Cloud Router(点击可放大)
不使用 Cloud Router 的 VPN(点击可放大)

在本例中,基于静态路由的 VPN 将需要进行以下更改:

  1. 需要将静态路由添加到 Google Cloud Platform 以访问新的本地子网。
  2. 拆除并重新创建 VPN 隧道以包含新的本地子网。

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

VPC 网络中使用动态路由的 VPN 隧道

您可以使用 VPC 网络按区域将网络 IP 空间划分为多个前缀(子网),并且可以控制从哪个前缀分配虚拟机实例的内部 IP 地址。为避免静态管理这些子网(包括为 VPN 添加和移除相关静态路由的负担),请使用 Cloud Router 为 VPN 隧道启用动态路由。

Cloud Router 路由器属于特定的 VPC 网络和区域。Cloud Router 路由器通过 BGP 将其 VPC 网络的子网通告发送到本地网关。它根据 VPC 网络的动态路由模式通告其本地区域中的子网或网络中的所有子网。Cloud Router 路由器还通过 BGP 获知本地路由,并使网络基础架构能够选择访问相关前缀的最佳路由。

以下示例显示了使用自定义模式 VPC 网络的 Cloud Router。如果您使用自动模式 VPC 网络,Cloud Router 会自动公布区域的 /20 前缀

下图显示了 VPC 网络中两个不同区域的子网和本地网络中的 30 个子网。这两个网络通过 Cloud VPN 隧道连接。在本例中,两个网络中都添加了新的子网:

  1. GCP 网络的 us-east-1 区域中添加了新子网 192.168.1.0/24
  2. 本地网络中添加了新子网 10.0.30.0/24,用于处理数据中心不断增长的流量。
使用 VPC 网络连接 VPN 的 Cloud Router(点击可放大)
使用 VPC 网络连接 VPN 的 Cloud Router(点击可放大)

为了自动传播网络配置更改,VPN 隧道使用 Cloud Router 与本地 VPN 网关建立 BGP 会话,该网关必须支持 BGP。新的子网可在网络之间无缝通告。新子网中的实例可以立即开始发送和接收流量。

要设置 BGP,必须为 VPN 隧道的每一端各分配一个额外的 IP 地址。这两个 IP 地址必须是属于 IP 地址范围 169.254.0.0/16链路本地 IP 地址。这两个地址均不属于其中任何一个网络的 IP 地址空间,而是专门用于建立 BGP 会话。这些地址无法路由,因此也就无法很好地配合常用网络测试工具使用。例如,Traceroute 不起作用,而且仅在请求来自以对等端的链路本地地址为目标的链路本地地址时,ping 测试才能生效。

旧版网络中使用动态路由的 VPN 隧道

在传统网络中,网络配置更改会自动传播,而无需重新配置静态路由和重启 VPN 隧道(类似于上一个示例)。

BGP 会话会通知每个路由器所发生的本地更改。要设置 BGP,必须为 VPN 隧道的每一端各分配一个额外的 IP 地址。这两个 IP 地址必须是属于 IP 地址范围 169.254.0.0/16链路本地 IP 地址。这两个地址不属于隧道任何一端上的 IP 地址空间,而是专门用于配置 BGP 对等体以建立 BGP 会话。

您必须在隧道的两端配置两个链路本地 IP 地址(均来自同一子网)和一个网络掩码。在隧道两端配置完这些更改后,即建立了 BGP 会话。

同样,如果网络在多个区域中具有 VPN 隧道,则必须在需要动态路由的每个区域中创建 Cloud Router 路由器。单个 Cloud Router 路由器可用于路由器所属的网络区域中的多个 VPN 网关和多个隧道。

动态路由模式

VPC 网络的动态路由模式确定哪些子网对 Cloud Router 路由器可见。您可以将动态路由模式设置为全局性或区域性:

  • 如果使用全局动态路由,Cloud Router 路由器会将 VPC 网络中的所有子网通告给本地路由器。Cloud Router 路由器将获知的路由从本地路由器传播到所有区域。
  • 如果使用区域动态路由,Cloud Router 路由器会在其本地区域中通告和传播路由。

动态路由模式在 VPC 网络上配置。创建或修改 VPC 网络时,可以将动态路由模式设置为全局性或区域性。VPC 网络中的所有 Cloud Router 实例都使用网络的动态路由模式。默认情况下,使用区域路由模式。

如果更改 VPC 网络的动态路由模式,则需要考虑诸如中断现有连接或启用无关路由之类的影响。例如,如果更改为区域动态路由,则可能连接到其他区域中的 VPN 隧道和互连的虚拟机实例可能会丢失连接。如果更改为全局动态路由,则 Cloud Router 可能会通告无关区域中的虚拟机实例。要查看或配置动态路由模式,请参阅设置区域或全局动态路由

区域动态路由示例

使用区域动态路由时,您可能在单个 GCP 区域中具有 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 VPN 隧道。虚拟机实例 (10.128.0.0/20) 使用 us-west1 区域中的 tunnel-us-west1 来访问本地网络中的两个子网。同样,us-central1 中的虚拟机实例 (10.138.0.0/20) 使用隧道 tunnel-us-central1

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

路由被配置为使虚拟机实例首选其本地隧道(其所在区域中的隧道)。Cloud Router 为具有相同目的地的本地和远程路由设置不同的权重。如果一个隧道出现故障,Cloud Router 可以适当地重新路由流量。

在以下示例中,tunnel-us-west1 出现故障。进出虚拟机实例 (10.128.0.0/20) 的流量将通过 tunnel-us-central1 重新路由,而不是被删除。

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

路由通告

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

您可以使用 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 地址),您必须指定自定义通告。此外,使用自定义通告时,您可以有选择地通告多个子网或子网的某些部分。这样您就可以保留某些子网,不进行通告。如果您不需要这些功能,请使用默认通告。

自定义

配置自定义路由通告时,您需要明确指定 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。

示例

以下示例显示了 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 默认路由通告(点击可放大)

您可以为服务于本地网络中的客户端的 GCP 应用使用外部静态 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-subnetprod-bgp,和仅通告 test-subnettest-bgp

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

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

从 GCP 到本地网络的出站流量的最佳路径

如果 Cloud Router 收到指向同一目的地的多条路由,GCP 将使用路由指标(在某些情况下,使用 AS 路径长度)来确定最佳路径。以下列表描述了用于出站流量的算法,其中一个或多个 Cloud Router 路由器管理一个 VPC 网络的动态路由。

  1. 如果在单个 Cloud Router 路由器上有多个 BGP 会话,则出站流量由以下首先满足的条件决定:
    1. 所有出站流量都被发送到 AS 路径长度最短的路由。
    2. 如果路由具有相同的 AS 路径长度,则所有出站流量都将被发送到多出口鉴别器 (MED) 值最低(路由指标值最低)的路由。
    3. 如果路由具有相同的 AS 路径长度和 MED 值(路由指标值相同),则使用等成本多路径 (ECMP) 在所有路由间平衡出站流量。
  2. 如果您使用同一区域中的多个 Cloud Router 路由器,则 GCP 仅使用路由指标来确定最佳路径。这种情况下不使用 AS 路径长度。出站流量由以下首先满足的条件决定:
    1. 所有出站流量都将被发送到多出口鉴别器 (MED) 值最低(路由指标值最低)的路由。
    2. 如果路由具有相同的 MED 值(路由指标值相同),则使用 ECMP 在所有路由间平衡出站流量。
  3. 如果静态路由与 Cloud Router 动态路由发生冲突,则静态路由优先。与动态路由具有相同的前缀和路由指标的静态路由始终优先,因此任何冲突的动态路由都将被忽略。

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

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

如果子网 IP 范围大于或等于本地路由通告的范围,则 GCP 将忽略本地通告。发往子网 IP 范围的所有 GCP 出站流量都将定向到 VPC 子网。例如,如果子网的 IP 范围为 10.2.0.0/16,而本地路由器通告范围为 10.2.1.0/24,则 GCP 将忽略本地通告并将 10.2.0.0/16 流量定向到 VPC 子网。

如果子网 IP 范围小于本地路由通告的范围,且目标 IP 在子网的 IP 范围内,则 GCP 出站流量将被定向到 VPC 子网。与本地通告匹配的所有其他出站流量将被定向到本地网络。例如,如果子网的 IP 范围为 10.2.0.0/16,而本地路由器通告范围为 10.0.0.0/8,则 GCP 会将发往 10.0.0.0/8 的流量定向到本地网络,但如果目标地址与 10.2.0.0/16 相匹配,则 GCP 会将流量定向到子网。

路由指标

当 Cloud Router 通告或传播路由时,会使用路由指标来指定路由优先级。如果 VPC 网络和本地网络之间有多条路径,则由路由指标来确定首选路径。此指标值等于多出口鉴别器 (MED) 值。路由指标值 (MED) 越低,表明优先级越高。

路由指标由通告路由的基准优先级和区域成本组成。基准优先级是用户指定的值,而区域成本是 Google 生成的值,您无法修改。区域成本表示 VPC 网络中两个区域之间通信的成本。Cloud Router 将这两个值加在一起得出路由指标。

对于区域动态路由,由于 Cloud Router 仅处理其所在区域中的路由,因此不会为路由指标增加任何区域成本。Cloud Router 仅使用通告路由的基准优先级。

对于全局动态路由,所有 Cloud Router 路由器都会通告和传播相同的路由。但是,由于存在区域成本,每个 Cloud Router 路由器使用的路由指标可能不尽相同。

通告路由的基准优先级

在计算路由指标时,Cloud Router 以通告路由的基准优先级值为起点,然后加上可能存在的区域成本。此基准值是通告路由的最小路由指标。在 Cloud Router 路由器上配置 BGP 会话时,可以指定通告路由的基准优先级,该优先级适用于该会话的所有路由。默认情况下,通告路由的基准优先级值为 100。

通告路由的基准优先级可用于设置路由的优先级。例如,您的 VPC 和本地网络可能通过 VPN 隧道和专用互连连接。您可以设置通告路由的基准优先级,使流量首选专用互连。如果互连不可用,则流量将遍历隧道。如需了解详情,请参阅示例拓扑

区域成本

当 Cloud Router 路由器通告自身所在区域以外的区域中的路由(来自远程 GCP 区域的路由)或将路由传播到远程区域时,会增加区域成本。

区域成本介于 201 到 9999 之间(包含 201 和 9999)。该值取决于两个区域之间的距离、延迟时间以及其他因素。区域成本值由 Google 生成,您无法修改。如需详细了解区域成本,请参阅示例拓扑

区域成本有助于根据区域邻近度确定路径的优先级。例如,假设您的 VPC 和本地网络之间有两个连接(例如两个具有自己的 Cloud Router 路由器的 VPN 隧道)。一个连接位于 us-central1,另一个连接位于 europe-west1。通过为路由指标增加区域成本,us-central1 中的网络之间的流量会优先考虑 us-central1 隧道。同样,europe-west1 中的网络之间的流量会优先考虑 europe-west1 隧道。如果没有区域成本,流量将在两个连接之间平均分配,从而导致网络性能不一致。

对于已获知的路由,Cloud Router 在将已获知的路由传播到远程 GCP 区域时会增加区域成本。这有助于保持 VPC 和本地网络之间的入站和出站流量之间的对称性。Cloud Router 将区域成本加到本地路由器通告的 MED 值上。

建议的基准优先级值

要调整单个区域中路由之间的优先级,请使用小于 201 的值。这样可保证区域成本不会影响全局路由优先级。来自其他区域(远程区域)的路由的优先级不能低于 201。如果使用更高的值,则区域成本可能会影响路由的优先级。例如,假设您有主连接和备用连接。如果将备用连接的基准优先级设置得过高,则可能会无意中优先选择其他区域的路由,而不选择备用连接。

要在 VPC 网络中全局性地降低路由优先级,请使用高于 10200 的值。这样可确保无论区域成本如何,低于 201 的所有其他路由都始终具有优先权。

要使区域中的所有路由优先级相同,则可以使用默认值 100。

示例拓扑

以下示例说明了在使用全局动态路由时区域成本如何影响路由指标。

假设您的 VPC 网络有两条 VPN 隧道,每条隧道有自己的 Cloud Router 路由器。一条隧道位于 us-central1,另一条隧道位于 us-west1。默认情况下,进入这两个区域的入站流量使用其各自区域中的相应隧道。但是,如果要访问不在这些区域中的虚拟机实例(例如 europe-west1 中的实例),会发生什么?下图显示了区域成本如何影响路由指标。

通告路由的 Cloud Router 路由指标(点击可放大)
通告路由的 Cloud Router 路由指标(点击可放大)

两个 Cloud Router 路由器都通告指向 europe-west1 的路由,但使用的路由指标不同。由于距离、延迟时间以及其他因素,us-central1 中的 Cloud Router 路由器以低于 us-west1 的路由指标通告指向 europe-west1 的路由。本例假设通过 us-central1 到 europe-west1 的区域成本是 300,通过 us-west1 的区域成本则是 350。入站流量使用路由指标值较低的 us-central1 隧道。该隧道的路由指标为 350,而 us-west1 隧道的路由指标则是 400。

同样,Cloud Router 会在已知路由的 MED 值(由本地路由器指定)上加上区域成本。默认情况下,来自 europe-west1 区域的出站流量也使用路由指标值较低的 us-central1 隧道。这样一来,入站流量和出站流量将保持对称。

已知路由的 Cloud Router 路由指标(点击可放大)
已知路由的 Cloud Router 路由指标(点击可放大)

区域内的路由优先级

为在 us-west1 中实现冗余,假设您创建了一个备用隧道。您为备用隧道指定了较高的基准优先级,以便进入 us-west1 的入站流量优先选择主隧道,如以下示例所示:

区域内路由的基准优先级(点击可放大)
区域内路由的基准优先级(点击可放大)

如果主隧道出现故障,则进入 us-west1 的入站流量优先选择备用隧道(路由指标值为 51),而不选择 us-central1 隧道(路由指标值为 400):

区域内路由的基准优先级(点击可放大)
区域内路由的基准优先级(点击可放大)

同样,对于从 VPC 网络到本地网络的出站流量,请使用低于 201 的 MED 值来优先选择某条路径。否则,从 VPC 网络到本地网络的出站流量可能与入站流量不对称。

要使区域中的所有隧道或互连优先级相同,则可以使用默认的基准路由优先级 100。

全局首选路由

假设您的专用互连和 VPN 隧道位于不同区域。您希望优先选择专用互连,因为它对您的工作负载而言比 VPN 隧道更具成本效益。您可以为 VPN 隧道路由指定基准优先级 10051 以降低其优先级。这样一来,无论区域成本如何,所有入站流量都将使用专用互连。专用互连的路由指标不会超过 10051。仅当互连出现故障时,流量才使用 VPN 隧道。

全局路由的基准优先级(点击可放大)
全局路由的基准优先级(点击可放大)

您还需要对本地路由器进行相同的调整,以便从 VPC 网络到本地网络的出站流量始终优先使用专用互连。

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

默认路由

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

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

安全重启

Cloud Router 已启用安全重启。启用安全重启后,即可在不中断流量的情况下使本地 BGP 设备脱机并在安全重启期间恢复。当 BGP 代理需要软件升级和其他类型的维护或暂时出现故障时,此功能可防止流量中断。

请在支持安全重启的 BGP 设备上启用该功能。

启用安全重启的 Cloud VPN 隧道

在以下示例中,如果 Cloud Router 需要维护更新,只要在安全重启期间重新联机,就可以在不中断流量的情况下进行更新。

安全重启和 Cloud Router(点击可放大)
安全重启和 Cloud Router(点击可放大)

BGP 定时器设置

Cloud Router 路由器和您的本地路由器使用以下一组定时器设置来保持通信:

Keepalive 定时器:这是 Cloud Router 路由器与其对应的本地对等路由器之间交换的定期 BGP 检测信号之间的时间间隔。keepalive 定时器与保留定时器一起指示每个路由器对另一个路由器的可用性。Google 建议在本地路由器上将 keepalive 定时器设置为 20 秒。

保留定时器:此定时器跟踪自检测到上次 keepalive 检测信号以来的最短时间。它指示 Cloud Router 路由器或本地路由器在移除从另一个路由器获知的路由之前应等待的时间。Google 建议在本地路由器上将保留定时器设置为 60 秒。

安全重启定时器:这是本地路由器在收到来自对应的 Cloud Router 路由器的安全重启通知消息之后,以及新的 keepalive 检测信号到来之前等待的时间,在此期间没有定期 keepalive 检测信号。如果未收到新的 keepalive 检测信号,则本地路由器将移除从 Cloud Router 获知的路由。Google 建议将此定时器设置为 60 秒

Stalepath 定时器:此设置用于确定在收到来自另一个路由器的记录结束 (EOR) 消息后,以及删除已获知的路由之前,路由器应等待的时间。安全重启后 BGP 会话将重新初始化,此时此定时器启动,但 UPDATE 消息尚未处理相关前缀。Google 建议将此定时器设置为 300 秒,以匹配 Cloud Router 的设置。

冗余 Cloud VPN 隧道

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

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

以下示例用一个框表示 Cloud Router 路由器,但具有两个 IP 地址。这两个地址是同一个 Cloud Router 路由器任务中的独立以太网接口。每个接口用于具有单独的本地网关的单独 BGP 会话。在此特定用例中,由于这些 VPN 隧道是为实现冗余而创建的,因此两个 BGP 会话交换完全相同的一组路由前缀,但各自有指向不同 VPN 隧道的下一个跃点。

不使用安全重启的冗余(点击可放大)
不使用安全重启的冗余(点击可放大)

升级周期

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

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

后续步骤

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

产品 路由 文档
专用互连 静态 不支持
专用互连 动态 创建 VLAN 连接
Cloud VPN 基于政策 创建使用基于政策的路由的 VPN 隧道
Cloud VPN 静态 创建使用静态路由的 VPN 隧道
Cloud VPN 动态 创建使用动态路由的 VPN 隧道
此页内容是否有用?请给出您的反馈和评价:

发送以下问题的反馈:

此网页
Cloud Router