高可用性 VPN 拓扑

本文档介绍了推荐的高可用性 VPN 拓扑以及每个拓扑对应的服务等级协议 (SLA) 承诺的可用性。如需了解传统 VPN 拓扑,请参阅传统 VPN 拓扑。如需详细了解 Cloud VPN(包括这两种 VPN 类型),请参阅 Cloud VPN 概览

如需了解本页面中所用术语的定义,请参阅关键术语

概览

高可用性 VPN 支持下列推荐拓扑之一:

  • 将 Google Cloud 连接到对等 VPN 网关。从高可用性 VPN 网关的角度考虑,此拓扑需要两个 VPN 隧道以实现高可用性服务等级协议 (SLA)。在此配置中,高可用性 VPN 有三种典型的对等网关配置:

    • 两个独立的对等 VPN 网关,每个网关都有自己的 IP 地址。
    • 一个具有两个不同 IP 地址的对等 VPN 网关。
    • 一个具有一个 IP 地址的对等 VPN 网关。
  • 连接多个 Google Cloud VPC 网络。在此拓扑中,您可以使用两个 Google Cloud VPC 网络中各自的高可用性 VPN 网关将这两个网络连接起来。VPC 网络可以位于同一 Google Cloud 区域,也可以位于不同的 Google Cloud 区域。

    对于部署在同一区域的高可用性 VPN 网关,您将获得不同的可用性服务等级协议 (SLA),而部署在不同区域的高可用性 VPN 网关则会获得不同的 SLA。如需了解详情,请参阅高可用性 VPN 的高可用性配置

  • 将高可用性 VPN 网关连接到 Compute Engine 虚拟机实例。在此拓扑中,您将高可用性 VPN 网关连接到 Compute Engine 虚拟机 (VM) 实例。虚拟机实例可以位于同一可用区,也可以位于不同可用区。

    Compute Engine 虚拟机实例的可用性服务等级协议 (SLA) 决定了 VPN 连接的可用性服务等级协议 (SLA)。

  • 通过 Cloud Interconnect 实现的高可用性 VPN。 在此拓扑中,您需要创建高可用性 VPN 隧道,以通过专用互连或合作伙伴互连的 VLAN 连接传输 IPsec 加密流量。您可以为高可用性 VPN 网关预留区域级内部 IP 地址范围。对等 VPN 网关也可以具有内部 IP 地址。如需了解详情和架构图,请参阅 HA VPN over Cloud Interconnect 部署架构

    在 Google Cloud 中,所有对等网关场景都由一个外部对等 VPN 资源表示。

高可用性 VPN 的高可用性配置

下表概述了不同高可用性 VPN 配置提供的可用性服务等级协议 (SLA):

拓扑 说明 SLA 承诺的可用性
将 Google Cloud 连接到对等 VPN 网关 将高可用性 VPN 网关连接到一个或两个独立的对等 VPN 网关 99.99%
使用高可用性 VPN 网关连接 VPC 网络 使用两个 Google Cloud VPC 网络中各自的高可用性 VPN 网关连接这两个网络。高可用性 VPN 网关部署在同一区域。VPC 网络可以位于同一区域,也可以位于不同区域。 99.99%
高可用性 VPN 到多个可用区中的 Compute Engine 虚拟机实例 将高可用性 VPN 网关连接到多个具有外部 IP 地址的 Compute Engine 虚拟机实例 99.9%
高可用性 VPN 到单个 Compute Engine 虚拟机实例 将高可用性 VPN 网关仅连接到一个具有外部 IP 地址的 Compute Engine 虚拟机实例 服务等级协议 (SLA) 承诺的可用性取决于为 Compute Engine 的内存优化机器家族的单个虚拟机实例提供的可用性服务等级协议 (SLA)。如需了解详情,请参阅 Compute Engine 服务等级协议 (SLA)

为了帮助确保高可用性 VPN 连接达到最高可用性服务等级协议 (SLA),我们建议您配置从高可用性 VPN 网关到对等 VPN 网关或另一个高可用性 VPN 网关的两个隧道。确保对等 VPN 网关也进行相应配置,以获得相同的服务等级协议 (SLA)。

为确保在其中一个隧道发生故障时保持连接,请将高可用性 VPN 网关的所有接口连接到对等网关或其他高可用性 VPN 网关的所有接口。

