教程:使用 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. 选择下一步,转到安全性选项卡。

  5. 在“安全性”选项卡的“Azure Bastion”部分,选择“启用 Azure Bastion”

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

  6. 在“Azure Bastion”中,输入或选择以下信息:

    设置
    Azure Bastion 主机名 输入“堡垒”。
    Azure Bastion 公共 IP 地址 选择“创建公共 IP 地址”。
    在名称中输入 public-ip-bastion
    选择“确定”。

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

  7. 选择下一步,转到IP 地址选项卡。

  8. 在“子网”的地址空间框中,选择“默认”子网。

  9. 编辑子网中,输入或选择以下信息:

    设置 “值”
    子网用途 保留默认值“默认”。
    名称 输入“subnet-1”。
    IPv4
    IPv4 地址范围 保留默认值“10.0.0.0/16”
    开始地址 保留默认值“10.0.0.0”。
    大小 保留默认值“/24 (256 个地址)”。
    安全性
    NAT 网关 选择 nat-gateway

    默认子网重命名和配置的屏幕截图。

  10. 选择“保存”。

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

创建负载均衡器

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

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

  • 前端 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 网关的详细信息,请参阅: