本文档提供了一个参考架构,您可以使用该架构在 Google Cloud中部署跨云网络中心辐射型网络拓扑。这种网络设计支持在内部和外部网络(例如本地数据中心或其他云服务提供商 [CSP])中部署软件服务。 Google Cloud
这种设计支持多个外部连接、多个服务访问 Virtual Private Cloud (VPC) 网络和多个工作负载 VPC 网络。
本文档的目标受众是负责构建网络连接的网络管理员,以及负责规划工作负载部署方式的云架构师。本文档假定您对路由和互联网连接有基本的了解。
架构
下图概要展示了网络架构以及此架构支持的四种数据包流。
该架构包含以下高级元素:
组件 | 用途 | 互动次数 |
---|---|---|
外部网络(本地网络或其他 CSP 网络) | 托管在工作负载 VPC 和服务访问 VPC 中运行的工作负载的客户端。外部网络也可以托管服务。 | 通过转接网络与 Google 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 网络对等互连连接到中转网络。使用 Network Connectivity Center VPC spoke 连接到其他工作负载 VPC 网络。 终止以下流程的一端:
|
下图展示了此架构的详细视图,突出显示了网络之间的四个连接:
连接说明
本部分介绍了上图中显示的四个连接。
连接 1:外部网络与中转 VPC 网络之间的连接
外部网络与中转 VPC 网络之间的这种连接是通过 Cloud Interconnect 或高可用性 VPN 建立的。路由通过 BGP 在转接 VPC 网络中的 Cloud Router 路由器与外部网络中的外部路由器之间进行交换。
- 外部网络中的路由器会向转接 VPC Cloud Router 路由器通告外部子网的路由。一般来说,给定位置的外部路由器会将来自同一外部位置的路由通告为优先路由,而不是其他外部位置的路由。路由的偏好可以使用 BGP 指标和属性来表示。
- 转接 VPC 网络中的 Cloud Router 会向外部网络通告 Google Cloud的 VPC 中的前缀路由。必须使用 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 网络之间
- 工作负载 VPC 网络可以使用 Network Connectivity Center VPC spoke 连接在一起。这是一个可选配置。如果您不希望工作负载 VPC 网络相互通信,则可以省略此属性。
流量
下图显示了此参考架构支持的四个流程。
下表介绍了图中的流程:
来源 | 目的地 | 说明 |
---|---|---|
外部网络 | 服务访问 VPC 网络 |
|
服务访问 VPC 网络 | 外部网络 |
|
外部网络 | 工作负载 VPC 网络 |
|
工作负载 VPC 网络 | 外部网络 |
|
工作负载 VPC 网络 | 服务访问 VPC 网络 |
|
服务访问 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 网络和工作负载 VPC 网络的流量。如需保护在外部网络和中继网络之间传输的流量,您需要使用外部防火墙或 NVA 防火墙。
- 根据您的流量和合规性需求,酌情启用日志记录和监控功能。您可以使用 VPC 流日志深入了解流量模式。
- 使用 Cloud IDS 深入了解您的流量。
可靠性
以下列表介绍了此参考架构的可靠性注意事项:
- 若要实现 Cloud Interconnect 的 99.99% 可用性,您必须连接到两个不同的 Google Cloud 区域。
- 为了提高可靠性并最大限度地减少区域性故障的影响,您可以将工作负载和其他云资源分布在多个区域。
- 为了处理预期的流量,请创建足够数量的 VPN 隧道。单个 VPN 隧道具有带宽限制。
性能优化
以下列表介绍了此参考架构的性能注意事项:
- 您或许可以通过增加网络和连接的最大传输单元 (MTU) 来提升网络性能。如需了解详情,请参阅最大传输单元。
- 中转 VPC 与工作负载资源之间的通信是通过 VPC 网络对等互连进行的,这种方式可为网络中的所有虚拟机提供全线速吞吐量,且无需额外付费。在规划部署时,请考虑 VPC 网络对等互连配额和限制。您可以通过多种方式将外部网络连接到中继网络。如需详细了解如何平衡费用和性能考虑因素,请参阅选择 Network Connectivity 产品。
部署
本文档中的架构会创建三组连接到中央转接 VPC 网络的连接,以及工作负载 VPC 网络之间的其他连接。完成所有连接的完整配置后,部署中的所有网络都可以与所有其他网络通信。
此部署假定您要在两个区域的外部网络和转接网络之间创建连接。不过,工作负载子网可以位于任何区域。如果您仅将工作负载放置在一个区域,则只需在该区域中创建子网。
如需部署此参考架构,请完成以下任务:
- 确定要放置连接性和工作负载的区域
- 创建 VPC 网络和子网
- 在外部网络和传输 VPC 网络之间创建连接
- 在中转 VPC 网络与服务访问 VPC 网络之间创建连接
- 在中转 VPC 网络与工作负载 VPC 网络之间创建连接
- 连接工作负载 VPC 网络
- 测试与工作负载的连接
确定要放置连接性和工作负载的区域
一般来说,您希望将连接和工作负载放置在靠近本地网络或其他云客户端的位置。 Google Cloud 如需详细了解如何部署工作负载,请参阅 Google Cloud 区域选择器和 Compute Engine 区域选择最佳实践。
创建 VPC 网络和子网
如需创建 VPC 网络和子网,请完成以下任务:
- 创建或指定要在其中创建 VPC 网络的项目。如需相关指导,请参阅网络分段和项目结构。 如果您打算使用共享 VPC 网络,请将项目预配为共享 VPC 宿主项目。
- 规划网络的 IP 地址分配。您可以通过创建内部范围来预分配和预留范围。分配可汇总的地址块有助于简化后续的配置和操作。
- 创建启用了全局路由的中转网络 VPC。
- 创建服务 VPC 网络。如果您的工作负载位于多个区域,请启用全球路由。
- 创建工作负载 VPC 网络。如果您的工作负载位于多个区域,请启用全球路由。
在外部网络和转接 VPC 网络之间创建连接
本部分假定两个区域之间存在连接,并且假定外部位置已连接且可以相互故障转移。它还假定,外部位置 A 中的客户端会优先访问区域 A 中的服务,以此类推。
- 在外部网络和您的传输网络之间建立连接。如需了解如何考虑这一点,请参阅外部连接和混合连接。如需有关选择连接产品的指导,请参阅选择 Network Connectivity 产品。
- 在每个已连接的区域中配置 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 进行连接。
- 估算每个区域中转接 VPC 和服务访问 VPC 之间需要传输多少流量。相应地扩缩预期的隧道数量。
- 按照创建高可用性 VPN 网关来连接 VPC 网络中的说明,在区域 A 的中转 VPC 和服务访问 VPC 之间配置高可用性 VPN。在传输网络中创建专用高可用性 VPN Cloud Router。将面向外部网络的路由器留作外部网络连接。
- 如果您使用专用服务访问通道将托管式服务 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 网络中部署工作负载,请立即测试对这些工作负载的访问权限。如果您在部署工作负载之前连接了网络,则可以立即部署工作负载并进行测试。
后续步骤
- 详细了解 Google Cloud 本设计指南中使用的各产品:
- 如需查看更多参考架构、图表和最佳做法,请浏览云架构中心。
贡献者
作者:
- Deepak Michael | 网络专家客户工程师
- Victor Morno | Cloud 网络产品经理
- Osvaldo Costa | 网络专家客户工程师
其他贡献者:
- Mark Schlagenhauf | 网络技术文档工程师
- Ammett Williams | 开发者关系工程师
- Ghaleb Al-habian | 网络专家