Cloud NAT 概览

Cloud NAT 可为出站流量(到互联网、虚拟私有云 [VPC] 网络、本地网络和其他云服务商网络)提供网络地址转换 (NAT)。

Cloud NAT 为以下 Google Cloud 资源提供 NAT:

Cloud NAT 仅支持对已建立的入站响应数据包执行地址转换。它不允许未经请求的入站连接。

Cloud NAT 的类型

在 Google Cloud 中,您可以使用 Cloud NAT 创建 NAT 网关,以便专用子网中的实例连接到 VPC 网络之外的资源。

使用 NAT 网关,您可以启用以下类型的 NAT:

  • Public NAT
  • 专用 NAT

您可以在 VPC 网络中同时使用 Public NAT 网关和 Private NAT 网关为同一子网提供 NAT 服务。

Public NAT

Public NAT 允许没有公共 IP 地址的 Google Cloud 资源与互联网进行通信。这些虚拟机使用一组共享的公共 IP 地址连接到互联网。 Public NAT 不依赖于代理虚拟机。而是,Public NAT网关会为使用网关创建与互联网的出站连接的每个虚拟机分配一组外部 IP 地址和来源端口。

考虑以下场景:subnet-1 中有 VM-1,其网络接口没有外部 IP 地址。不过,VM-1 需要连接到互联网才能下载重要更新。如需启用互联网连接,您可以创建一个配置为应用于 subnet-1 IP 地址范围的Public NAT网关。现在,VM-1 可以使用 subnet-1 的内部 IP 地址将流量发送到互联网。

如需了解详情,请参阅 Public NAT

专用 NAT

Private NAT 支持为以下流量实现 Private NAT 到 Private NAT 的转换。

流量 说明
从一个 VPC 网络连接到另一个 VPC 网络 Private NAT 支持将作为 VPC spoke 连接到 Network Connectivity Center hub 的 VPC 网络进行私有到私有的 NAT。如需了解详情,请参阅用于 Network Connectivity Center spoke 的 Private NAT
从 VPC 网络到 Google Cloud 外部的网络 Private NAT 支持针对 VPC 网络与本地网络或其他云服务商网络之间的流量使用以下选项:

假设您的 VPC 网络中的资源需要与其他业务部门拥有的 VPC 网络或本地网络或其他云服务提供商网络中的资源进行通信。不过,该网络包含的子网的 IP 地址与您的 VPC 网络的 IP 地址重叠。在此场景中,您将创建一个 Private NAT 网关,用于将 VPC 网络中的子网之间的流量转换到另一个网络的非重叠子网。

如需详细了解 Private NAT,请参阅 Private NAT

支持的资源

下表列出了每种类型的 Cloud NAT 支持的 Google Cloud 资源。对勾标记表示支持该资源,符号表示不支持该资源。

资源 Public NAT 专用 NAT
Compute Engine 虚拟机实例
GKE 集群
Cloud Run、Cloud Run functions 和 App Engine 标准环境
区域级互联网 NEG 不适用

架构

Cloud NAT 是一种软件定义的分布式代管式服务。它并非基于代理虚拟机或设备。Cloud NAT 会配置 Andromeda 软件,该软件为您的 Virtual Private Cloud (VPC) 网络提供支持,从而为资源提供来源网络地址转换(来源 NAT 或 SNAT)。此外,Cloud NAT 还会对建立的入站响应数据包执行目标网络地址转换(目标 NAT 或 DNAT)。

传统 NAT 与 Cloud NAT。
传统 NAT 与 Cloud NAT(点击可放大)。

优势

Cloud NAT 具有以下优势:

  • 安全性

    使用Public NAT 网关时,您可以减少各个虚拟机对外部 IP 地址的需求。根据出站防火墙规则,没有外部 IP 地址的虚拟机可以访问互联网上的目标。例如,您的虚拟机可能只需访问互联网即可下载更新或完成预配。

    如果您使用手动 NAT IP 地址分配来配置 Public NAT 网关,则可以放心地与目标方共享一组常用的外部来源 IP 地址。例如,目标服务可能只允许来自已知外部 IP 地址的连接。

    Private NAT 网关不允许来自 Network Connectivity Center 连接的 VPC Spoke 的任何资源直接启动与重叠子网内的虚拟机的连接。当 Private NAT 配置中的虚拟机尝试发起与其他网络中的虚拟机的连接时,Private NAT 网关会使用 Private NAT 范围内的 IP 地址执行 SNAT。网关还会对对出站数据包的响应执行 DNAT。

  • 可用性

    Cloud NAT 是一种软件定义的分布式代管式服务。它既不依赖于项目中的任何虚拟机,也不依赖于单个物理网关设备。您可以在 Cloud Router 路由器上配置 NAT 网关,以便为 NAT 提供控制平面,并保存您指定的配置参数。Google Cloud 可在运行 Google Cloud 虚拟机的物理机器上运行和维护进程。

  • 可伸缩性

    您可配置 Cloud NAT 来自动扩缩其使用的 NAT IP 地址数量,Cloud NAT 还支持属于代管式实例组的虚拟机,包括已启用自动扩缩的实例组。

  • 性能

    Cloud NAT 不会降低每个虚拟机的网络带宽。Cloud NAT 可直接与 Google 的 Andlomeda 软件定义网络配合使用。如需了解详情,请参阅 Compute Engine 文档中的网络带宽

  • Logging

    对于 Cloud NAT 流量,您可以跟踪连接和带宽,以便进行合规性、调试、分析和会计核算。

  • 监控

    Cloud NAT 向 Cloud Monitoring 提供关键指标,可让您深入了解机群的 NAT 网关使用情况。系统会自动将指标发送至 Cloud Monitoring。在这里,您可以创建自定义信息中心、设置提醒以及查询指标。

产品交互

如需详细了解 Cloud NAT 与其他 Google Cloud 产品之间的重要交互,请参阅 Cloud NAT 产品交互

后续步骤