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

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

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

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

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

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

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

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

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

先决条件

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

使用 Azure 帐户登录到 Azure 门户

创建 NAT 网关

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

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

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

  2. 选择“+ 新建”。

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

    设置
    项目详细信息
    订阅 选择 Azure 订阅。
    资源组 选择“新建”。
    输入 test-rg
    选择“确定”。
    实例详细信息
    NAT 网关名称 输入 nat-gateway
    区域 选择“美国东部 2”
    可用性区域 选择“无区域”。
    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”。
    区域 选择“(US)美国东部 2”。

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

  4. 选择下一步,转到安全性选项卡。

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

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

    注意

    每小时定价从部署 Bastion 的时刻开始计算,无论出站数据的使用情况如何。 有关详细信息,请参阅定价SKU。 如果要将 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 地址对虚拟网络中的流量进行负载均衡。

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

  • 前端 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”。
    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. 输入在创建虚拟机期间输入的用户名和密码。 选择“连接” 。

  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”,然后选择“删除”

后续步骤

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