使用 VPC 网络对等互连实现跨云网络 VPC 之间的连接

Last reviewed 2024-11-18 UTC

本文档提供了一个参考架构,您可以使用该架构在 Google Cloud中部署跨云网络星形网络拓扑。这种网络设计支持在 Google Cloud 和外部网络(例如本地数据中心或其他云服务提供商 [CSP])中部署软件服务。

这种设计支持多个外部连接、多个服务访问 Virtual Private Cloud (VPC) 网络和多个工作负载 VPC 网络。

本文档的目标读者是负责构建网络连接的网络管理员,以及负责规划工作负载部署方式的云架构师。本文档假定您对路由和互联网连接有基本的了解。

架构

下图概要展示了网络架构以及此架构支持的四种数据包流。

文档中介绍的四种连接类型。

该架构包含以下概要元素:

组件 用途 互动次数
外部网络(本地网络或其他 CSP 网络) 托管在工作负载 VPC 和服务访问 VPC 中运行的工作负载的客户端。外部网络也可以托管服务。 通过转接网络与 Google Cloud的虚拟私有云网络交换数据。使用 Cloud Interconnect 或高可用性 VPN 连接到中继网络。

终止以下流程的一端:

  • External-to-shared-services
  • 外部到工作负载
转接 VPC 网络 充当外部网络、服务访问 VPC 网络和工作负载 VPC 网络的枢纽。 通过组合使用 Cloud Interconnect、高可用性 VPN 和 VPC 网络对等连接,将外部网络、服务访问 VPC 网络和工作负载 VPC 网络连接在一起。
服务访问 VPC 网络 提供对工作负载 VPC 网络或外部网络中运行的工作负载所需服务的访问权限。此外,还提供对托管在其他网络中的托管服务的访问点。 通过转接网络与外部网络和工作负载网络交换数据。使用高可用性 VPN 连接到中继 VPC。高可用性 VPN 提供的传递路由允许外部流量通过服务访问 VPC 网络到达托管服务 VPC。

终止以下流程的一端:

  • External-to-shared-services
  • Workload-to-shared-services
托管式服务 VPC 网络 托管其他网络中的客户端所需的托管式服务。 与外部网络、服务访问网络和工作负载网络交换数据。使用专用服务访问通道(使用 VPC 网络对等互连)或 Private Service Connect 连接到服务访问 VPC 网络。

终止来自所有其他网络的流量的一端。

工作负载 VPC 网络 托管其他网络中客户端所需的工作负载。 通过中继 VPC 网络与外部 VPC 网络和服务访问 VPC 网络交换数据。使用 VPC 网络对等互连连接到中继网络。使用 Network Connectivity Center VPC spoke 连接到其他工作负载 VPC 网络。

终止以下流程的一端:

  • 外部到工作负载
  • Workload-to-shared-services
  • 工作负载到工作负载

下图详细展示了该架构,突出显示了网络之间的四个连接:

文档中介绍的四种连接类型。

连接说明

本部分介绍了上图中显示的四个连接。

连接 1:外部网络与中继 VPC 网络之间的连接

外部网络与转接 VPC 网络之间的这种连接是通过 Cloud Interconnect 或高可用性 VPN 建立的。路由是通过 BGP 在转接 VPC 网络中的 Cloud Router 路由器与外部网络中的外部路由器之间交换的。

  • 外部网络中的路由器会向转接 VPC Cloud Router 路由器通告外部子网的路由。一般来说,给定位置的外部路由器会将来自同一外部位置的路由通告为优先路由,而不是其他外部位置的路由。路由的偏好顺序可以使用 BGP 指标和属性来表示。
  • 转接 VPC 网络中的 Cloud Router 路由器会向外部网络通告 Google CloudVPC 中前缀的路由。必须使用 Cloud Router 自定义路由通告来通告这些路由。

连接 2:在转接 VPC 网络和服务访问 VPC 网络之间

