具有 NVA 和区域故障切换功能的 NCC 跨云网络

Last reviewed 2026-08-24 UTC

本文档提供了一种参考架构,可用于部署混合或跨云网络中心辐射型网络拓扑,该拓扑使用网络虚拟设备 (NVA) 在 Google Cloud 内或与Google Cloud外的网络之间路由流量。

本文档的目标受众群体是构建网络连接的网络管理员,以及规划工作负载部署方式的云架构师。本文档假定您对路由、BGP 协议、互联网连接以及要部署的 NVA 软件有基本的了解。

此设计支持多个与本地或云服务提供商 (CSP) 位置的远程连接,以及多个工作负载虚拟私有云 (VPC) 网络。它侧重于创建高性能、弹性且多区域的部署,通过使用动态路由提供区域亲和性和跨区域故障切换。动态路由由 BGP 提供支持,可完全自动检测和恢复 NVA 中断。该设计将 NVA 放置在从 Google Cloud 到本地或其他 CSP 的所有流量中,并将 NVA 放置在工作负载 VPC 网络之间。

如果您要在网络中添加 NVA,此架构适合以下设计要求:

  1. 支持跨区域 NVA 故障切换:自动检测某个区域中的 NVA 路由故障,并根据需要将流量重新路由到附近Google Cloud 区域中的 NVA。
  2. 保持区域亲和性:除非发生故障,否则将路由保持在 Google Cloud 区域内,以减少延迟时间和数据传输费用。只有在发生故障时,流量才会路由到远程区域或混合连接。

除非您使用可伸缩性部分稍后介绍的选项进行配置,否则此设计无法在 NVA 之间提供对称路由。如果与区域故障切换和本地网络流量亲和性相比,对称路由对您的设计更为重要,请参阅 VPC 网络对等互连跨云网络(使用 NVA 和区域亲和性)。

架构

下图展示了此架构中使用的组件。该图仅显示了两个区域,但该设计可以扩展到其他区域。

CCN 部署,显示通过 NVA 连接的路由和中转 VPC 网络。

架构组件

上述示例架构包含以下组件:

外部网络(本地网络或其他 CSP 网络)

外部网络可以是本地网络,也可以位于其他 CSP 中。它托管在工作负载 VPC 网络中运行的应用的客户端。外部网络也可以托管应用,但 NVA 仅处理往返于工作负载 VPC 网络的流量。

在该图中,Cloud Interconnect 将外部网络连接到路由 VPC 网络。此架构还支持使用 Cloud VPN 而不是 Cloud Interconnect。外部网络使用 Cloud Interconnect VLAN 连接或 Cloud VPN 隧道连接到 Network Connectivity Center (NCC) hub 1,作为混合 spoke。

路由 VPC 网络

路由 VPC 网络使用 Cloud Interconnect 或 Cloud VPN 连接到外部网络。它通过多 NIC NVA 连接到中转 VPC 网络。

在路由 VPC 网络与中转 VPC 网络之间传递的流量必须通过 NVA。路由 VPC 网络中的 Cloud Router 路由器与外部网络路由器以及连接到路由 VPC 网络的 NVA NIC 交换路由。

中转 VPC 网络

中转 VPC 网络通过多 NIC NVA 连接到路由 VPC 网络。此网络在路由 VPC 网络与工作负载 VPC 网络之间传递流量。

中转 VPC 网络还会将流量从工作负载 VPC 网络传递到 NVA,然后再传递回工作负载 VPC 网络,以实现工作负载间流量。

网络中的 Cloud Router 路由器会与连接到中转网络的 NVA NIC 交换路由。

NVA

多 NIC NVA 成对部署在多个 Google Cloud 区域中。每个 NVA 都有一个连接到路由 VPC 网络的 NIC 和另一个连接到中转 VPC 网络的 NIC。NVA 在两个网络之间传递流量,还可以提供流量检查等其他功能。

在该架构中,工作负载 VPC 网络之间的流量必须通过 NVA。在此架构中,NVA 至少有两个网卡:一个 NIC 连接到路由 VPC 网络,另一个 NIC 连接到中转 VPC 网络。该架构可以选择性地支持额外的网卡,以用于管理或连接到其他网络。

NCC hub 1

此 NCC hub 可在外部网络混合连接与连接到路由 VPC 网络的 NVA 网卡之间提供连接。

枢纽配置为网状拓扑,其中包含以下类型的混合 spoke:路由器设备 spoke、Cloud VPN spoke 和 Cloud Interconnect VLAN 连接 spoke。

连接到路由 VPC 网络的 NVA 网卡会作为路由器设备 spoke 添加到 hub。最多可添加 8 个 NVA 作为单个 spoke。

