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

教程:使用 Azure 门户创建单个虚拟机入站 NAT 规则

入站 NAT 规则使你可以使用 Azure 负载均衡器公共 IP 地址和端口号连接到 Azure 虚拟网络中的虚拟机 (VM)。

有关 Azure 负载均衡器规则的详细信息,请参阅使用 Azure 门户管理 Azure 负载均衡器的规则

在本教程中,你将了解如何:

  • 创建虚拟网络和虚拟机
  • 创建具有前端 IP、运行状况探测、后端配置、负载均衡规则和入站 NAT 规则的标准 SKU 公共负载均衡器
  • 为后端池的出站 Internet 访问创建 NAT 网关
  • 在 VM 上安装和配置 Web 服务器,以演示端口转发和负载均衡规则

Diagram of load balancer resources for deploying an inbound NAT rule for a virtual machine.

先决条件

登录 Azure

登录 Azure 门户

创建虚拟网络和虚拟机

本教程中的资源需要用到虚拟网络和子网。 在本部分中,你将为后续步骤创建虚拟网络和虚拟机。

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

  2. 在“虚拟机”中,选择“+ 创建”>“+ 虚拟机”。

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

    设置
    项目详细信息
    订阅 选择订阅。
    资源组 选择“新建”。
    输入 load-balancer-rg
    选择“确定”。
    实例详细信息
    虚拟机名称 输入 lb-vm1
    区域 选择“((美国)美国东部)”。
    可用性选项 选择“可用性区域”。
    可用性区域 选择“区域 1”。
    安全类型 选择“标准”。
    映像 选择“Ubuntu Server 20.04 LTS - Gen2”。
    Azure Spot 实例 保留默认值“未选中”。
    大小 选择 VM 大小。
    管理员帐户
    身份验证类型 选择“SSH 公钥”。
    用户名 输入“azureuser”。
    SSH 公钥源 选择“生成新密钥对”。
    密钥对名称 输入 lb-key-pair
    入站端口规则
    公共入站端口 选择“无”。
  4. 选择“网络”选项卡,或选择“下一步: 磁盘”,然后选择“下一步: 网络”。

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

    设置
    网络接口
    虚拟网络 选择“新建”。
    在“名称”中输入 lb-vnet
    在“地址空间”的“地址范围”下,输入 10.0.0.0/16
    在“子网”的“子网名称”下,输入 backend-subnet
    在“地址范围”中,输入 10.0.1.0/24
    选择“确定”。
    子网 选择“backend-subnet”。
    公共 IP 选择“无”。
    NIC 网络安全组 选择“高级”。
    配置网络安全组 选择“新建”。
    在“名称”中输入 lb-NSG
    在“入站规则”下,选择“+ 添加入站规则”。
    在“服务”中,选择“HTTP”。
    在“优先级”中,输入 100。
    在“名称”中输入 lb-NSG-Rule
    选择“添加”。
    选择“确定”。
  6. 选择“查看 + 创建”选项卡,或选择页面底部的“查看 + 创建”按钮 。

  7. 选择“创建”。

  8. 在“生成新密钥对”提示下,选择“下载私钥并创建资源” 。 下载的密钥文件名为 lb-key-pair.pem。 确保你知道 .pem 文件的下载位置,在后面的步骤中你将用到密钥文件的路径。

  9. 按照步骤 1 到 7 操作,使用以下值创建另一个 VM,所有其他设置均与 lb-vm1 相同:

    设置
    基础知识
    实例详细信息
    虚拟机名称 输入 lb-vm2
    可用性区域 选择“区域 2”
    管理员帐户
    身份验证类型 选择“SSH 公钥”
    SSH 公钥源 选择“使用 Azure 中存储的现有密钥”。
    已存储密钥 选择“lb-key-pair”。
    入站端口规则
    公共入站端口 选择“无”。
    联网
    网络接口
    公共 IP 选择“无”。
    NIC 网络安全组 选择“高级”。
    配置网络安全组 选择现有的 lb-NSG

创建负载均衡器

在本部分中,你将创建负载均衡器。 创建过程中将配置前端 IP、后端池、负载均衡和入站 NAT 规则。

  1. 在门户顶部的搜索框中,输入“负载均衡器”。 在搜索结果中选择“负载均衡器”。

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

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

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

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

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

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

    注意

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

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

    注意

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

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

  10. 在“添加公共 IP 地址”的“名称”中,输入 lb-frontend-ip

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

    注意

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

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

  13. 选择“确定” 。

  14. 选择 添加

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

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

  17. 在“添加后端池”中,输入或选择以下信息。

    设置
    名称 输入 lb-backend-pool
    虚拟网络 选择“lb-vnet (load-balancer-rg)”。
    后端池配置 选择“NIC”。
  18. 在“虚拟机”中,选择“+ 添加”。

  19. 在“向后端池添加虚拟机”中,选中 lb-vm1lb-vm2 旁边的复选框。

  20. 依次选择“添加”、“保存”。

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

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

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

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

    有关负载均衡规则的详细信息,请参阅负载均衡规则

  24. 选择“保存”。

  25. 在“入站规则”选项卡的“入站 NAT 规则”中,选择“+ 添加入站 NAT 规则”。

  26. 在“添加入站 NAT 规则”中,输入或选择以下信息。

    设置
    名称 输入 lb-NAT-rule-VM1-221
    目标虚拟机 选择“lb-vm1”。
    网络 IP 配置 选择“ipconfig1 (10.0.0.4)”。
    前端 IP 地址 选择“lb-frontend(待创建)”。
    前端端口 输入 221。
    服务标记 选择“自定义”。
    后端端口 输入 22。
    协议 保留默认值 TCP。
    启用 TCP 重置 保留默认值“未选中”。
    空闲超时(分钟) 保留默认值“4”。
    启用浮动 IP 保留默认值“未选中”。
  27. 选择 添加

  28. 选择“+ 添加入站 NAT 规则”。

  29. 在“添加入站 NAT 规则”中,输入或选择以下信息。

    设置
    名称 输入 lb-NAT-rule-VM2-222
    目标虚拟机 选择“lb-vm2”。
    网络 IP 配置 选择“ipconfig1 (10.0.0.5)”。
    前端 IP 地址 选择“lb-frontend”。
    前端端口 输入 222。
    服务标记 选择“自定义”。
    后端端口 输入 22。
    协议 保留默认值 TCP。
    启用 TCP 重置 保留默认值“未选中”。
    空闲超时(分钟) 保留默认值“4”。
    启用浮动 IP 保留默认值“未选中”。
  30. 选择 添加

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

  32. 选择“创建”。

