使用 Azure NAT 网关设计虚拟网络
请阅读本文以熟悉有关使用 NAT 网关设计虚拟网络的注意事项。
对于需要通过 Internet 连接到公共终结点的所有生产工作负载,建议使用 NAT 网关。 出站连接在部署具有子网和至少一个公共 IP 地址的 NAT 网关后立即发生。 无需路由配置即可通过 NAT 网关建立出站连接。 NAT 网关将成为子网到 Internet 的默认路由。
如果虚拟网络中存在其他出站配置,例如负载均衡器或实例级公共 IP (IL PIP),则 NAT 网关优先用于出站连接。 新的出站发起流量和返回流量将使用 NAT 网关。 将 NAT 网关添加到具有现有出站配置的子网后,出站连接不会存在故障时间。
缩放 NAT 网关功能主要用于管理共享的可用 SNAT 端口库存。
缩放工作负载时,应假设每个流需要新的 SNAT 端口,然后缩放出站流量的可用 IP 地址总数。 qing 仔细考虑正在设计的缩放,然后相应分配 IP 地址。 NAT 网关需要足够的 SNAT 端口库存,才能应对附加到 NAT 网关的所有子网的预期峰值出站流。
随着 SNAT 端口即将耗尽,连接流可能不会成功。
每个 NAT 网关公共 IP 地址提供 64,512 个 SNAT 端口以建立出站连接。 NAT 网关可以纵向扩展到超过 100 万个 SNAT 端口。
SNAT 可将子网中的专用地址映射到附加到 NAT 网关的一个或多个公共 IP 地址,并重写此过程中的源地址和源端口。 当与同一目标终结点建立多个连接时,将会使用新的 SNAT 端口。 要区分流向同一目标的不同连接流,必须使用新的 SNAT 端口。
流向不同目标终结点的连接流可以同时重用同一 SNAT 端口。 如果可能,将会重用发送到不同目标的 SNAT 端口连接。 随着 SNAT 端口即将耗尽,流可能不会成功。
有关 SNAT 示例,请参阅 NAT 网关的示例 SNAT 流。
可以直接通过 Azure 主干网络从 Azure 虚拟网络连接到 Azure PaaS 服务并绕过 Internet。 绕过 Internet 连接到其他 Azure PaaS 服务时,可以释放 SNAT 端口并降低 SNAT 端口耗尽的风险。 应尽可能使用专用链接连接到 Azure PaaS 服务,从而释放 SNAT 端口库存。
专用链接使用虚拟机的专用 IP 地址或 Azure 网络中的其他计算资源,通过 Azure 主干网络以私密且安全的方式连接到 Azure PaaS 服务。 查看专用链接支持的可用 Azure 服务列表。
备注
Azure 建议使用 Azure 专用链接对 Azure 中托管的服务进行安全和专用访问。 服务终结点还可用于通过 Azure 主干直接连接到 Azure PaaS 服务。
NAT 网关、负载均衡器和实例级公共 IP 可感知流方向,并且可以共存于同一虚拟网络中,以无缝提供出站和入站连接。 通过负载均衡器或实例级公共 IP 的入站流量与通过 NAT 网关的出站流量分开进行转换。
专用实例将 NAT 网关用于出站流量和出站发起流的任何响应流量。 专用实例将实例级公共 IP 或负载均衡器用于入站流量,以及入站发起流的任何响应流量。
以下示例演示了负载均衡器或实例级公共 IP 与 NAT 网关的共存。 入站流量会通过负载均衡器或公共 IP。 出站流量会通过 NAT 网关。
图:具有实例级公共 IP 的 NAT 网关和 VM
资源 | 流量流方向 | 所用连接方法 |
---|---|---|
VM(子网 1) | 入站和出站 | 实例级公共 IP NAT 网关 |
虚拟机规模集(子网 1) | 入站和出站 | NA NAT 网关 |
VM(子网 2) | 入站和出站 | NA NAT 网关 |
虚拟机可将 NAT 网关用于出站和返回流量。 入站发起的流量通过实例级公共 IP 直接关联到子网 1 中的虚拟机。 来自子网 1 的虚拟机规模集和来自子网 2 的 VM 只能通过 NAT 网关传出和接收响应流量。 无法接收任何入站发起的流量。
图:具有标准公共负载均衡器的 NAT 网关和 VM
资源 | 流量流方向 | 所用连接方法 |
---|---|---|
VM 和虚拟机规模集(子网 1) | 入站和出站 | 负载均衡器 NAT 网关 |
VM(子网 2) | 入站和出站 | NA NAT 网关 |
NAT 网关将取代负载均衡器上负载均衡规则或出站规则中的任何出站配置。 后端池中的 VM 实例将使用 NAT 网关发送出站流量并接收返回流量。 入站发起的流量会经过负载均衡器后端池中所有 VM 实例(子网 1)的负载均衡器。 来自子网 2 的 VM 只能通过 NAT 网关传出和接收响应流量。 无法接收任何入站发起的流量。
图:具有实例级公共 IP 和标准公共负载均衡器的 NAT 网关和 VM
资源 | 流量流方向 | 所用连接方法 |
---|---|---|
VM(子网 1) | 入站和出站 | 实例级公共 IP NAT 网关 |
虚拟机规模集(子网 1) | 入站和出站 | 负载均衡器 NAT 网关 |
VM(子网 2) | 入站和出站 | NA NAT 网关 |
NAT 网关将取代负载均衡器上负载均衡规则或出站规则以及虚拟机上实例级公共 IP 中的任何出站配置。 子网 1 和子网 2 中的所有虚拟机将 NAT 网关专用于出站和返回流量。 实例级公共 IP 优先于负载均衡器。 子网 1 中的 VM 将实例级公共 IP 用于入站发起的流量。 VMSS 没有实例级公共 IP。
通过网络安全组可以筛选虚拟机的入站和出站流量。 若要监视来自 NAT 网关后面的虚拟机的出站流量,请启用 NSG 流日志。
有关 NSG 流日志的信息,请参阅 NSG 流日志概述。
有关如何启用 NSG 流日志的指南,请参阅启用 NSG 流日志。
备注
NSG 流日志将仅显示连接到出站连接到 Internet 的 VM 实例的专用 IP。 NSG 流日志不会显示在建立出站之前,VM 的专用 IP 已 SNAT 到哪个 NAT 网关公共 IP 地址。
- vWAN 中心配置不支持 NAT 网关。