工作负载 VPC 网络

工作负载 VPC 网络托管可从外部网络中的客户端访问或从其他工作负载 VPC 网络中的客户端访问的应用。工作负载 VPC 网络还可以托管可从其他网络访问的 Private Service Connect 端点。

工作负载 VPC 网络配置为 NCC hub 2 上的 VPC spoke。工作负载 VPC 网络通过 NCC hub 2 连接到中转 VPC 网络中的 NVA 网卡。离开工作负载 VPC 网络的流量会路由到 NVA,无论流量的最终目的地是什么。

NCC hub 2

此 NCC Hub 可在工作负载 VPC 网络与中转 VPC 网络中的路由器设备 NVA 接口之间建立连接。

hub 配置为星形拓扑,并按如下方式连接 spoke:

  • 中转 VPC 网络中的 NVA 接口配置为中心 spoke 群组中的路由器设备 spoke。
  • 工作负载 VPC 网络配置为边缘 spoke 群组中的 VPC spoke。

进出工作负载 VPC 网络的流量必须通过 NVA。

流量

以下部分展示了当所有 NVA 和与外部网络的连接正常运行时的正常流量流,以及当某个区域中的连接或 NVA 发生故障时的故障切换流量流。

正常的流量

下图展示了 NVA 和与外部网络的连接正常运行时的流量流:

在 NVA 正常工作时,流量会保留在各自的区域内。

如果一切正常,区域流量会保留在相应区域中:

  1. BGP 指标可维护区域内的本地流量(从区域 A 到区域 A 或位置 A),从而无需进行资源或路由标记。
  2. 此架构将 NVA 定位为处理工作负载 VPC 网络之间以及工作负载 VPC 网络与外部网络之间的流量。

以下列表介绍了图表中显示的流量:

从外部网络到工作负载 VPC 网络

流量遵循路由通过 Cloud Interconnect 连接到达路由 VPC 网络。Cloud Router 通过 Network Connectivity Center Hub 将路由通告给 NVA。

在路由 VPC 网络中,流量通过从活跃 NVA 获知的动态路由路由到活跃 NVA 的 NIC。流量遵循路由通过 NVA 到达其另一个 NIC,然后该 NIC 将流量传递到中转 VPC 网络。流量遵循通过 NCC 对等互连到达目标工作负载 VPC 网络的路由。

工作负载 VPC 网络到外部网络

流量遵循从 NCC Hub 2 通过 NCC 对等互连获知的到达 NVA 的路由。它通过 NIC 进入活跃 NVA。

流量遵循路由通过 NVA 到达其另一个 NIC,然后该 NIC 将流量传递到路由 VPC 网络。流量遵循已编入路由 VPC 网络的路由到达 VLAN 连接,然后到达远程网络。

工作负载 VPC 网络到工作负载 VPC 网络

流量遵循从 NCC Hub 2 通过 NCC 对等互连获知的到达 NVA 的路由。它通过中转 VPC 中的 NIC 进入 NVA。

如果有多个活跃的 NVA,则 BGP 指标会控制哪个 NVA 是下一跳。流量会遵循从 NCC hub 2 获知的路由,通过同一 NIC 并通过 NCC 对等互连返回到另一个工作负载 VPC 网络。

故障切换流量

下图显示了某个区域中的所有 NVA 都发生故障时的流量流:

区域 A 通过区域 B 进行故障切换的流量流。

如果某个区域中的所有 NVA 都完全发生故障,系统会自动通过最近的远程区域中运行状况良好的 NVA 重新路由流量。此架构还可应对一个区域中的混合连接故障。

使用的产品

此参考架构使用以下 Google Cloud 产品:

  • Virtual Private Cloud (VPC):为您的 Google Cloud 工作负载提供全球可扩缩的网络功能的虚拟系统。VPC 包括 VPC 网络对等互连、Private Service Connect、专用服务访问通道和共享 VPC。
  • Network Connectivity Center:一个编排框架,用于在连接到名为 hub 的集中管理资源的 spoke 资源之间简化网络连接。。
  • Cloud Interconnect:一种通过高可用性、低延迟的连接将您的外部网络扩展到 Google 网络的服务。
  • Cloud VPN:一种通过 IPsec VPN 隧道将您的对等网络安全地扩展到 Google 网络的服务。
  • Cloud Router:一项分布式全托管式服务,可提供边界网关协议 (BGP) 发言者和响应者功能。Cloud Router 可与 Cloud Interconnect、Cloud VPN 和路由器设备配合使用,根据 BGP 收到的路由和自定义已知路由在 VPC 网络中创建动态路由。
  • Compute Engine:一项安全且可自定义的计算服务,可让您在 Google 的基础设施上创建并运行虚拟机。