创建 NAT 网关

在本部分中,你将为虚拟网络中的资源创建用于出站 Internet 访问的 NAT 网关。

有关出站连接和 Azure 虚拟网络 NAT 的详细信息,请参阅对出站连接使用源网络地址转换 (SNAT)什么是虚拟网络 NAT?

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

  2. 在“NAT 网关”中,选择“+ 创建” 。

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

    设置
    项目详细信息
    订阅 选择订阅。
    资源组 选择“load-balancer-rg”。
    实例详细信息
    NAT 网关名称 输入 lb-nat-gateway
    区域 选择“美国东部”。
    可用性区域 选择“无”。
    空闲超时(分钟) 输入 15
  4. 选择“出站 IP”选项卡,或者选择“下一步: 出站 IP”按钮(位于页面底部) 。

  5. 在“出站 IP”选项卡中,选择“公共 IP 地址”旁边的“创建新的公共 IP 地址” 。

  6. 在“添加公共 IP 地址”的“名称”中,输入 nat-gw-public-ip

  7. 选择“确定”

  8. 选择“子网”选项卡,或者选择“下一步: 子网”按钮(位于页面底部) 。

  9. 在“子网”选项卡中的“虚拟网络”中,选择“lb-vnet”。

  10. 在“子网名称”下选择“backend-subnet”。

  11. 选择页面底部的“查看 + 创建”按钮,或选择“查看 + 创建”选项卡 。

  12. 选择“创建”。

安装 Web 服务器

在本部分中,你将根据入站 NAT 规则通过 SSH 连接到虚拟机,并安装 Web 服务器。

  1. 在门户顶部的搜索框中,输入“负载均衡器”。 在搜索结果中选择“负载均衡器”。

  2. 选择“load-balancer”。

  3. 在“设置”中,选择“前端 IP 配置”。

  4. 在“前端 IP 配置”中,记下 lb-frontend 的“IP 地址”。 在本示例中,它为 20.99.165.176。

    Screenshot of public IP in Azure portal.

  5. 如果使用的是 Mac 或 Linux 计算机,请打开 Bash 提示符。 如果使用的是 Windows 计算机,请打开 PowerShell 提示符。

  6. 在提示符下,通过 SSH 连接到 lb-vm1。 将 IP 地址替换为前面步骤中检索到的地址以及用于 lb-vm1 入站 NAT 规则的端口 221。 将 .pem 的路径替换为密钥文件下载位置的路径。

    ssh -i .\Downloads\lb-key-pair.pem azureuser@20.99.165.176 -p 221
    

    提示

    下次在 Azure 中创建 VM 时,可以使用此次创建的 SSH 密钥。 下次创建 VM 时,只需为“SSH 公钥源”选择“使用存储在 Azure 中的密钥” 。 你的计算机上已有私钥,因此无需下载任何内容。

  7. 在 SSH 会话中更新包源,然后安装最新的 NGINX 包。

    sudo apt-get -y update
    sudo apt-get -y install nginx
    
  8. 输入 Exit 退出 SSH 会话

  9. 在提示符下,通过 SSH 连接到 lb-vm2。 将 IP 地址替换为前面步骤中检索到的地址以及用于 lb-vm2 入站 NAT 规则的端口 222。 将 .pem 的路径替换为密钥文件下载位置的路径。

    ssh -i .\Downloads\lb-key-pair.pem azureuser@20.99.165.176 -p 222
    
  10. 在 SSH 会话中更新包源,然后安装最新的 NGINX 包。

    sudo apt-get -y update
    sudo apt-get -y install nginx
    
  11. 输入 Exit 退出 SSH 会话。

测试 Web 服务器

在本部分中,将使用负载均衡器的公共 IP 地址来测试 Web 服务器。

  1. 打开 Web 浏览器。

  2. 在地址栏中,输入负载均衡器的 IP 地址。 在本示例中,它为 20.99.165.176。

  3. 系统将显示默认的 NGINX 网站。

    Screenshot of testing the NGINX web server.

清理资源

如果你不打算继续使用此应用程序,请按以下步骤删除虚拟机和负载均衡器:

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

  2. 在“资源组”中选择“load-balancer-rg”。

  3. 选择“删除资源组”。

  4. 在“键入资源组名称:”中输入 load-balancer-rg。 选择“删除”。

后续步骤

请继续学习下一篇文章,了解如何创建跨区域负载均衡器: