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

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

在本教程中,你将了解如何将 NAT 网关与内部负载均衡器集成。

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

通过另一个公共负载均衡器、网络路由或在虚拟机上定义的公共 IP,为内部后端池启用了 SNAT。

NAT 网关集成取代了对后端池中虚拟机上定义的公共负载均衡器、网络路由或公共 IP 的部署。

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

In this tutorial, you learn how to:

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

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 地址对虚拟网络中的流量进行负载均衡。

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

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

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

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

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

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

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

  7. 在“子网”中选择“subnet-1 (10.0.0.0/24)”。

  8. 保留其余选项的默认值。

  9. 选择 添加

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

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

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

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

  14. 选择“保存”。

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

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

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

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

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

  20. 选择“创建”

创建虚拟机

本部分将在两个不同的区域(区域 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. 输入在创建虚拟机期间输入的用户名和密码。 选择“连接”

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

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

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

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

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

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

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

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

Next steps

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