设计替代方案

您可以根据自己的需求选择以下设计替代方案:

  • 此架构不提供对特定应用的集中式访问。如果您想添加集中式访问权限,可以按照适用于分布式应用的跨云网络中所述配置服务访问通道 VPC 网络。
  • 此设计假设 VPC 网络分布在多个 Google Cloud 项目中。不过,您可以根据项目分配策略在单个项目中预配 VPC 网络。

设计考虑事项

本部分介绍了一些设计因素、最佳实践和设计建议,您在使用此参考架构开发满足特定安全性、可靠性、可伸缩性和性能要求的拓扑时应考虑这些内容。

安全与合规性

以下是设计注意事项和建议,可帮助您在 Google Cloud 中设计满足工作负载安全性和合规性要求的拓扑:

可靠性

以下是设计注意事项和建议,可帮助您在 Google Cloud 中设计满足工作负载可靠性要求的拓扑:

  • 通过将区域中的 NVA 分散到多个Google Cloud 可用区来提高可靠性。这样做可以消除对单个可用区的依赖,从而提高可用区服务中断的恢复能力。
  • 如需实现 99.99% 的 Cloud Interconnect 可用性,您通常必须连接到两个不同的 Google Cloud 区域,即使您只有一个区域中的虚拟机也是如此。如果您使用的是专用互连,则某些区域支持在单个区域内实现 99.99% 的可用性。

可伸缩性

本部分介绍了一些设计注意事项和建议,可帮助您在 Google Cloud 中设计满足工作负载可伸缩性要求的拓扑。

如果您的设计不依赖于对称路由,则可以通过添加更多 NVA 节点来扩缩。

如果您的设计需要对称路由,您可以考虑以下选项,具体取决于您的 NVA 软件提供的功能:

  • 使用 BGP 属性在每个区域中维护一个活跃的 NVA 节点,但调整该虚拟机的大小以处理您的流量。
  • 使用供应商功能在 NVA 上配置源 NAT。
  • 如果您的供应商支持,您可以设置跨节点的会话同步。
  • 利用 BGP 流量工程选项(例如 BGP 路由政策)按流配置主动-备用配置。例如,您可以配置某些网络,使其优先选择 NVA-A 而不是 NVA-B,并反转其他网络的偏好设置。

性能优化

以下是设计 Google Cloud 中满足工作负载性能要求的拓扑时的设计注意事项和建议:

  • 您或许可以通过增加网络和连接的最大传输单元 (MTU) 来提高网络性能。如需了解详情,请参阅最大传输单元。
  • 为了缩短收敛时间,请考虑在适用的情况下使用 BGP BFD 来加快检测和缓解 BGP 事件中断的速度。为 Cloud VPN 隧道或配置为路由器设备 spoke 的 NVA 配置的 BGP 会话不支持 BFD。

部署

如需部署此参考架构,请完成以下步骤:

  1. 确定 Google Cloud 区域。
  2. 设计和构建项目结构。
  3. 规划 IP 地址分配。
  4. 创建路由 VPC 网络。
  5. 创建与外部网络的连接。
  6. 创建中转 VPC 网络和工作负载 VPC 网络。
  7. 创建 NVA。
  8. 创建 NCC hub 1。
  9. 创建 NCC hub 2。
  10. 添加对 Google API 的专用访问通道。
  11. 设置集中式互联网入站和出站。
  12. 测试与工作负载的连接。

识别 Google Cloud 区域

一般来说,您希望将连接、VPC 子网和Google Cloud 工作负载布置在靠近本地网络或其他云客户端的位置。如需详细了解如何布置工作负载,请参阅Google Cloud 区域选择器和 Compute Engine 区域选择最佳实践。

我们建议您选择至少两个区域来托管 NVA,以便利用此架构的跨区域故障切换支持。

设计和构建项目结构

创建或确定要在其中创建 VPC 网络的项目。您将需要以下项目:

  • 用于托管路由网络的项目,您可以在其中连接外部连接。此项目还托管着 Network Connectivity Center hub,该 hub 可将混合连接链接到 NVA 的面向外部的 NIC。
  • 用于托管中转网络和工作负载 VPC 网络的项目。如需查看相关指导,请参阅网络分段和项目结构。 如果您打算使用共享 VPC 网络,请将您的项目预配为共享 VPC 宿主项目。

规划 IP 地址分配

