Azure NAT 网关集成

Azure NAT 网关是一种完全托管、高度可复原的服务,可与一个或多个子网相关联。 它确保所有面向 Internet 的出站流量都通过网络地址转换 (NAT) 网关进行路由。 使用 Azure 应用服务时,有两个可以使用 NAT 网关的重要场景。

NAT 网关提供了用于面向 Internet 的出站流量的可预测的静态公共 IP 地址。 在同一公共地址/端口组合有大量并发连接的情况下,它还能大大增加可用的源网络地址转换 (SNAT) 端口

Diagram that shows internet traffic flowing to a NAT gateway in an Azure virtual network.

下面是有关 Azure NAT 网关集成的重要注意事项:

  • 将 NAT 网关与应用服务结合使用取决于虚拟网络集成,因此需要应用服务计划中支持的定价层。
  • 在将 NAT 网关与应用程序服务一起使用时,流往 Azure 存储的所有流量必须使用专用终结点或服务终结点。
  • NAT 网关不能与应用服务环境 v1 或 v2 一起使用。

有关详细信息和定价,请参阅 Azure NAT 网关概述

配置 NAT 网关集成

若要配置 NAT 网关与应用服务的集成,请首先完成以下任务:

  • 按照将应用与 Azure 虚拟网络集成中所述,配置区域虚拟网络与应用的集成。
  • 确保为虚拟网络集成启用了路由全选,这样虚拟网络中的路由就会影响互联网流量。
  • 使用公共 IP 地址配置 NAT 网关,并将其与虚拟网络集成子网关联。

然后,通过 Azure门户设置 Azure NAT 网关:

  1. 在Azure 门户中,依次转到“App 服务”>“网络”。 在“出站流量”中,选择“虚拟网络集成”。 确保应用程序与某个子网集成,并且已启用“全部路由”。

    Screenshot of the Route All option enabled for virtual network integration.

  2. 在 Azure 门户菜单上或在“主页”中,选择“创建资源”。 此时会显示“新建”窗口。

  3. 搜索“NAT 网关”并从结果列表中选择它。

  4. 填写“基本”信息,并选择应用所在的区域。

    Screenshot of the Basics tab on the page for creating a NAT gateway.

  5. 在“出站 IP”选项卡中,创建新的公共 IP 地址或选择现有的地址。

    Screenshot of the Outbound IP tab on the page for creating a NAT gateway.

  6. 在“子网”选项卡中,选择用于虚拟网络集成的子网。

    Screenshot of the Subnet tab on the page for creating a NAT gateway.

  7. 根据需要填写标记,然后选择“创建”。 在预配 NAT 网关后,选择“转到资源组”,然后选择新的 NAT 网关。 “出站 IP”窗口中显示应用将用于面向 Internet 的出站流量的公共 IP 地址。

    Screenshot of the Outbound IP pane for a NAT gateway in the Azure portal.

如果希望使用 Azure CLI 来配置环境,以下是重要的命令。 作为先决条件,需要创建配置了虚拟网络集成的应用。

  1. 确保为虚拟网络集成配置了“全部路由”:

    az webapp config set --resource-group [myResourceGroup] --name [myWebApp] --vnet-route-all-enabled
    
  2. 创建公共 IP 地址和 NAT 网关:

    az network public-ip create --resource-group [myResourceGroup] --name myPublicIP --sku standard --allocation static
    
    az network nat gateway create --resource-group [myResourceGroup] --name myNATgateway --public-ip-addresses myPublicIP --idle-timeout 10
    
  3. 将 NAT 网关与虚拟网络集成子网关联:

    az network vnet subnet update --resource-group [myResourceGroup] --vnet-name [myVnet] --name [myIntegrationSubnet] --nat-gateway myNATgateway
    

缩放 NAT 网关

可以在同一虚拟网络的多个子网中使用同一个 NAT 网关。 此方法允许跨多个应用和App 服务计划使用 NAT 网关。

Azure NAT 网关支持公共 IP 地址和公共 IP 前缀。 NAT 网关可以最多支持单个 IP 地址和前缀中的 16 个 IP 地址。 每个 IP 地址分配 64,512 个端口(SNAT 端口),最多允许一百万个可用端口。 有关详细信息,请参阅 Azure NAT 网关资源

后续步骤

有关 Azure NAT 网关的详细信息,请参阅 Azure NAT 网关文档

有关虚拟网络集成的详细信息,请参阅关于虚拟网络集成的文档