将 Google Cloud 连接到对等 VPN 网关

高可用性 VPN 有 3 种典型的对等网关配置:

  • 一个高可用性 VPN 网关连接到两个独立的对等 VPN 网关,每个网关都有自己的 IP 地址
  • 一个高可用性 VPN 网关连接到一台对等 VPN 网关,该网关使用两个独立的 IP 地址
  • 一个高可用性 VPN 网关连接到一台对等 VPN 网关,该网关使用一个 IP 地址

要设置其中任一配置,请参阅创建连接到对等 VPN 网关的高可用性 VPN 网关

如果您部署使用 IPV6_ONLY 或 IPV4_IPV6 栈类型的高可用性 VPN 网关,则您的 VPN 隧道可以支持 IPv6 流量交换。您还必须在为 VPN 隧道创建的 BGP 会话中启用 IPv6。在此场景中,您可以在以下拓扑中将 IPv6 地址分配给本地子网和 VPC 子网。如需了解详情,请参阅 IPv6 支持

连接两个对等 VPN 网关

如果您的对等端网关基于硬件,请设置另一个对等端网关以在连接的这一端提供冗余和故障切换。借助第二个物理网关,您可以使其中一个网关离线进行软件升级或执行其他计划性维护。如果其中一个实体网关出现故障,该方法还可以为您提供保护。

在此拓扑中,一个高可用性 VPN 网关连接到两个对等 VPN 网关。每个对等 VPN 网关有一个接口和一个外部 IP 地址。高可用性 VPN 网关使用两条隧道,每条隧道连接到对等 VPN 网关。

在 Google Cloud 中,此配置的 REDUNDANCY_TYPE 值为 TWO_IPS_REDUNDANCY

以下示例提供 99.99% 的可用性 SLA。

高可用性 VPN 连接到两个对等(本地)VPN 网关。
高可用性 VPN 连接到两个对等(本地)VPN 网关(点击可放大)

连接一个具有两个 IP 地址的对等 VPN 网关

该拓扑描述了一个高可用性 VPN 网关连接到一个具有两个独立外部 IP 地址的对等 VPN 网关。高可用性 VPN 网关使用两条隧道,每条隧道连接到对等 VPN 网关上的一个外部 IP 地址。

在 Google Cloud 中,此配置的 REDUNDANCY_TYPE 值为 TWO_IPS_REDUNDANCY

以下示例提供 99.99% 的可用性 SLA。

高可用性 VPN 连接到一台具有两个 IP 地址的对等(本地)VPN 网关。
高可用性 VPN 连接到一台具有两个 IP 地址的对等(本地)VPN 网关(点击放大)

连接一个具有一个 IP 地址的对等 VPN 网关

该拓扑描述了一个高可用性 VPN 网关连接到一台对等 VPN 网关,该网关具有一个外部 IP 地址。该高可用性 VPN 网关使用两条隧道,两条隧道都连接到对等 VPN 网关上的这个外部 IP 地址。

在 Google Cloud 中,此配置的 REDUNDANCY_TYPE 值为 SINGLE_IP_INTERNALLY_REDUNDANT

以下示例提供 99.99% 的可用性 SLA。

高可用性 VPN 连接到一台具有一个 IP 地址的对等(本地)VPN 网关。
高可用性 VPN 连接到一台具有一个 IP 地址的对等(本地)VPN 网关(点击可放大)

为实现 99.99% 可用性进行配置

如需在 Google Cloud 端实现服务等级协议 (SLA) 承诺的 99.99% 可用性,高可用性 VPN 网关上的每个接口(共两个)都必须有一条隧道连接到对等网关上的相应接口。

如果对等网关具有两个接口,则配置两条隧道,分别从每个对等接口连接到每个高可用性 VPN 网关接口,以满足服务等级协议 (SLA) 承诺的 99.99% 可用性要求。服务等级协议 (SLA) 承诺的 99.99% 可用性不要求 Google Cloud 端进行全网状配置。在此情况下,全网状定义为每个高可用性 VPN 接口均有两条隧道,分别连接到对等网关上的每个接口。如要确认您的 VPN 供应商是否推荐全网状配置,请参阅对等(本地)VPN 网关的相应文档,或与您的 VPN 供应商联系。