为必要的网络创建 IP 地址分配方案。为了更轻松地汇总工作负载 VPC 网络地址,请从单个更大的范围中选择其地址范围。我们建议您分配一个大型超网范围(例如 /12),用于工作负载 VPC 网络分配。

您的计划应包含以下网络的 IP 范围:

  • 外部网络
  • 路由 VPC 网络
  • 中转 VPC 网络
  • 所有工作负载 VPC 网络的汇总范围

创建路由 VPC 网络

路由 VPC 网络托管以下组件:

  • 与外部网络的混合连接。
  • 每个 NVA 中的一个 NIC。在图表中,此网卡标记为 nic 0。
  • 每个区域一个 Cloud Router 路由器。

创建路由 VPC 网络时,请执行以下操作:

  1. 在您要创建路由 VPC 网络的项目中,创建一个全球自定义模式 VPC 网络作为路由网络,并启用全球动态路由。跨区域路由必须使用全局动态路由。
  2. 在路由网络中,为每个区域创建一个子网。这些子网托管用于专用路由到外部网络以及(可选)与互联网通信的 NVA 接口。
  3. 在每个区域中创建 Cloud Router。Cloud Router 路由器负责处理相应区域的 VPC 网络与外部网络之间的 BGP。建议您在与混合连接相同的区域中创建 NVA 和工作负载 VPC 网络,以便通过 NVA 在混合连接和工作负载之间实现本地路由。
    • 如果您在同一区域中创建 NVA 和工作负载网络,则只需在该区域中部署一个 Cloud Router。
    • 如果您在一个区域中创建 NVA,并在另一个区域中创建工作负载 VPC 网络,则需要在每个区域中创建一个 Cloud Router。

创建与外部网络的连接

此设计建议您使用 Cloud Interconnect 将外部网络连接到 Google Cloud 路由 VPC 网络。不过,您可以选择其他连接产品。如需了解详情,请参阅选择 Network Connectivity 产品。

设置外部网络(本地网络和其他云网络)与路由 VPC 网络之间的连接。我们建议您为生产工作负载设定 99.99% 的 SLA 目标,并在建立连接时遵循 Google 最佳实践。

当您配置与外部网络的混合连接时,如果任何其他客户网络需要从远程位置路由到远程位置,请将其子网通告为自定义路由通告。

创建中转 VPC 网络和工作负载 VPC 网络

中转 VPC 网络的作用是将 NVA 与工作负载 VPC 网络连接起来。

  1. 在您希望创建中转网络的项目中,创建一个全球自定义模式 VPC 网络,并启用全球动态路由。跨区域路由必须使用全局动态路由。
  2. 为每个区域创建一个子网,以托管用于将流量私密路由到工作负载 VPC 网络的 NVA 接口。
  3. 在您计划预配 NVA 的每个区域中配置 Cloud Router。
  4. 根据需要创建工作负载 VPC 网络。

创建 NVA

如需了解如何预配 Google Cloud Marketplace 中列出的 NVA,请参阅 NVA 提供商的文档。为此设计配置 NVA 时,请遵循以下准则:

  1. 在至少两个区域中成对部署 NVA,以提供多区域弹性。由于 NVA 是作为 Network Connectivity Center 路由器设备 spoke 添加的,因此您无需在实例组中配置它们。
  2. NVA 虚拟机至少需要两个 NIC,但有些供应商要求使用专用 NIC 进行管理。添加支持供应商要求所需的网卡。
  3. 为了确保通过单个活跃 NVA 进行对称路由,NVA 需要设置 BGP 指标(例如 MED),以在区域内的 NVA 之间提供路由偏好。我们建议您使用较低的 MED 值,例如将主 MED 设置为 10,将辅助 MED 设置为 20。由于 Google Cloud 会为远程网络添加区域权重,因此您无需为跨区域偏好设置 MED。如需详细了解如何确保路由对称性,请参阅本文档前面的“可扩缩性”部分。
  4. 如需将工作负载 VPC 子网范围通告为汇总的超网路由,请在连接到中转网络的 NVA 网卡上配置 BGP。此路由是必需的,以便通过 NVA 实现工作负载到工作负载的 VPC 通信。将 NVA 配置为通告向 Cloud Router 公开的所有子网。

创建 NCC hub 1