转接 VPC 网络与服务访问 VPC 网络之间的这种连接是通过高可用性 VPN 建立的,每个区域都有单独的隧道。路由是通过 BGP 在转接 VPC 网络中的区域 Cloud Router 和服务访问 VPC 网络之间交换的。

  • 转接 VPC HA VPN Cloud Router 会向服务访问 VPC Cloud Router 通告外部网络前缀、工作负载 VPC 和其他服务访问 VPC 的路由。必须使用 Cloud Router 自定义路由通告来通告这些路由。
  • 服务访问 VPC 网络会向转接 VPC 网络通告其子网以及任何已连接的代管式服务 VPC 网络的子网。必须使用 Cloud Router 自定义路由通告来通告托管式服务 VPC 路由和服务访问 VPC 子网路由。

连接 3:转接 VPC 网络与工作负载 VPC 网络之间的连接

转接 VPC 网络与工作负载 VPC 网络之间的这种连接是通过 VPC 对等互连实现的。子网和前缀路由是使用 VPC 对等互连机制交换的。借助此连接,工作负载 VPC 网络与连接到中继 VPC 网络的其他网络(包括外部网络和服务访问 VPC 网络)之间可以进行通信。

  • 中继 VPC 网络使用 VPC 网络对等互连来导出自定义路由。这些自定义路由包括转接 VPC 网络已学到的所有动态路由。工作负载 VPC 网络会导入这些自定义路由。
  • 工作负载 VPC 网络会自动将子网导出到中继 VPC 网络。系统不会将任何自定义路由从工作负载 VPC 导出到转接 VPC。

连接 4:工作负载 VPC 网络之间

  • 您可以使用 Network Connectivity Center VPC spoke 将工作负载 VPC 网络连接在一起。这是一个可选配置。如果您不希望工作负载 VPC 网络相互通信,则可以省略此属性。

流量

下图显示了此参考架构支持的四种流程。

本文档中介绍的四个流程及其详细背景信息。

下表介绍了该图表中的流程:

来源 目的地 说明
外部网络 服务访问 VPC 网络
  1. 流量会沿着 Cloud Interconnect 连接到转接网络的路线。这些路由由面向外部的 Cloud Router 路由器通告。
  2. 流量会沿着自定义路由到达服务访问 VPC 网络。该路由会在高可用性 VPN 连接中通告。如果目的地位于通过专用服务访问通道连接到服务访问 VPC 网络的托管式服务 VPC 网络中,则流量会沿着 VPC 网络对等互连自定义路由到达托管式服务网络。
服务访问 VPC 网络 外部网络
  1. 流量会沿着自定义路由穿过高可用性 VPN 隧道到达传输网络。
  2. 流量会沿外部连接路线返回到外部网络。路由是通过 BGP 从外部路由器学习到的。
外部网络 工作负载 VPC 网络
  1. 流量会沿着外部连接到公交网络的路线行驶。这些路由由面向外部的 Cloud Router 路由器通告。
  2. 流量会沿着子网路由到达相关工作负载 VPC 网络。路由是通过 VPC 网络对等互连学习到的。
工作负载 VPC 网络 外部网络
  1. 流量会沿着路线返回公交网络。该路由是通过 VPC 网络对等互连自定义路由导出学习到的。
  2. 流量会沿外部连接路线返回到外部网络。路由是通过 BGP 从外部路由器学习到的。
工作负载 VPC 网络 服务访问 VPC 网络
  1. 流量会沿着路由到达中继 VPC。路由是通过 VPC 网络对等互连自定义路由导出功能学习到的。
  2. 流量会沿着路由通过其中一个高可用性 VPN 隧道到达服务访问 VPC 网络。路由是从 BGP 自定义路由通告中学习到的。
服务访问 VPC 网络 工作负载 VPC 网络
  1. 流量会沿着自定义路由到达公交网络。该路由会在高可用性 VPN 隧道中通告。
  2. 流量会沿着子网路由到达相关工作负载 VPC 网络。路由是通过 VPC 网络对等互连学习到的。
