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

Last reviewed 2024-11-18 UTC

本文档提供了一个参考架构,供您在 Google Cloud中部署跨云网络中心辐射型网络拓扑。借助此网络设计,您可以跨 Google Cloud 和外部网络(例如本地数据中心或其他云服务提供商 (CSP))部署软件服务。

此设计支持多个外部连接、多个可访问服务的 Virtual Private Cloud (VPC) 网络,以及多个工作负载 VPC 网络。

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

架构

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

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

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

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

终止以下流的一端:

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

终止以下流的一端:

  • 外部到共享服务
  • 工作负载到共享服务
托管式服务 VPC 网络 托管其他网络中的客户端所需的托管式服务。 与可访问服务的外部网络以及工作负载网络交换数据。通过使用专用服务访问通道(使用 VPC 网络对等互连)或使用 Private Service Connect 连接到服务访问 VPC 网络。

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

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

终止以下流的一端:

  • 从外部到工作负载
  • 工作负载到共享服务
  • 工作负载到工作负载

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

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

连接说明

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

连接 1:在外部网络与传输 VPC 网络之间

外部网络与传输 VPC 网络之间的这种连接通过 Cloud Interconnect 或高可用性 VPN 进行。路由在传输 VPC 网络中的 Cloud Router 路由器与外部网络中的外部路由器之间使用 BGP 进行交换。

  • 外部网络中的路由器会通告外部子网到传输 VPC Cloud Router 路由器的路由。一般来说,与针对其他外部位置的路由相比,给定位置中的外部路由器会通告来自同一外部位置的路由。路由的偏好可以使用 BGP 指标和属性来表示。
  • 传输 VPC 网络中的 Cloud Router 路由器会将 Google CloudVPC 中前缀的路由通告给外部网络。必须使用 Cloud Router 路由器自定义路由通告来通告这些路由。

连接 2:在传输 VPC 网络与服务访问 VPC 网络之间

传输 VPC 网络与服务访问 VPC 网络之间的这种连接通过高可用性 VPN 进行,每个区域都有单独的隧道。路由在传输 VPC 网络中的区域性 Cloud Router 路由器与服务访问 VPC 网络之间使用 BGP 进行交换。

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

连接 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:一个编排框架,可简化连接到称为“hub”的集中管理资源的 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 网络的流量。如需保护在外部网络和传输网络之间传递的流量,您需要使用外部防火墙或 NVA 防火墙。
  • 根据您的流量和合规性需求,启用日志记录和监控功能。您可以使用 VPC 流日志深入了解您的流量模式。
  • 使用 Cloud IDS 可以深入了解您的流量。

可靠性

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

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

性能优化

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

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

部署

本文档中的架构为中央传输 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. 在外部网络与中转网络之间设置连接。如需了解如何对此进行思考,请参阅外部和混合连接。如需有关选择连接产品的指导,请参阅选择网络连接产品
  2. 在每个连接的区域中配置 BGP,如下所示:
    • 在给定的外部位置配置路由器,如下所示:
      • 通过在两个接口上使用相同的 BGP MED(例如 100),通告该外部位置的所有子网。如果两个接口通告相同的 MED,则 Google Cloud 可以使用 ECMP 对两个连接之间的流量进行负载均衡。
      • 使用比第一个区域优先级较低的 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. 按照创建高可用性 VPN 网关以连接 VPC 网络中的说明,在区域 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 网络连接在一起。使所有 spoke 都属于同一 Network Connectivity Center spoke 对等群组。使用核心对等组实现 VPC 之间的全网状通信。

Network Connectivity Center 连接会通告工作负载 VPC 网络之间的特定路由。这些网络之间的流量通过这些路由传输。

测试与工作负载的连接

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

后续步骤

贡献者

作者:

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

其他贡献者: