本文档提供了一个参考架构,可用于部署跨云网络中心辐射型网络拓扑,该拓扑使用网络虚拟设备 (NVA) 来传递流量。
本文档的目标受众是构建网络连接的网络管理员,以及规划工作负载部署方式的云架构师。本文档假定您对路由、互联网连接以及要部署的 NVA 软件有基本的了解。如需使用此参考架构,您应熟悉 Cross-Cloud Network 设计指南。
此设计支持与本地或云服务提供商 (CSP) 位置建立多个外部连接,并支持多个工作负载 VPC 网络。
此设计假定为单区域部署。它提供区域亲和性,但不提供区域故障切换。如果您想在多个区域中进行部署,可以使用Google Cloud 多区域部署原型。
此设计将 NVA 放置在除工作负载 VPC 网络内部和之间的流量之外的所有流量中。您可以通过添加适当的跳过基于政策的路由来使流量跳过 NVA。只有外部网络与服务访问 VPC 网络之间的流量需要 NVA,因为所有其他流量都可以由 Cloud Next Generation Firewall 进行检查。
架构
下图高度概括地展示了网络架构以及该架构支持的流量。
该架构包含以下高级元素:
组件 | 用途 | 互动次数 |
---|---|---|
外部网络(本地网络或其他 CSP 网络) | 托管在工作负载 VPC 和服务访问 VPC 中运行的工作负载的客户端。 外部网络还可以托管服务。 | 通过在路由 VPC 网络中托管的 NVA 与 Google Cloud的 VPC 网络交换数据。使用 Cloud Interconnect 或高可用性 VPN 连接到路由 VPC 网络。 终止以下流程的一端:
|
路由 VPC 网络(也称为中转 VPC 网络) | 充当外部网络、服务访问 VPC 网络和工作负载 VPC 网络的 hub。托管用于处理网络间流量的 NVA。 | 通过 Cloud Interconnect、高可用性 VPN 和 VPC 网络对等互连的组合,将外部网络、服务访问 VPC 网络和工作负载 VPC 网络连接在一起。当来自外部网络、服务访问网络和工作负载网络的流量通过路由网络时,基于政策的路由会将流量发送到 NVA。 |
服务访问 VPC 网络 | 为托管在其他网络中的受管服务提供接入点。如果需要,服务访问网络还可以直接托管服务。 | 通过路由网络与外部网络和工作负载网络交换数据。使用高可用性 VPN 连接到路由 VPC。高可用性 VPN 提供的传递性路由允许外部流量通过服务访问 VPC 网络到达受管理的服务 VPC。 如果服务访问 VPC 网络直接托管服务,则终止来自所有其他网络的一端流量。 |
托管式服务 VPC 网络 | 托管其他网络中的客户端所需的服务。 | 与外部网络、服务访问网络和工作负载网络交换数据。通过使用 专用服务访问通道(使用 VPC 网络对等互连)或使用 Private Service Connect 连接到 services-access VPC 网络。 终止来自所有其他网络的流量的一端。 |
工作负载 VPC 网络 | 托管其他网络中的客户端所需的工作负载。 | 通过路由 VPC 网络与外部 VPC 网络和服务访问 VPC 网络交换数据。使用 VPC 网络对等互连连接到路由网络。使用 Network Connectivity Center 连接到其他工作负载 VPC 网络。 终止以下流程的一端:
|
互联网访问 VPC 网络 | 为需要访问互联网的工作负载提供访问权限。 | 为需要从互联网下载更新或其他数据的工作负载提供互联网出站访问权限。数据通过 NVA 并通过 Cloud NAT 流出。 终止以下流程的一端:
|
连接说明
下图展示了此架构的详细视图,其中重点突出了网络之间的四种连接:
本部分介绍了上图所示的四种连接。
连接 1:外部网络与路由 VPC 网络之间的连接
外部网络与路由 VPC 网络之间的连接通过 Cloud Interconnect 或高可用性 VPN 实现。路由 VPC 网络中的 Cloud Router 路由器和外部网络中的外部路由器使用 BGP 交换路由。
- 外部网络中的路由器向路由 VPC Cloud Router 路由器通告外部子网的路由。可以使用 BGP 指标和属性来表示路由的偏好。
- 路由 VPC 网络中的 Cloud Router 路由器会向外部网络通告 Google Cloud的 VPC 中的前缀的路由。这些路由必须使用 Cloud Router 自定义路由通告进行通告。
连接 2:在路由 VPC 网络和服务访问 VPC 网络之间
路由 VPC 网络与服务访问 VPC 网络之间的这种连接通过高可用性 VPN 实现。路由 VPC 网络中的区域 Cloud Router 路由器与服务访问 VPC 网络之间通过 BGP 交换路由。
- 路由 VPC 高可用性 VPN Cloud Router 会向服务访问 VPC Cloud Router 通告外部网络前缀、工作负载 VPC 和其他服务访问 VPC 的路由。这些路由必须使用 Cloud Router 自定义路由通告进行通告。
- 服务访问 VPC 网络会将其子网以及任何附加的托管式服务 VPC 网络的子网通告给路由 VPC 网络。必须使用 Cloud Router 自定义路由通告来通告受管服务 VPC 路由。
连接 3:路由 VPC 网络与工作负载 VPC 网络之间的连接
路由 VPC 网络与工作负载 VPC 网络之间的这种连接是通过 VPC 网络对等互连实现的。此连接可实现工作负载 VPC 网络与连接到路由 VPC 网络的其他网络之间的通信。这些其他网络包括外部网络和服务访问 VPC 网络。
- 工作负载 VPC 网络会自动将子网导出到路由 VPC 网络。
连接 4:工作负载 VPC 网络之间
工作负载 VPC 网络使用同一 hub 的 Network Connectivity Center VPC spoke 进行连接。因此,从一个工作负载 VPC 网络到另一个工作负载 VPC 网络的流量会在网络之间直接传输。流量不会通过路由 VPC 网络。
流量
下图展示了此参考架构支持的四种流程。
下表介绍了图表中的流程:
来源 | 目的地 | 说明 |
---|---|---|
外部网络 | 服务访问 VPC 网络 |
|
服务访问 VPC 网络 | 外部网络 |
|
外部网络 | 工作负载 VPC 网络 |
|
工作负载 VPC 网络 | 外部网络 |
|
工作负载 VPC 网络 | 服务访问 VPC 网络 |
|
服务访问 VPC 网络 | 工作负载 VPC 网络 |
|
工作负载 VPC 网络 | 工作负载 VPC 网络 | 离开一个工作负载 VPC 网络的流量会通过 Network Connectivity Center 遵循更具体的路由到达另一个工作负载 VPC 网络。返回流量会反向执行此路径。此流量不会通过 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 的基础设施上创建并运行虚拟机。
- Cloud Load Balancing:一组高性能、可扩缩的全球和区域级负载均衡器。
- Cloud 新一代防火墙:一种完全分布式的防火墙服务,具有高级保护功能、微细分和简化的管理功能,可帮助保护您的 Google Cloud 工作负载免遭内部和外部攻击。
设计考虑事项
本部分介绍了一些设计因素、最佳实践和设计建议,您在使用此参考架构开发满足特定安全性、可靠性和性能要求的拓扑时应考虑这些内容。
安全与合规性
以下列表介绍了此参考架构的安全和合规性注意事项:
- 出于合规性考虑,您可能只想在单个区域中部署 Cloud Interconnect。如果您希望将所有流量保留在单个区域内,可以使用 99.9% 的拓扑。如需了解详情,请参阅为专用互连建立 99.9% 可用性配置和为合作伙伴互连建立 99.9% 可用性配置。
- 使用 Cloud 新一代防火墙来保护工作负载 VPC 网络之间传输的流量。
- 如果您需要 L7 流量检查,请启用入侵检测和防御服务(可选:支持 TLS 检查),以阻止恶意活动并保护工作负载免受威胁。该服务有助于支持漏洞、反间谍软件和防病毒保护。该服务的工作原理是创建 Google 管理的可用区级防火墙端点,这些端点使用数据包拦截技术以透明方式检查工作负载,而无需重新设计任何路由。Cloud Next Generation Firewall Enterprise 会产生可用区级防火墙端点和数据处理费用。
- 启用防火墙政策规则的 Google Threat Intelligence,以根据 Google Threat Intelligence 数据允许或阻止连接。
- 使用防火墙政策规则的地理位置对象,仅允许来自允许的国家/地区的流量,并阻止来自禁运国家/地区的流量。
- 根据您的流量和合规性需求,启用日志记录和监控。您可以使用 VPC 流日志深入了解流量模式。
- 使用 Cloud IDS 深入了解流量。
- 如果 NVA 必须连接到互联网位置才能下载更新,请在互联网访问 VPC 网络中配置 Cloud NAT。
- 如果您希望外部网络中的客户端直接访问 Google API,请在路由 VPC 网络中创建基于政策的路由,如下所示:
- 来源范围:外部网络的汇总范围。
- 目的地范围:
199.36.153.4/30
- 下一个跃点:
default-internet-gateway
如果您希望 Google Cloud 虚拟机通过专用连接访问 Google API,请执行以下操作:
- 在每个 VPC 网络中,启用专用 Google 访问通道。
- 在每个工作负载网络中,创建基于政策的路由以访问 Google API:
- 来源范围:工作负载 VPC 子网的地址范围。
- 目的地范围:
199.36.153.4/30
- 下一个跃点:
default-internet-gateway
- 为专用 Google 访问通道创建 DNS 响应政策,该政策适用于路由 VPC 网络和所有工作负载 VPC 网络。
在 DNS 响应政策中,按如下方式创建规则:
- DNS 名称:
*.googleapis.com.
本地数据:
name="*.googleapis.com.",type="A",ttl=3600,rrdatas="199.36.153.4|199.36.153.5|199.36.153.6|199.36.153.7"
- DNS 名称:
可靠性
以下列表介绍了此参考架构的可靠性注意事项:
- 如需实现 99.99% 的 Cloud Interconnect 可用性,您必须连接到两个不同的 Google Cloud 区域,即使您只有一个区域中的虚拟机也是如此。
- 为了提高可靠性并最大限度地减少区域性故障的影响,您可以使用Google Cloud 多区域部署原型在多个区域中复制部署。
- 为了处理服务访问 VPC 与其他网络之间预期的流量,请创建足够数量的 VPN 隧道。各个 VPN 隧道具有带宽限制。如果您在外部网络与路由 VPC 网络之间使用高可用性 VPN,则同样适用上述指南。
性能优化
以下列表介绍了此参考架构的性能注意事项:
- 您或许可以通过增加网络和连接的最大传输单元 (MTU) 来提升网络性能。如需了解详情,请参阅最大传输单元。
- 路由 VPC 与工作负载资源之间的通信通过 VPC 网络对等互连进行,可为网络中的所有虚拟机提供全线速吞吐量,且不会产生额外费用。在规划部署时,请考虑 VPC 网络对等互连配额和限制。
- 您可以使用高可用性 VPN 或 Cloud Interconnect 将外部网络连接到路由 VPC 网络。如需详细了解如何平衡费用和性能方面的考虑因素,请参阅选择 Network Connectivity 产品。
部署
本文档中的架构创建了三组与中央路由 VPC 网络的连接,以及工作负载 VPC 网络之间的另一组连接。所有连接都完全配置好后,部署中的所有网络都可以与其他所有网络通信。
此部署假设您正在一个区域中的外部网络和路由 VPC 网络之间创建连接。不过,工作负载子网可以位于任何区域。如果您仅在一个区域中放置工作负载,则只需在该区域中创建子网。
如需部署此参考架构,请完成以下任务:
- 确定放置连接和工作负载的区域
- 创建 VPC 网络和子网
- 创建资源标记以控制防火墙规则
- 创建并关联网络防火墙政策
- 在外部网络与路由 VPC 网络之间创建连接
- 在路由 VPC 网络与服务访问 VPC 网络之间创建连接
- 在路由 VPC 网络与工作负载 VPC 网络之间创建连接
- 连接工作负载 VPC 网络
- 安装 NVA
- 创建服务路由
- 在互联网接入网络中设置互联网接入
- 测试与工作负载的连接
确定放置连接和工作负载的区域
一般来说,您希望将连接、VPC 子网和 Google Cloud 工作负载放置在靠近本地网络或其他云客户端的位置。如需详细了解如何放置工作负载,请参阅Google Cloud 区域选择器和 Compute Engine 区域选择最佳实践。
创建 VPC 网络和子网
如需创建 VPC 网络和子网,请完成以下任务:
- 创建或确定要在其中创建 VPC 网络的项目。您需要一个路由项目来放置面向外部的连接,还需要另一个项目来托管服务访问和工作负载 VPC 网络。如需了解相关指导,请参阅网络分段和项目结构。 如果您打算使用共享 VPC 网络,请将项目配置为共享 VPC 宿主项目。
- 规划网络的 IP 地址分配。您可以通过创建内部范围来预先分配和预留范围。分配可聚合的地址块可简化后续配置和操作。
- 在路由项目中创建路由 VPC 网络和子网。 如果您认为自己会使用多个区域,请启用全球路由。
- 在路由项目中创建互联网访问 VPC 网络和子网。
- 在宿主项目中创建服务访问 VPC 网络和子网。如果您认为自己会使用多个区域,请启用全球路由。
- 在宿主项目中创建工作负载 VPC 网络和子网。如果您认为自己会使用多个区域,请启用全球路由。
创建资源标记以控制 Cloud 新一代防火墙规则
创建以下代码。您可以随意命名。所列名称仅用作示例。
- 对于路由 VPC 网络:
- 键:
routing-vpc-tags
- 值:
routing-vpc-multinic
- 用途:
GCE_FIREWALL
- 用途数据:路由 VPC 网络的名称。
- 键:
对于每个工作负载 VPC 网络:
键:
WORKLOAD_NAME-tags
将
WORKLOAD_NAME
替换为工作负载 VPC 网络的名称。值:
WORKLOAD_NAME-clients
、WORKLOAD_NAME-www
将
WORKLOAD_NAME
替换为工作负载 VPC 网络的名称。用途:
GCE_FIREWALL
用途数据:工作负载 VPC 网络的名称。
对于互联网接入网络:
- 键:
internet-tag
- 值:
internet-vpc
- 用途:
GCE_FIREWALL
- 用途-数据:互联网接入网络的名称。
- 键:
创建并关联网络防火墙政策
本部分介绍了要为部署创建和关联的 Cloud NGFW 规则。
- 在路由项目中创建全球网络防火墙政策。
- 在政策中创建以下防火墙规则:
- 规则:允许来自健康检查 IP 范围的入站流量,用于所使用的端口(例如
tcp:80,443
)。 - 用于允许 Identity-Aware Proxy 流量的规则。
- 允许来自内部范围(例如服务访问、工作负载和外部网络)的入站流量的规则。
- 规则:允许来自健康检查 IP 范围的入站流量,用于所使用的端口(例如
- 将政策与路由 VPC 网络相关联。
- 根据工作负载 VPC 和服务访问 VPC 中的工作负载,在工作负载宿主项目中创建防火墙政策和规则,以管理相应流量。
在外部网络与路由 VPC 网络之间创建连接
本部分假设连接位于单个区域中。
- 设置外部网络与路由网络之间的连接。如需了解如何考虑此问题,请参阅外部连接和混合连接。如需有关选择连接产品的指导,请参阅选择 Network Connectivity 产品。
- 按如下方式配置 BGP:
- 按如下方式配置指定外部位置中的路由器:
- 通过在两个接口上使用相同的 BGP MED(例如 100),通告相应外部位置的所有子网。如果两个接口通告相同的 MED,则 Google Cloud 可以使用 ECMP 在两个连接之间进行流量负载均衡。
- 在连接区域的路由 VPC 中配置面向外部的 Cloud Router 路由器,如下所示:
- 使用自定义路由通告,通过面向外部的两个 Cloud Router 接口通告所有区域中的所有子网范围。尽可能将它们聚合起来。在两个接口上使用相同的 MED,例如 100。
- 按如下方式配置指定外部位置中的路由器:
在路由 VPC 网络与服务访问 VPC 网络之间创建连接
服务访问 VPC 使用高可用性 VPN 连接到路由 VPC。VPN 允许在服务访问 VPC 与外部网络和工作负载网络之间进行传递路由。
- 估算需要在路由 VPC 和服务访问 VPC 之间传输的流量。相应地调整预期隧道数量。
- 按照创建高可用性 VPN 网关来连接 VPC 网络中的说明,在路由 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 之间进行全网状通信。
使用 Cloud Next Generation Firewall 来管理工作负载 VPC 网络内部和之间的流量。
Network Connectivity Center 连接会在工作负载 VPC 网络之间通告特定路由。这些网络之间的流量会遵循这些路线。
安装 NVA
以下说明假定您已拥有要用于 NVA 的虚拟机映像。
创建负载均衡的 NVA 群组。如需了解详情,请参阅为第三方设备设置内部直通式网络负载平衡器。
根据您的 NVA 映像创建一个实例模板,并使用以下参数:
广告联盟代码:
nva-REGION
将
REGION
替换为区域的名称。Resource Manager 标记:
routing-vpc-tags=routing-vpc-multinic
。路由 VPC 网络的网络接口,没有外部 IP 地址。
用于互联网访问 VPC 网络的网络接口,没有外部 IP 地址。
为虚拟机和操作系统设置
can IP forward
。创建
ip route
路由和iptables
规则,以在路由网络和互联网接入网络之间发送流量。
创建代管式实例组 (MIG),其中包含足够多的虚拟机来处理预期流量。
创建服务路由
本部分介绍如何根据需要通过 NVA 发送流量或绕过 NVA 发送流量。
- 在路由 VPC 网络中,创建具有以下参数的基于政策的路由:
- 来源范围:
0.0.0.0/0
- 目的地范围:
0.0.0.0/0
- 下一个跃点:内部直通式网络负载平衡器转发规则的 IP 地址
- 网络标记:不指定任何网络标记。 这些参数会创建一条规则,该规则适用于来自 VLAN 连接、VPN 隧道或网络中其他虚拟机的全部流量。
- 来源范围:
在路由网络中,创建具有以下参数的跳过型基于政策的路由:
- 来源范围:
0.0.0.0/0
- 目的地范围:
0.0.0.0/0
- 下一个跃点:将下一个跃点设置为跳过其他基于政策的路由并使用默认路由。
网络标记:
nva-REGION
将
REGION
替换为区域的名称。
这些参数会创建一条仅适用于离开 NVA 虚拟机的流量的规则。这会导致此类流量跳过您创建的第一个基于政策的路由,而是遵循 VPC 路由表。
- 来源范围:
在每个工作负载网络中,为每个子网创建基于政策的路由,并采用以下配置:
- 来源范围:工作负载 VPC 子网的地址范围。
- 目的地范围:
0.0.0.0/0
- 下一个跃点:路由网络中内部直通式网络负载平衡器转发规则的 IP 地址
在每个工作负载网络中,为子网内流量创建跳过基于政策的路由:
- 来源范围:工作负载 VPC 子网的地址范围。
- 目标范围:工作负载 VPC 子网的地址范围。
- 下一个跃点:将下一个跃点设置为跳过其他基于政策的路由并使用默认路由。
在每个工作负载网络中,为子网间流量创建跳过基于政策的路由。需要为每个其他工作负载子网创建路由,除非这些路由可以聚合:
- 来源范围:工作负载 VPC 子网的地址范围。
- 目的地范围:其他工作负载子网的范围。
- 下一个跃点:将下一个跃点设置为跳过其他基于政策的路由并使用默认路由。
这些说明假设除 VPC 子网内和工作负载 VPC 子网之间的流量外,所有流量都通过 NVA 进行路由。如果您希望工作负载 VPC 与服务访问 VPC 之间的流量跳过 NVA,请安装额外的基于政策的路由跳过路由,并为此流量配置额外的 Cloud NGFW 规则。
在互联网接入网络中设置互联网接入
如需配置出站互联网访问权限,请在互联网访问网络中设置 Cloud NAT。
测试与工作负载的连接
如果您已在 VPC 网络中部署工作负载,请立即测试对这些工作负载的访问权限。如果您在部署工作负载之前连接了网络,则现在可以部署工作负载并进行测试。
后续步骤
- 详细了解本设计指南中使用的 Google Cloud 产品:
- 如需查看更多参考架构、图表和最佳实践,请浏览 Cloud 架构中心。
贡献者
作者:
- Osvaldo Costa | 网络专家客户工程师
- Deepak Michael | 网络专家客户工程师
- Victor Morno | Cloud 网络产品经理
- Mark Schlagenhauf | 网络技术文档工程师
其他贡献者:Ammett Williams | 开发者关系工程师