教程:使用 Azure 门户将 NAT 网关与公共负载均衡器集成

本教程介绍如何将 NAT 网关与公共负载均衡器集成。

默认情况下,Azure 标准负载均衡器是安全的。 通过启用出站 SNAT(源网络地址转换)来显式定义出站连接。 在负载均衡规则或出站规则中启用了 SNAT。

NAT 网关集成免去了对后端池出站 SNAT 的出站规则的需要。

学习教程期间所创建 Azure 资源的示意图。

本教程介绍如何执行下列操作:

  • 创建 NAT 网关
  • 创建 Azure 负载均衡器
  • 为 Azure 负载均衡器的后端池创建两个虚拟机
  • 验证负载均衡器后端池中虚拟机的出站连接

先决条件

具有活动订阅的 Azure 帐户。 创建试用版订阅

登录 Azure

使用 Azure 帐户登录到 Azure 门户

创建 NAT 网关

在部署 NAT 网关资源和其他资源之前,需要一个资源组来包含部署的资源。 在以下步骤中,你将创建资源组、NAT 网关资源和公共 IP 地址。 可以使用一个或多个公共 IP 地址资源和/或公共 IP 前缀。

有关公共 IP 前缀和 NAT 网关的信息,请参阅管理 NAT 网关

  1. 在门户顶部的搜索框中,输入“NAT 网关”。 在搜索结果中选择“NAT 网关”。

  2. 选择“+ 新建”。

  3. 在“创建网络地址转换(NAT)网关”中,在“基本信息”选项卡中输入或选择以下信息 :

    设置
    项目详细信息
    订阅 选择 Azure 订阅。
    资源组 选择“新建”。
    输入 test-rg
    选择“确定”。
    实例详细信息
    NAT 网关名称 输入 nat-gateway
    区域 选择“中国北部 3”
    可用性区域 选择“无区域”。
    TCP 空闲超时(分钟) 保留默认值“4”。

    有关可用性区域和 NAT 网关的信息,请参阅 NAT 网关和可用性区域

  4. 选择“出站 IP”选项卡,或者选择“下一步:出站 IP”按钮(位于页面底部) 。

  5. 在“出站 IP”选项卡中,输入或选择以下信息:

    设置
    公共 IP 地址 选择“创建新的公共 IP 地址”。
    在“名称”中输入 public-ip-nat
    选择“确定”。
  6. 选择“查看 + 创建”选项卡,或选择页面底部的“查看 + 创建”按钮 。

  7. 选择“创建”。

创建虚拟网络和堡垒主机

以下过程创建包含资源子网、Azure Bastion 子网和 Azure Bastion 主机的虚拟网络。

  1. 在门户中,搜索并选择“虚拟网络”。

  2. 在“虚拟网络”页面,选择“创建”。

  3. 在“创建虚拟网络”的“基本信息”选项卡上输入或选择以下信息:

    设置
    项目详细信息
    订阅 选择订阅。
    资源组 选择“test-rg”。
    实例详细信息
    名称 输入“vnet-1”。
    区域 选择“中国北部 3”。

    Azure 门户中“创建虚拟网络”的“基本信息”选项卡的屏幕截图。

  4. 选择页面底部的“下一步: IP 地址”。

  5. 在“IP 地址”选项卡的“IPv4 地址空间”下,选择垃圾箱删除图标以删除任何已出现的地址空间,然后输入“10.0.0.0/16”。

  6. 选择“+ 添加子网”。

  7. 在“添加子网”中输入或选择以下信息:

    设置
    子网名称 输入“subnet-1”。
    子网地址范围 输入 10.0.0.0/24
    NAT 网关
    NAT 网关 选择“nat 网关

    在 Azure 门户的“创建虚拟网络”中创建 IP 地址空间和子网的屏幕截图。

  8. 选择 添加

  9. 在页面底部选择“下一步: 安全”。

  10. 在“安全性”选项卡上的“BastionHost”旁,选择“启用”。

    Azure Bastion 使用浏览器通过安全外壳 (SSH) 或远程桌面协议 (RDP),通过使用其专用 IP 地址连接虚拟网络中的虚拟机。 虚拟机不需要公共 IP 地址、客户端软件或特殊配置。 有关 Azure Bastion 的详细信息,请参阅 Azure Bastion

    注意

    每小时定价从部署 Bastion 的时刻开始计算,无论出站数据的使用情况如何。 有关详细信息,请参阅定价SKU。 如果要将 Bastion 部署为教程或测试的一部分,建议在使用完此资源后将其删除。

  11. 输入或选择以下信息:

    设置
    Bastion 名称 输入“堡垒”。
    AzureBastionSubnet 地址空间 输入“10.0.1.0/26”。
    公共 IP 地址 选择“新建”。
    在“名称”中输入“public-ip”。
    选择“确定”。

    在 Azure 门户的“创建虚拟网络”中启用堡垒主机的屏幕截图。

  12. 选择屏幕底部的“查看 + 创建”,然后在验证通过时选择“创建”。