在具有两个对等接口的配置中,高可用性 VPN 网关每个接口上的隧道都与对等网关上的相应接口匹配:

  • 高可用性 VPN interface 0 到对等 interface 0
  • 高可用性 VPN interface 1 到对等 interface 1

图中示例显示了两个对等 VPN 网关、两个接口一个对等 VPN 网关、两个接口

如果一个对等网关上只有一个对等接口,则每个高可用性 VPN 网关接口的每条隧道都必须连接到这一个对等接口。请参阅一个对等 VPN 网关、一个接口的图表。

以下示例不提供 99.99% 的可用性 SLA:

  • 高可用性 VPN interface 0 到对等 interface 0
不提供高可用性的拓扑。
不提供高可用性的拓扑(点击放大)

使用高可用性 VPN 网关连接 VPC 网络

您可以使用两个 Google Cloud VPC 网络中各自的高可用性 VPN 网关将这两个网络连接起来。VPC 网络和高可用性 VPN 网关可以位于同一区域,也可以位于不同区域。

您可以使用传递路由连接多个 VPC 网络。如需实现传递性路由,请创建一个hub VPC 网络,并使用单独的高可用性 VPN 连接将其他 VPC 网络连接到此枢纽。

此拓扑中的可用性服务等级协议 (SLA) 取决于高可用性 VPN 网关位于同一区域还是不同区域。如果高可用性 VPN 网关位于同一区域,您将获得更高的可用性服务等级协议 (SLA)。

连接 VPC 网络

您可以使用两个 VPC 网络中各自的高可用性 VPN 网关将这两个网络连接起来。高可用性 VPN 网关必须部署在同一区域,才能获得最佳可用性服务等级协议 (SLA),即使 VPC 网络位于不同的区域也是如此。每个高可用性 VPN 网关都通过其名称来识别其他网关。

以下示例提供 99.99% 的可用性 SLA。

Google Cloud 网络之间的高可用性 VPN 网关。
Google Cloud 网络之间的高可用性 VPN 网关(点击可放大)

如需设置此配置,请参阅创建两个相互连接的完全配置的高可用性 VPN 网关

为实现 99.99% 可用性进行配置

为了帮助确保 99.99% 的可用性服务等级协议 (SLA),请为每个高可用性 VPN 网关配置两个隧道,以满足以下两个条件:

  • Tunnel 0 将一个高可用性 VPN 网关上的 interface 0 连接到另一个高可用性 VPN 网关上的 interface 0
  • Tunnel 1 将一个高可用性 VPN 网关上的 interface 1 连接到另一个高可用性 VPN 网关上的 interface 1

您可以使用两个 VPC 网络中各自的高可用性 VPN 网关将这两个网络连接起来,其中高可用性 VPN 网关位于不同的区域。不过,此拓扑的服务等级协议 (SLA) 承诺可用性为 99.9%。

除非您要求高可用性 VPN 网关位于不同的区域,否则我们不建议将高可用性 VPN 网关位于不同的区域。VPC 网络是全球性资源,这意味着您可以使用高可用性 VPN 连接位于不同区域的资源,而高可用性 VPN 网关部署在同一区域。

以下示例提供 99.9% 的可用性 SLA。

位于多个区域的 Google Cloud 网络之间的高可用性 VPN 网关。
Google Cloud 网络之间的高可用性 VPN 网关(点击可放大)

如需设置此配置,请参阅创建两个相互连接的完全配置的高可用性 VPN 网关

为实现 99.9% 可用性 SLA 进行配置

为了帮助确保 99.9% 的可用性服务等级协议 (SLA),如果 VPN 网关位于不同的区域,请为每个高可用性 VPN 网关配置两个隧道,以满足以下两个条件:

  • Tunnel 0 将一个高可用性 VPN 网关上的 interface 0 连接到另一个高可用性 VPN 网关上的 interface 0
  • Tunnel 1 将一个高可用性 VPN 网关上的 interface 1 连接到另一个高可用性 VPN 网关上的 interface 1

如需获得更高的可用性服务等级协议 (SLA),请在同一区域部署高可用性 VPN 网关。这种配置还可让您连接位于不同区域的 VPC 网络。

将高可用性 VPN 网关连接到 Compute Engine 虚拟机实例