工作负载 VPC 网络 工作负载 VPC 网络 离开一个工作负载 VPC 的流量会通过 Network Connectivity Center 沿更具体的路线到达另一个工作负载 VPC。返回流量会沿相反方向行驶。

使用的产品

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

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

设计考虑事项

本部分介绍了使用此参考架构开发符合您在安全性、可靠性和性能方面的具体要求的拓扑时应考虑的设计因素、最佳实践和设计建议。

安全与合规性

以下列表介绍了此参考架构的安全和合规性注意事项:

  • 出于合规性原因,您可能希望仅在单个区域部署工作负载。如果您希望将所有流量都保留在单个区域,可以使用可用性达 99.9% 的拓扑。如需了解详情,请参阅为专用互连建立 99.9% 可用性配置为合作伙伴互连建立 99.9% 可用性配置
  • 使用 Cloud 新一代防火墙保护进入和离开服务访问 VPC 网络和工作负载 VPC 网络的流量。如需保护在外部网络和中继网络之间传输的流量,您需要使用外部防火墙或 NVA 防火墙。
  • 根据您的流量和合规性需求,适当地启用日志记录和监控功能。您可以使用 VPC 流日志深入了解流量模式。
  • 使用 Cloud IDS 深入了解您的流量。

可靠性

以下列表介绍了此参考架构的可靠性注意事项:

  • 如需为 Cloud Interconnect 实现 99.99% 的可用性,您必须连接到两个不同的 Google Cloud 区域。
  • 为了提高可靠性并最大限度地减少区域性故障的影响,您可以将工作负载和其他云资源分布在多个区域。
  • 为了处理预期的流量,请创建足够数量的 VPN 隧道。各个 VPN 隧道都有带宽限制

性能优化

以下列表介绍了此参考架构的性能注意事项:

  • 您或许可以通过增加网络和连接的最大传输单元 (MTU) 来提升网络性能。如需了解详情,请参阅最大传输单元
  • 转接 VPC 与工作负载资源之间的通信是通过 VPC 网络对等互连进行的,该功能可为网络中的所有虚拟机提供全线速吞吐量,无需额外付费。在规划部署时,请考虑 VPC 网络对等互连配额和限制。您可以通过多种方式将外部网络连接到中继网络。如需详细了解如何平衡成本和性能注意事项,请参阅选择 Network Connectivity 产品

部署

本文档中的架构会创建三组连接到中央转接 VPC 网络的连接,以及工作负载 VPC 网络之间的其他连接。所有连接都完全配置完毕后,部署中的所有网络都可以与所有其他网络通信。

此部署假定您要在两个区域的外部网络和转接网络之间创建连接。不过,工作负载子网可以位于任何区域。如果您仅在一个区域中放置工作负载,则只需在该区域中创建子网。

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

  1. 确定要放置连接性和工作负载的区域
  2. 创建 VPC 网络和子网
  3. 在外部网络和转接 VPC 网络之间创建连接
  4. 在转接 VPC 网络和服务访问 VPC 网络之间创建连接
  5. 在转接 VPC 网络与工作负载 VPC 网络之间创建连接
  6. 连接工作负载 VPC 网络
  7. 测试与工作负载的连接情况

确定要放置连接性和工作负载的区域

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

创建 VPC 网络和子网

如需创建 VPC 网络和子网,请完成以下任务:

  1. 创建或指定您要用于创建 VPC 网络的项目。如需相关指南,请参阅网络细分和项目结构。 如果您打算使用共享 VPC 网络,请将项目预配为共享 VPC 宿主项目
  2. 规划网络的 IP 地址分配。您可以通过创建内部范围来预分配和预留范围。分配可汇总的地址块有助于简化后续的配置和操作。
  3. 创建启用了全局路由的转接网络 VPC。
  4. 创建服务 VPC 网络。如果您要在多个区域部署工作负载,请启用全球路由。
  5. 创建工作负载 VPC 网络。如果您要在多个区域部署工作负载,请启用全球路由。

在外部网络与您的中继 VPC 网络之间创建连接