创建负载均衡器

本部分将创建一个对虚拟机进行负载均衡的区域冗余负载均衡器。 使用区域冗余时,一个或多个可用性区域可能会发生故障,而数据路径可以幸存,但前提是该区域中有一个局部区域保持正常。

在创建负载均衡器的过程中,配置以下内容:

  • 前端 IP 地址
  • 后端池
  • 入站负载均衡规则
  1. 在门户顶部的搜索框中,输入“负载均衡器”。 在搜索结果中选择“负载均衡器”。

  2. 在“负载均衡器”页上,选择“创建” 。

  3. 在“创建负载均衡器”页的“基本信息”选项卡中,输入或选择以下信息:

    设置
    项目详细信息
    订阅 选择订阅。
    资源组 选择“test-rg”。
    实例详细信息
    名称 输入“load-balancer”
    区域 选择“中国北部 3”。
    SKU 保留默认值“标准”。
    类型 选择“公共”。
  4. 在页面底部选择“下一步: 前端 IP 配置”。

  5. 在“前端 IP 配置”中,选择“+ 添加前端 IP 配置”。

  6. 在“名称”中输入“frontend”。

  7. 对于“IP 版本”,选择“IPv4”或“IPv6” 。

  8. 对于“IP 类型”,选择“IP 地址” 。

    注意

    有关 IP 前缀的详细信息,请参阅 Azure 公共 IP 地址前缀

  9. 在“公共 IP 地址”中选择“新建” 。

  10. 在“添加公共 IP 地址”中,输入“public-ip-load-balancer”作为“名称”。

  11. 在“可用性区域”中选择“区域冗余” 。

    注意

    在提供可用性区域设置的区域中,可以选择无区域(默认选项)、特定区域或区域冗余。 请根据特定的域故障要求做出选择。 在不提供“可用性区域”设置的区域中,不会显示此字段。
    有关可用性区域的详细信息,请参阅可用性区域概述

  12. 选择“确定” 。

  13. 选择 添加

  14. 在页面底部选择“下一步: 后端池”。

  15. 在“后端池”选项卡上,选择“+ 添加后端池” 。

  16. 在“添加后端池”的“名称”中输入“myBackendPool”。

  17. 在“虚拟网络”中选择“vnet-1 (test-rg)”。

  18. 对于“后端池配置”,请选择“NIC”或“IP 地址” 。

  19. 选择“保存”。

  20. 选择页面底部的“下一步: 入站规则”按钮。

  21. 在“入站规则”选项卡的“负载均衡规则”中,选择“+ 添加负载均衡规则” 。

  22. 在“添加负载均衡规则”中,输入或选择以下信息:

    设置
    名称 输入“http-rule”
    IP 版本 根据你的要求选择“IPv4”或“IPv6” 。
    前端 IP 地址 选择“前端”。
    后端池 选择“backend-pool”。
    协议 选择“TCP”。
    端口 输入 80
    后端端口 输入 80
    运行状况探测 选择“新建”。
    在“名称”中,输入“health-probe”。
    在“协议”中选择“TCP”。
    将剩余的字段保留为默认值,然后选择“确定”。
    会话暂留 选择“无”。
    空闲超时(分钟) 输入或选择“15”。
    TCP 重置 选择“启用”。
    浮动 IP 选择“已禁用”。
  23. 选择“保存”。

  24. 选择页面底部的“查看 + 创建”蓝色按钮。

  25. 选择“创建”。