借助高可用性 VPN,您可以在高可用性 VPN 网关与用作网络虚拟设备并实现 IPsec 的 Compute Engine 虚拟机实例之间建立安全连接。在配置正确的情况下,此拓扑可提供服务等级协议 (SLA) 承诺的 99.9% 可用性。

将高可用性 VPN 网关连接到多个虚拟机实例

在此拓扑中,高可用性 VPN 网关连接到两个 Compute Engine 虚拟机实例。高可用性 VPN 网关和虚拟机位于两个不同的 Virtual Private Cloud 网络中。两个虚拟机位于不同的可用区,每个虚拟机都有一个外部 IP 地址。虚拟机实例充当对等 VPN 网关。

如果您想将高可用性 VPN 连接到 Compute Engine 虚拟机实例中托管的第三方网络虚拟设备虚拟机,则此拓扑尤为有用。例如,使用此拓扑时,您可以升级其中一个网络虚拟设备虚拟机,而不会导致 VPN 连接中断。

在示意图中,高可用性 VPN 网关位于名为 network-a 的 VPC 网络中,两个虚拟机位于 network-b 中。两个 VPC 网络都位于 us-central1network-a 中的高可用性 VPN 网关配配置了 network-b 中每个虚拟机的外部 IP 地址。您也可以将高可用性 VPN 网关和虚拟机放在两个不同的区域中。我们建议您使用此拓扑来提高可用性。

以下示例提供 99.9% 的可用性 SLA。

将高可用性 VPN 网关连接到两个 Compute Engine 虚拟机实例的拓扑,每个虚拟机位于不同的可用区。
将高可用性 VPN 网关连接到两个 Compute Engine 虚拟机实例的拓扑,每个虚拟机位于不同的可用区(点击可放大)

如需设置此配置,请参阅将高可用性 VPN 连接到 Compute Engine 虚拟机

为实现 99.9% 可用性 SLA 进行配置

要满足 99.9% 的 SLA,必须至少有两条隧道从高可用性 VPN 网关上的两个接口连接到每个虚拟机上的相应接口。我们建议您使用此拓扑来提高可用性服务等级协议 (SLA)。

以下每个高可用性 VPN 网关接口上有两条隧道连接到虚拟机上的接口:

  • interface 0us-central1-vm-a(位于 us-central1-a 可用区)的 Tunnel 0
  • interface 1us-central1-vm-a(位于 us-central1-a 可用区)的 Tunnel 1
  • interface 0us-central1-vm-b(位于 us-central1-b 可用区)的 Tunnel 2
  • interface 1us-central1-vm-b(位于 us-central1-b 可用区)的 Tunnel 3

将高可用性 VPN 网关 HA VPN 连接到单个虚拟机实例

借助高可用性 VPN,您可以将高可用性 VPN 网关连接到用作网络虚拟设备并运行 IPsec VPN 实现的 Compute Engine 虚拟机 (VM) 实例。高可用性 VPN 网关和虚拟机位于两个不同的 VPC 中。虚拟机具有外部 IP 地址。

整体可用性取决于为 Compute Engine 的内存优化机器家族的单个虚拟机实例提供的可用性服务等级协议 (SLA)。如需了解详情,请参阅 Compute Engine 服务等级协议 (SLA)

将高可用性 VPN 网关连接到一个 Compute Engine 虚拟机的拓扑。
将高可用性 VPN 网关连接到一个 Compute Engine 虚拟机的拓扑(点击可放大)

如需设置此配置,请参阅将高可用性 VPN 连接到 Compute Engine 虚拟机

为实现 99.9% 可用性 SLA 进行配置

为了满足服务等级协议 (SLA) 承诺的 99.9% 可用性,高可用性 VPN 网关上的每个接口必须有两条隧道连接到 Compute Engine 虚拟机的接口。

以下每个高可用性 VPN 网关接口上有两条隧道连接到虚拟机上的接口:

  • interface 0us-central1-vm-a(位于 us-central1-a 可用区)的 Tunnel 0
  • interface 1us-central1-vm-a(位于 us-central1-a 可用区)的 Tunnel 1

后续步骤

  • 如需使用高可用性和高吞吐量场景或多个子网方案,请参阅高级配置
  • 如需帮助解决使用 Cloud VPN 时可能会遇到的常见问题,请参阅问题排查