你当前正在访问 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 服务器,以演示端口转发和负载均衡规则
先决条件
- 具有活动订阅的 Azure 帐户。 免费创建帐户。
登录 Azure
登录 Azure 门户。
创建虚拟网络和虚拟机
本教程中的资源需要用到虚拟网络和子网。 在本部分中,你将为后续步骤创建虚拟网络和虚拟机。
在门户顶部的搜索框中,输入“虚拟机”。 在搜索结果中,选择“虚拟机”。
在“虚拟机”中,选择“+ 创建”>“+ 虚拟机”。
在“创建虚拟机”中,在“基本信息”选项卡中输入或选择以下值:
设置 值 项目详细信息 订阅 选择订阅。 资源组 选择“新建”。
输入 load-balancer-rg。
选择“确定”。实例详细信息 虚拟机名称 输入 lb-vm1。 区域 选择“((美国)美国东部)”。 可用性选项 选择“可用性区域”。 可用性区域 选择“区域 1”。 安全类型 选择“标准”。 映像 选择“Ubuntu Server 20.04 LTS - Gen2”。 Azure Spot 实例 保留默认值“未选中”。 大小 选择 VM 大小。 管理员帐户 身份验证类型 选择“SSH 公钥”。 用户名 输入“azureuser”。 SSH 公钥源 选择“生成新密钥对”。 密钥对名称 输入 lb-key-pair。 入站端口规则 公共入站端口 选择“无”。 选择“网络”选项卡,或选择“下一步: 磁盘”,然后选择“下一步: 网络”。
在“网络”中,输入或选择以下信息。
设置 值 网络接口 虚拟网络 选择“新建”。
在“名称”中输入 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。
选择“添加”。
选择“确定”。选择“查看 + 创建”选项卡,或选择页面底部的“查看 + 创建”按钮 。
选择“创建”。
在“生成新密钥对”提示下,选择“下载私钥并创建资源” 。 下载的密钥文件名为 lb-key-pair.pem。 确保你知道 .pem 文件的下载位置,在后面的步骤中你将用到密钥文件的路径。
按照步骤 1 到 7 操作,使用以下值创建另一个 VM,所有其他设置均与 lb-vm1 相同:
设置 值 基础知识 实例详细信息 虚拟机名称 输入 lb-vm2 可用性区域 选择“区域 2” 管理员帐户 身份验证类型 选择“SSH 公钥” SSH 公钥源 选择“使用 Azure 中存储的现有密钥”。 已存储密钥 选择“lb-key-pair”。 入站端口规则 公共入站端口 选择“无”。 联网 网络接口 公共 IP 选择无。 NIC 网络安全组 选择“高级”。 配置网络安全组 选择现有的 lb-NSG
创建负载均衡器
在本部分中,你将创建负载均衡器。 创建过程中将配置前端 IP、后端池、负载均衡和入站 NAT 规则。
在门户顶部的搜索框中,输入“负载均衡器”。 在搜索结果中选择“负载均衡器”。
在“负载均衡器”页上,选择“创建” 。
在“创建负载均衡器”页的“基本信息”选项卡中,输入或选择以下信息:
设置 值 项目详细信息 订阅 选择订阅。 资源组 选择“load-balancer-rg”。 实例详细信息 名称 输入“load-balancer” 区域 选择“美国东部”。 SKU 保留默认值“标准”。 类型 选择“公共”。 层 保留默认值“区域”。 在页面底部选择“下一步: 前端 IP 配置”。
在“前端 IP 配置”中,选择“+ 添加前端 IP 配置”。
在“名称”中输入“lb-frontend”。
对于“IP 版本”,选择“IPv4”或“IPv6” 。
注意
IPv6 目前不支持路由首选项或跨区域负载平衡(全局层)。
对于“IP 类型”,选择“IP 地址” 。
注意
有关 IP 前缀的详细信息,请参阅 Azure 公共 IP 地址前缀。
在“公共 IP 地址”中选择“新建” 。
在“添加公共 IP 地址”的“名称”中,输入 lb-frontend-ip。
在“可用性区域”中选择“区域冗余” 。
保留“路由首选项”的默认值“Microsoft 网络” 。
选择“确定” 。
选择 添加 。
在页面底部选择“下一步: 后端池”。
在“后端池”选项卡上,选择“+ 添加后端池” 。
在“添加后端池”中,输入或选择以下信息。
设置 值 名称 输入 lb-backend-pool。 虚拟网络 选择“lb-vnet (load-balancer-rg)”。 后端池配置 选择“NIC”。 在“虚拟机”中,选择“+ 添加”。
在“向后端池添加虚拟机”中,选中 lb-vm1 和 lb-vm2 旁边的复选框。
依次选择“添加”、“保存”。
选择页面底部的“下一步: 入站规则”按钮。
在“入站规则”选项卡的“负载均衡规则”中,选择“+ 添加负载均衡规则” 。
在“添加负载均衡规则”中,输入或选择以下信息。
设置 值 名称 输入“lb-HTTP-rule” IP 版本 根据你的要求选择“IPv4”或“IPv6” 。 前端 IP 地址 选择“lb-frontend(待创建)”。 后端池 选择“lb-backend-pool”。 协议 选择“TCP”。 端口 输入 80。 后端端口 输入 80。 运行状况探测 选择“新建”。
在“名称”中,输入“lb-health-probe”。
在“协议”中选择“TCP”。
将剩余的字段保留为默认值,然后选择“保存”。会话暂留 选择“无”。 空闲超时(分钟) 输入或选择“15”。 启用 TCP 重置 选中要启用的复选框。 启用浮动 IP 保留默认值“未选中”。 出站源网络地址转换 (SNAT) 保留默认值“(建议)使用出站规则为后端池成员提供对 Internet 的访问权限。” 有关负载均衡规则的详细信息,请参阅负载均衡规则。
选择“保存”。
在“入站规则”选项卡的“入站 NAT 规则”中,选择“+ 添加入站 NAT 规则”。
在“添加入站 NAT 规则”中,输入或选择以下信息。
设置 值 名称 输入 lb-NAT-rule-VM1-221。 目标虚拟机 选择“lb-vm1”。 网络 IP 配置 选择“ipconfig1 (10.0.0.4)”。 前端 IP 地址 选择“lb-frontend(待创建)”。 前端端口 输入 221。 服务标记 选择“自定义”。 后端端口 输入 22。 协议 保留默认值 TCP。 启用 TCP 重置 保留默认值“未选中”。 空闲超时(分钟) 保留默认值“4”。 启用浮动 IP 保留默认值“未选中”。 选择 添加 。
选择“+ 添加入站 NAT 规则”。
在“添加入站 NAT 规则”中,输入或选择以下信息。
设置 值 名称 输入 lb-NAT-rule-VM2-222。 目标虚拟机 选择“lb-vm2”。 网络 IP 配置 选择“ipconfig1 (10.0.0.5)”。 前端 IP 地址 选择“lb-frontend”。 前端端口 输入 222。 服务标记 选择“自定义”。 后端端口 输入 22。 协议 保留默认值 TCP。 启用 TCP 重置 保留默认值“未选中”。 空闲超时(分钟) 保留默认值“4”。 启用浮动 IP 保留默认值“未选中”。 选择 添加 。
选择页面底部的“查看 + 创建”蓝色按钮。
选择“创建”。
创建 NAT 网关
在本部分中,你将为虚拟网络中的资源创建用于出站 Internet 访问的 NAT 网关。
有关出站连接和 Azure 虚拟网络 NAT 的详细信息,请参阅对出站连接使用源网络地址转换 (SNAT) 和什么是虚拟网络 NAT?。
在门户顶部的搜索框中,输入“NAT 网关”。 在搜索结果中选择“NAT 网关”。
在“NAT 网关”中,选择“+ 创建” 。
在“创建网络地址转换(NAT)网关”中,输入或选择以下信息:
设置 值 项目详细信息 订阅 选择订阅。 资源组 选择“load-balancer-rg”。 实例详细信息 NAT 网关名称 输入“lb-nat-gateway”。 区域 选择“美国东部”。 可用性区域 选择“无”。 空闲超时(分钟) 输入 15。 选择“出站 IP”选项卡,或者选择“下一步: 出站 IP”按钮(位于页面底部) 。
在“出站 IP”选项卡中,选择“公共 IP 地址”旁边的“创建新的公共 IP 地址” 。
在“添加公共 IP 地址”的“名称”中,输入 nat-gw-public-ip。
选择“确定”。
选择“子网”选项卡,或者选择“下一步: 子网”按钮(位于页面底部) 。
在“子网”选项卡中的“虚拟网络”中,选择“lb-vnet”。
在“子网名称”下选择“backend-subnet”。
选择页面底部的“查看 + 创建”按钮,或选择“查看 + 创建”选项卡 。
选择“创建”。
安装 Web 服务器
在本部分中,你将根据入站 NAT 规则通过 SSH 连接到虚拟机,并安装 Web 服务器。
在门户顶部的搜索框中,输入“负载均衡器”。 在搜索结果中选择“负载均衡器”。
选择“load-balancer”。
在“设置”中,选择“前端 IP 配置”。
在“前端 IP 配置”中,记下 lb-frontend 的“IP 地址”。 在本示例中,它为 20.99.165.176。
如果使用的是 Mac 或 Linux 计算机,请打开 Bash 提示符。 如果使用的是 Windows 计算机,请打开 PowerShell 提示符。
在提示符下,通过 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 中的密钥” 。 你的计算机上已有私钥,因此无需下载任何内容。
在 SSH 会话中更新包源,然后安装最新的 NGINX 包。
sudo apt-get -y update sudo apt-get -y install nginx
输入
Exit
退出 SSH 会话在提示符下,通过 SSH 连接到 lb-vm2。 将 IP 地址替换为前面步骤中检索到的地址以及用于 lb-vm2 入站 NAT 规则的端口 222。 将 .pem 的路径替换为密钥文件下载位置的路径。
ssh -i .\Downloads\lb-key-pair.pem azureuser@20.99.165.176 -p 222
在 SSH 会话中更新包源,然后安装最新的 NGINX 包。
sudo apt-get -y update sudo apt-get -y install nginx
输入
Exit
退出 SSH 会话。
测试 Web 服务器
在本部分中,将使用负载均衡器的公共 IP 地址来测试 Web 服务器。
打开 Web 浏览器。
在地址栏中,输入负载均衡器的 IP 地址。 在本示例中,它为 20.99.165.176。
系统将显示默认的 NGINX 网站。
清理资源
如果你不打算继续使用此应用程序,请按以下步骤删除虚拟机和负载均衡器:
在门户顶部的搜索框中输入“资源组”。 在搜索结果中选择“资源组”。
在“资源组”中选择“load-balancer-rg”。
选择“删除资源组”。
在“键入资源组名称:”中输入 load-balancer-rg。 选择“删除”。
后续步骤
请继续学习下一篇文章,了解如何创建跨区域负载均衡器: