网状模式

Last reviewed 2023-12-14 UTC

网状模式基于建立混合网络架构。该架构跨多个计算环境。在这些环境中,所有系统都可以相互通信,并非仅限于根据应用的安全要求进行单向通信。此网络模式主要适用于分层混合分区多云爆发架构。它还适用于业务连续性设计,可在 Google Cloud 中预配灾难恢复 (DR) 环境。在所有情况下,它都要求您以符合以下通信要求的方式连接计算环境:

  • 使用专用 RFC 1918 IP 地址,工作负载可以跨环境边界相互通信。
  • 双方均可发起通信。通信模型的具体细节可能会因应用和安全要求而异,例如后面的设计选项中所讨论的通信模型。
  • 您使用的防火墙规则必须根据作为该模式设计服务对象的一个或多个应用的要求,允许特定 IP 地址来源和目的地之间的流量。理想情况下,您可以使用多层安全保护方法来精细地限制计算环境之间和之内的流量。

架构

下图展示了网状模式的概要参考架构。

混合网络架构中的数据从 Google Cloud 中的两个子网流向本地环境中的工作负载。

  • 所有环境都应使用一个无重叠的 RFC 1918 IP 地址空间。
  • 在 Google Cloud 端,您可以将工作负载部署到一个或多个共享 VPC,或非共享 VPC 中。如需了解此模式其他可能的设计选项,请参阅下文的设计变体。选择的 VPC 结构应与您的组织的项目和资源层次结构设计相符。
  • Google Cloud 的 VPC 网络可扩展到其他计算环境。这些环境可以是本地环境,也可以是其他云环境。使用符合您的业务和应用要求的混合云和多云网络连接选项之一。
  • 将通信限制为许可的来源和目的地 IP 地址。使用以下任一功能,或多项功能的组合:

变体

网状架构模式可与其他方法结合使用以满足不同的设计要求,同时仍顾及该模式的通信要求。以下部分介绍了模式选项:

每个环境一个 VPC

考虑使用“每个环境一个 VPC”选项的常见原因如下:

  • 云环境需要对 VPC 网络和资源在网络级层进行分隔,以符合您的组织的资源层次结构设计。如果需要进行管理域名分隔,还可以将其与每个环境一个单独项目结合使用。
    • 如需集中管理共用网络中的网络资源,并在不同环境之间提供网络隔离,请为您在 Google Cloud 中的每个环境(例如开发、测试和生产环境)使用共享 VPC
  • 扩展需求可能需要超出单个 VPC 或项目的 VPC 配额

如下图所示,“每个环境一个 VPC”设计使每个 VPC 都可以使用 VPN 或者具有多个 VLAN 连接的 Cloud Interconnect,直接与本地环境或其他云环境集成。

采用“每个环境一个 VPC”设计的混合网络架构中的数据从 Google Cloud 中的两个子网流向本地环境中的工作负载。

上图中显示的模式可应用于着陆区中心辐射型网络拓扑。在该拓扑中,单个(或多个)混合连接可由所有 spoke VPC 共享。通过使用中转 VPC 终结混合连接和其他 spoke VPC 来共享混合连接。您还可以通过在中转 VPC 中添加具有下一代防火墙 (NGFW) 检查功能的 NVA 来扩展此设计,如下一部分“使用集中式应用层防火墙”中所述。

使用集中式应用层防火墙

如果您的技术要求强制要求使用超出 Cloud Next Generation Firewall 功能的高级防火墙功能实现应用层(第 7 层)和深度数据包检测,您可以使用托管在 NVA 中的 NGFW 设备。但是,该 NVA 必须满足您的组织的安全需求。如需实现这些机制,您可以扩展拓扑以通过集中式 NVA 防火墙传递所有跨环境流量,如下图所示。

您可以使用具有集中式设备的中心辐射型拓扑,将下图中的模式应用于着陆区设计:

来自 Google Cloud 中两个共享 VPC 的数据通过 NVA 流向中转 VPC 网络,再流向本地环境中的工作负载。

如上图所示,NVA 充当边界安全层,并用作启用内嵌流量检查的基础。它还会强制执行严格的访问权限控制政策。为了同时检查东西向和南北向流量,集中式 NVA 的设计可能包含具有不同安全访问权限控制级别的多个部分。

微服务零信任分布式架构

使用容器化应用时,镜像模式部分中讨论的微服务零信任分布式架构也适用于此架构模式。

此模式与镜像模式之间的主要区别在于,Google Cloud 中的工作负载与其他环境中的工作负载之间的通信模型可以从任一端启动。必须根据应用要求和安全要求使用服务网格精细控制流量。

网状模式最佳实践

  • 在执行任何其他操作之前,请先确定资源层次结构设计以及支持任何项目和 VPC 所需的设计。这样做可以帮助您选择与您的 Google Cloud 项目结构一致的最佳网络架构。
  • 在私有计算环境和 Google Cloud 中使用 Kubernetes 时,请使用零信任分布式架构
  • 在设计中使用集中式 NVA 时,您应定义多个具有不同安全访问权限控制级别和流量检查政策的部分。这些控制措施和政策应基于应用的安全要求。如需了解详情,请参阅 Google Cloud 上的集中式网络设备

  • 在设计包含 NVA 的解决方案时,请务必考虑 NVA 的高可用性 (HA),以避免可能阻止所有通信的单点故障。请遵循提供 NVA 的 Google Cloud 安全供应商提供的高可用性和冗余设计及实现指南。

  • 如需提供更强的隐私保护、数据完整性和受控通信模型,请使用 API 网关(如 Apigee 和具有端到端 mTLS 的 Apigee Hybrid)通过 API 公开应用。您还可以在同一组织资源中使用共享 VPC 和 Apigee

  • 如果解决方案的设计需要将基于 Google Cloud 的应用公开给公共互联网,请考虑适用于面向互联网的应用交付的网络中讨论的设计建议。

  • 为了帮助保护项目中的 Google Cloud 服务并降低数据渗漏的风险,请使用 VPC Service Controls 在项目或 VPC 网络级层指定服务边界。此外,您还可以通过授权 VPN 或 Cloud Interconnect 将服务边界扩展到混合环境。如需详细了解服务边界的优势,请参阅 VPC Service Controls 概览

  • 查看混合云和多云网络模式的一般最佳实践

如果您希望在 Google Cloud 中托管的应用与其他环境之间实施更严格的隔离和更精细的访问权限控制,请考虑使用本系列其他文档中讨论的封闭模式之一。