创建虚拟机

在本部分中,将在两个不同的区域(区域 1 和区域 2)中创建两个 VM(vm-1 和 vm-2)。

这些 VM 将添加到先前创建的负载均衡器的后端池中。

  1. 在门户顶部的搜索框中,输入“虚拟机”。 在搜索结果中,选择“虚拟机”。

  2. 选择“+ 创建”,然后选择“Azure 虚拟机”。

  3. 在“创建虚拟机”中,在“基本信息”选项卡中键入或选择值:

    设置
    项目详细信息
    订阅 选择订阅。
    资源组 选择“test-rg”。
    实例详细信息
    虚拟机名称 输入“vm-1”。
    区域 选择“中国北部 3”。
    可用性选项 选择“区域 1”。
    安全类型 选择“标准”。
    映像 选择“Ubuntu Server 22.04 LTS - Gen2”。
    大小 选择一个大小。
    管理员帐户
    身份验证类型 选择密码
    用户名 输入“azureuser”。
    Password 输入密码。
    确认密码 重新输入密码。
    入站端口规则
    公共入站端口 选择“无”。
  4. 选择“网络”选项卡,或选择“下一步: 磁盘”,然后选择“下一步: 网络”。

  5. 在“网络”选项卡中,输入或选择以下信息:

    设置
    网络接口
    虚拟网络 选择“vnet-1”。
    子网 选择“subnet-1 (10.0.0.0/24)”
    公共 IP 选择
    NIC 网络安全组 选择“高级”
    配置网络安全组 选择“新建”。
    在“创建网络安全组”中,在“名称”中输入“nsg-1”。
    在“入站规则”下,选择“+ 添加入站规则”。
    在“服务”中,选择“HTTP”。
    选择“添加”
    选择“确定”
    负载均衡
    是否将此虚拟机置于现有的负载均衡解决方案之后? 选择此复选框。
    负载均衡设置
    负载均衡选项 选择“Azure 负载均衡器”
    选择负载均衡器 选择“load-balancer”
    选择后端池 选择“backend-pool”
  6. 选择“查看 + 创建”。

  7. 检查设置,然后选择“创建”。

  8. 按照以下步骤操作,使用以下值创建一个 VM,所有其他设置均与 vm-1 相同:

    设置 VM 2
    名称 vm-2
    可用性区域 2
    网络安全组 选择现有的“nsg-1”
    负载均衡选项 选择“Azure 负载均衡器”
    选择负载均衡器 选择“load-balancer”
    选择后端池 选择“backend-pool”

测试 NAT 网关

在本部分中,你将测试 NAT 网关。 首先,你会发现 NAT 网关的公共 IP。 然后连接到测试虚拟机,并通过 NAT 网关验证出站连接。

  1. 在门户顶部的搜索框中,输入“公共 IP”。 在搜索结果中,选择“公共 IP 地址”。

  2. 选择“public-ip-nat”。

  3. 记下公共 IP 地址:

    NAT 网关的公共 IP 地址的屏幕截图。

  4. 在门户顶部的搜索框中,输入“虚拟机”。 在搜索结果中,选择“虚拟机”。

  5. 选择 vm-1

  6. 在“概述”页面上,选择“连接”,然后选择“Bastion”。

  7. 选择“使用 Bastion”。

  8. 输入在 VM 创建过程中输入的用户名和密码。 选择“连接”。

  9. 在 bash 提示符下,输入以下命令:

    curl ifconfig.me
    
  10. 验证命令返回的 IP 地址是否与 NAT 网关的公共 IP 地址匹配。

    azureuser@vm-1:~$ curl ifconfig.me
    20.7.200.36
    
  11. 关闭与 vm-1的 Bastion 连接。

清理资源

使用创建的资源之后,可以删除资源组及其所有资源。

  1. 在 Azure 门户中,搜索并选择“资源组”。

  2. 在“资源组”页上,选择“test-rg”资源组。

  3. 在“test-rg”页上,选择“删除资源组”。

  4. 在“输入资源组名称以确认删除”中输入“test-rg”,然后选择“删除”。

后续步骤

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