本部分假定两个区域之间存在连接,并且假定外部位置已连接且可以相互故障切换。它还假定,外部位置 A 中的客户端会优先访问区域 A 中的服务,以此类推。

  1. 设置外部网络与您的传输网络之间的连接。如需了解如何考虑这一点,请参阅外部连接和混合连接。 如需有关选择连接产品的指南,请参阅选择 Network Connectivity 产品
  2. 在每个已连接的区域中配置 BGP,如下所示:
    • 在给定外部位置配置路由器,如下所示:
      • 在两个接口上使用相同的 BGP MED(例如 100),为该外部位置通告所有子网。如果这两个接口宣布相同的 MED,则 Google Cloud 可以使用 ECMP 在两个连接之间负载均衡流量。
      • 使用比第一个区域的 MED 更低的 MED(例如 200),从其他外部位置通告所有子网。从两个接口通告相同的 MED。
    • 在已连接区域的转接 VPC 中配置面向外部的 Cloud Router 路由器,如下所示:
      • 将 Cloud Router 路由器 ASN 设置为 16550。
      • 使用自定义路由通告,通过两个面向外部的 Cloud Router 接口通告所有区域的所有子网范围。尽可能对其进行汇总。在两个接口上使用相同的 MED,例如 100。

在转接 VPC 网络和服务访问 VPC 网络之间创建连接

为了在外部网络与服务访问 VPC 之间以及工作负载 VPC 与服务访问 VPC 之间提供传递路由,服务访问 VPC 使用高可用性 VPN 进行连接。

  1. 估算每个区域中转接 VPC 和服务访问 VPC 之间需要传输的流量。相应地扩缩预期的隧道数量。
  2. 按照创建用于连接 VPC 网络的高可用性 VPN 网关中的说明,在区域 A 中的转接 VPC 和服务访问 VPC 之间配置高可用性 VPN。在转接网络中创建专用高可用性 VPN Cloud Router 路由器。将面向外部网络的路由器留作外部网络连接。
    • 转接 VPC Cloud Router 配置:
      • 如需向服务访问 VPC 通告外部网络和工作负载 VPC 子网,请在转接 VPC 中的 Cloud Router 上使用自定义路由通告
    • 服务访问 VPC Cloud Router 配置:
      • 如需向转接 VPC 通告服务访问 VPC 子网,请在服务访问 VPC Cloud Router 上使用自定义路由通告。
      • 如果您使用专用服务访问通道将托管式服务 VPC 连接到服务访问 VPC,请使用自定义路由来通告这些子网。
  3. 如果您使用专用服务访问通道将代管式服务 VPC 连接到服务访问 VPC,请在 VPC 网络对等互连连接建立后,更新 VPC 网络对等互连连接的服务访问 VPC 端,以导出自定义路由。

在转接 VPC 网络和工作负载 VPC 网络之间创建连接

在转接 VPC 与每个工作负载 VPC 之间创建 VPC 网络对等互连连接

  • 为每个连接的中继 VPC 端启用导出自定义路由
  • 为每个连接的工作负载 VPC 端启用导入自定义路由
  • 在默认情况下,只有工作负载 VPC 子网路由会导出到中继 VPC。您无需从工作负载 VPC 导出自定义路由。

连接工作负载 VPC 网络

使用 Network Connectivity Center VPC spoke 将工作负载 VPC 网络连接在一起。将所有轮辐都纳入同一 Network Connectivity Center 轮辐对等组。使用核心对等互连组可允许 VPC 之间进行全网状通信。

Network Connectivity Center 连接会在工作负载 VPC 网络之间通告特定路由。这些网络之间的流量会遵循这些路线。

测试与工作负载的连接性

如果您已在 VPC 网络中部署工作负载,请立即测试对这些工作负载的访问权限。如果您在部署工作负载之前连接了网络,则可以立即部署工作负载并进行测试。

后续步骤

贡献者

作者:

  • Deepak Michael | 网络专家客户工程师
  • Victor Morno | Cloud 网络产品经理
  • Osvaldo Costa | 网络专家客户工程师

其他贡献者: