本文档提供了一种参考架构,可用于在 Google Cloud中部署跨云网络中心辐射型网络拓扑。这种网络设计支持在 Google Cloud 和外部网络(例如本地数据中心或其他云服务提供商 [CSP])中部署软件服务。
此设计支持多个外部连接、多个服务访问 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 网络交换数据。使用 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 高可用性 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 网络的流量。如需保护在外部网络与传输网络之间传递的流量,您需要使用外部防火墙或 NVA 防火墙。
- 根据您的流量和合规性需求,启用日志记录和监控。您可以使用 VPC 流日志深入了解流量模式。
- 使用 Cloud IDS 深入了解您的流量。
可靠性
以下列表介绍了此参考架构的可靠性注意事项:
- 如需实现 99.99% 的 Cloud Interconnect 可用性,您必须连接到两个不同的 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(例如 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 产品:
- 如需查看更多参考架构、图表和最佳实践,请浏览 Cloud 架构中心。
贡献者
作者:
- Deepak Michael | 网络专家客户工程师
- Victor Morno | Cloud 网络产品经理
- Osvaldo Costa | 网络专家客户工程师
其他贡献者:
- Mark Schlagenhauf | 网络技术文档工程师
- Ammett Williams | 开发者关系工程师
- Ghaleb Al-habian | 网络专家