你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

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

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

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

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

教程中创建的 Azure 资源示意图。

In this tutorial, you learn how to:

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

Prerequisites

具有活动订阅的 Azure 帐户。 免费创建帐户

创建资源组

创建资源组以包含本快速入门的所有资源。

  1. 登录到 Azure 门户

  2. 在门户顶部的搜索框中,输入 资源组。 在搜索结果中选择“资源组”。

  3. 选择“+ 新建”。

  4. “创建资源组”的“基本信息”选项卡中,输入或选择以下信息。

    设置
    订阅 选择订阅
    资源组 test-rg
    区域 美国东部 2
  5. 选择“查看 + 创建”

  6. 选择“创建”

创建虚拟网络

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

  2. 选择“创建”

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

    设置
    项目详细信息
    订阅 选择订阅。
    资源组 选择 test-rg 或您的资源组。
    实例详细信息
    名称 输入 vnet-1
    区域 选择你的区域。 此示例使用美国东部 2
  4. 选择“ IP 地址 ”选项卡,或依次选择“ 下一步:安全性”、“ 下一步:IP 地址”。

  5. “子网 ”中,选择 默认 子网。

  6. 在“编辑子网”中,输入或选择以下信息

    设置
    子网用途 保留默认值。
    名称 输入 “subnet-1”
  7. 将其余设置保留为默认值,然后选择“ 保存”。

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

  9. “添加子网”中 输入或选择以下信息。

    设置
    子网用途 选择 Azure Bastion
  10. 将其余设置保留为默认值,然后选择“ 添加”。

  11. 选择查看 + 创建,然后选择创建

创建 Azure Bastion 主机

创建 Azure Bastion 主机以安全地连接到虚拟机。

  1. 在 Azure 门户顶部的搜索框中,输入 Bastion。 在搜索结果中选择 Bastions

  2. 选择“创建”

  3. “创建 Bastion”基本选项卡中输入或选择以下信息。

    设置
    项目详细信息
    订阅 选择订阅。
    资源组 选择 test-rg 或您的资源组。
    实例详细信息
    名称 输入“Bastion”
    区域 选择你的区域。 此示例使用美国东部 2
    选择 “开发人员”。
    虚拟网络 选择 “vnet-1”
    子网 选择“AzureBastionSubnet”
  4. 选择查看 + 创建,然后选择创建

创建 NAT 网关

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

  2. 选择“创建”

  3. 在“创建公共 IP 地址”中,输入以下信息。

    设置
    订阅 选择订阅。
    资源组 选择你的资源组。 此示例使用 test-rg
    区域 选择区域。 此示例使用美国东部 2
    名称 输入 public-ip-nat
    IP 版本 选择 IPv4
    SKU 选择“标准”
    可用性区域 选择“区域冗余”
    选择“区域”
  4. 选择“查看 + 创建”,然后选择“创建”

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

  6. 选择“创建”

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

    设置
    项目详细信息
    订阅 选择订阅。
    资源组 选择 test-rg 或您的资源组。
    实例详细信息
    NAT 网关名称 输入“nat-gateway”。
    区域 选择你的区域。 此示例使用美国东部 2
    SKU 选择“标准”
    TCP 空闲超时(分钟) 保留默认值“4”
  8. 选择“下一步”。

  9. “出站 IP ”选项卡中,选择“ + 添加公共 IP 地址或前缀”。

  10. “添加公共 IP 地址或前缀”中,选择 “公共 IP 地址”。 选择之前创建的公共 IP 地址 public-ip-nat

  11. 选择“下一步”。

  12. 在“ 网络 ”选项卡中的 “虚拟网络”中,选择 vnet-1

  13. 确保“默认为所有子网”复选框未被选中。

  14. “选择特定子网”中,选择 “子网 1”。

  15. 选择查看 + 创建,然后选择创建

创建负载均衡器

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

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

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

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

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

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

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

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

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

    注意

    IPv6 目前不支持路由首选项或跨区域负载平衡(全局层)。

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

    注意

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

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

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

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

    注意

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

  12. 保留“路由首选项”的默认值“Microsoft 网络”

  13. 选择“确定”

  14. 选择 添加

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

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

  17. 在“添加后端池”的“名称”中输入“backend-pool”

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

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

  20. 选择“保存”。

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

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

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

    设置
    名称 输入“http-rule”
    IP 版本 根据你的要求选择“IPv4”或“IPv6”
    前端 IP 地址 选择“前端”
    后端池 选择“backend-pool”
    协议 选择“TCP”
    端口 输入 80
    后端端口 输入 80
    运行状况探测 选择“新建”。
    在“名称”中,输入“health-probe”
    在“协议”中选择“TCP”。
    将剩余的字段保留为默认值,然后选择“确定”
    会话暂留 选择“无”。
    空闲超时(分钟) 输入或选择“15”
    TCP 重置 选择“启用”。
    浮动 IP 选择“已禁用”。
    出站源网络地址转换 (SNAT) 保留默认值“(建议)使用出站规则为后端池成员提供对 Internet 的访问权限。”
  24. 选择“保存”。

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

  26. 选择“创建”

创建虚拟机

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

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

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

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

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

    设置
    项目详细信息
    订阅 选择订阅。
    资源组 选择 “test-rg”
    实例详细信息
    虚拟机名称 输入 “vm-1”
    区域 选择“美国东部 2”。
    可用性选项 选择“区域 1”
    安全类型 选择“标准”
    图像 选择“Ubuntu Server 22.04 LTS - x64 Gen2”。
    VM 体系结构 保留默认值 “x64”。
    大小 选择一个大小。
    管理员帐户
    身份验证类型 选择“密码”。
    用户名 输入 “azureuser”
    密码 输入密码。
    确认密码 重新输入密码。
    入站端口规则
    公共入站端口 选择“无”。
  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
    203.0.113.25
    
  11. 关闭与 vm-1的 Bastion 连接。

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

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

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

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

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

Next steps

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