在此设计中,第一个 NCC hub 的作用是实现混合连接与 NVA 之间的动态路由通告。配置 NCC 集线器时,请遵循以下准则:

  1. 在网状拓扑中配置 NCC hub,以便允许所有 spoke 直接相互通信。
  2. 将混合连接(VLAN 连接或 VPN)作为混合 spoke 添加到 hub。
    • 启用站点到站点数据传输。如需了解支持的位置,请参阅数据传输支持的位置。
    • 启用包含从 spoke 输出到 hub 的 IPv4 子网范围选项。
    • 启用包含从 hub 到 spoke 的所有 IPv4 范围选项。
  3. 确定连接到路由 VPC 网络的 NVA 网卡,然后将它们作为路由器设备 spoke 添加到 NCC hub 1。
    • 启用站点到站点数据传输。
    • 启用包含从 spoke 输出到 hub 的 IPv4 子网范围选项。
    • 启用包含从 hub 到 spoke 的所有 IPv4 范围选项。
  4. 为确保弹性,在配置路由器设备时,请为 Cloud Router 路由器的两个接口都创建 BGP 会话。

创建 NCC hub 2

第二个 NCC hub 可在 NVA 与工作负载 VPC 网络之间实现动态路由通告。为此,您可以添加 NVA 网卡作为路由器设备 spoke,并添加工作负载 VPC 网络作为 VPC spoke。

  1. 将 NCC hub 配置为星型拓扑,以便工作负载 VPC spoke 之间的流量必须通过中转 VPC 网络(即 hub)。
  2. 将 NVA 作为路由器设备 spoke 添加到 hub 的中心组。
    1. 启用站点到站点数据传输。
    2. 启用包含从 spoke 导出到 hub 的所有 IPv4 范围选项。
    3. 启用包含从 hub 导入到 spoke 的 IPv4 范围选项。
  3. 将工作负载 VPC spoke 添加到边缘组。
  4. 为确保弹性,在配置路由器设备 Spoke 时,请为 Cloud Router 的两个接口都创建 BGP 会话。

添加对 Google API 和服务的专用访问权限

如果您的应用不需要访问 Google API,您可以在初始部署中跳过此部分,然后继续执行设置集中式互联网入站和出站流量。

您可以根据日志记录和可见性要求,选择以下两种方式来启用对 Google API 和服务的专用访问权限。如需详细了解这些服务,请参阅 Google Cloud服务类型。

直接路由到 Private Service Connect 服务(不通过 NVA)

  1. 在每个 VPC 网络中创建 Google API 的 Private Service Connect 端点。
  2. 在需要服务访问权限的每个工作负载 VPC 网络中,为 Google 发布的服务创建 Private Service Connect 端点。
  3. 如需允许从外部网络进行访问,请在路由 VPC 网络中预配 Private Service Connect 端点。如需了解如何从本地启用对 Google API 的专用访问通道,请参阅 Private Service Connect 文档。

通过 NVA 进行间接路由

  1. 在路由 VPC 网络中,创建适用于 Google API 的 Private Service Connect 端点。
  2. 在传输 VPC 网络中,创建适用于 Google API 的 Private Service Connect 端点。
  3. 按如下方式配置 DNS:

    1. 工作负载 VPC 网络:配置 DNS 以将 API 调用解析为路由 VPC 中 Private Service Connect 端点的 IP 地址。
    2. 外部网络:配置 DNS 以将 API 调用解析为在中转 VPC 网络中创建的 Private Service Connect 端点的 IP 地址。

    此方法可让 NVA 转发 Google API 流量。

  4. 仅在与服务关联的工作负载 VPC 中创建 Google 已发布服务的 Private Service Connect 端点。

  5. 如需启用对 Google 发布服务的 Private Service Connect 端点的跨 VPC 网络访问权限,请在 NCC hub 2 上启用 Private Service Connect 传播。

设置集中式互联网入站流量和出站流量

如果您的应用不需要通过 NVA 访问互联网,您可以在初始部署中跳过此部分,然后继续执行测试与工作负载的连接。

集中式互联网入站流量

对于来自互联网的入站流量,当流量路由到 Spoke VPC 中的目标资源时,NVA 需要对流量执行 DNAT。如需了解如何配置入站流量,请参阅如何在 Google Cloud 中使用网络虚拟设备 (NVA) 配置 Google 负载平衡器。 在此配置中,您将原始目标地址分配给位于 NVA 前端的 Google 负载平衡器。您选择的负载均衡器类型会影响入站流量服务的全局性质。

集中式互联网出站流量

如果您想集中出站流量到互联网,NVA 需要在流量路由到互联网上的目标资源时执行 SNAT。为了路由来自 Google Cloud 来源的流量,NVA 需要向 spoke VPC 通告默认路由。此路由不需要负载平衡器。

测试与工作负载的连接

为确保您了解流量,请使用 traceroute。如需测试不同流的连接情况,您可以在不同的 VPC 中创建测试虚拟机。

后续步骤

贡献者

作者:Haider Witwit | 网络专家架构师

其他贡献者: