教程:使用 Azure 门户对可用性区域中的 VM 进行负载均衡

本教程介绍如何创建一个带有区域 IP 的公共负载均衡器。 在本教程中,将为前端和后端实例指定区域。

在本教程中,你将了解如何执行以下操作:

  • 创建一个虚拟网络,其中包含用于管理的 Azure Bastion 主机。
  • 创建一个 NAT 网关,以用于虚拟网络中资源的出站 Internet 访问。
  • 创建带有运行状况探测和流量规则的负载均衡器。
  • 创建区域虚拟机 (VM) 并将其附加到负载均衡器。
  • 创建基本的 Internet Information Services (IIS) 站点。
  • 测试负载均衡器。

有关可用性区域和标准负载均衡器的详细信息,请参阅标准负载均衡器和可用性区域

先决条件

  • Azure 订阅

登录 Azure

登录 Azure 门户

创建虚拟网络和堡垒主机

在本部分中,你将创建一个包含资源子网、Azure Bastion 子网和 Azure Bastion 主机的虚拟网络。

重要

小时定价从部署 Bastion 的时刻开始计算,而无论出站数据使用情况如何。 有关详细信息,请参阅定价SKU。 如果要将 Bastion 部署为教程或测试的一部分,建议在使用完此资源后将其删除。

  1. 在门户中,搜索并选择“虚拟网络”。

  2. 在“虚拟网络”页面上,选择“+ 创建”。

  3. 创建虚拟网络基本信息选项卡上输入或选择以下信息:

    设置
    项目详细信息
    订阅 选择订阅。
    资源组 从下拉列表中选择“load-balancer-rg”,或者选择“新建”(如果前者不存在)
    在“名称”中,输入“load-balancer-rg”。
    选择“确定”
    实例详细信息
    名称 输入“lb-vnet”
    区域 选择“中国北部 3”

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

  4. 选择“安全性”选项卡或页面底部的“下一步”按钮。

  5. 在“Azure Bastion”下,输入或选择以下信息:

    设置 “值”
    Azure Bastion
    启用 Azure Bastion 选中复选框。
    Azure Bastion 主机名 输入“lb-bastion”
    Azure Bastion 公共 IP 地址 选择“新建”。
    在“名称”中输入“lb-bastion-ip”
    选择“确定”
  6. 选择“IP 地址”选项卡,或选择页面底部的“下一步”

  7. 在“创建虚拟网络”页面上,输入或选择以下信息:

    设置 “值”
    添加 IPv4 地址空间
    IPv4 地址空间 输入“10.0.0.0/16 (65,356 个地址)”
    子网 选择要编辑的默认子网链接。
    编辑子网
    子网用途 保留默认值“默认”。
    名称 输入“backend-subnet”
    开始地址 输入“10.0.0.0”
    子网大小 输入 /24(256 个地址)
    安全性
    NAT 网关 选择“lb-nat-gateway”

    默认子网重命名和配置的屏幕截图。

  8. 选择“保存”。

  9. 选择屏幕底部的“查看 + 创建”,然后在验证通过时选择“创建”。

创建 NAT 网关

在此部分中,你将为虚拟网络中的资源创建用于出站 Internet 访问的 NAT 网关。 有关出站规则的其他选项,请查看用于出站连接的网络地址转换 (SNAT)

  1. 登录 Azure 门户

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

  3. 选择“+ 新建”。

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

    设置
    项目详细信息
    订阅 选择订阅。
    资源组 选择“新建”。
    在“名称”中,输入“load-balancer-rg”。
    选择“确定”
    实例详细信息
    NAT 网关名称 输入“lb-nat-gateway”
    区域 选择“中国北部 3”。
    可用性区域 选择“无”。
    空闲超时(分钟) 输入 15

    屏幕截图为 Azure 门户中的“创建网络地址转换网关”窗口。

  5. 选择“出站 IP”选项卡,或者选择“下一步: 出站 IP”按钮(位于页面底部) 。

  6. 在“公共 IP 地址”下,选择“创建新的公共 IP 地址”。

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

  8. 选择“确定”

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

  10. 在“子网”页上,对于“虚拟网络”,从下拉列表中选择“lb-vnet”

  11. 对于“子网名称,”请选择“backend-subnet”

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

  13. 选择创建

创建负载均衡器

在本部分中,你将为虚拟机创建负载均衡器。

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

  2. 在“负载均衡器”页中,选择“创建”或“创建负载均衡器”按钮。

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

    设置
    项目详细信息
    订阅 选择订阅。
    资源组 选择“lb-resource-group”
    实例详细信息
    名称 输入“load-balancer”
    区域 选择“中国北部 3”。
    SKU 保留默认值“标准”。
    类型 选择“公共”。
    保留默认值“区域”。
  4. 选择“前端 IP 配置”选项卡,或选择页面底部的“下一步: 前端 IP 配置”按钮。

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

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

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

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

    注意

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

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

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

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

    注意

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

  12. 选择“确定” 。

  13. 选择 添加

  14. 选择页面底部的“下一步: 后端池>”按钮。

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

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

  17. 在“虚拟网络”中选择“lb-VNet”。

  18. 为“后端池配置”选择“IP 地址”,然后选择“保存”。

  19. 选择“入站规则”选项卡,或选择页面底部的“下一步: 入站规则”按钮。

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

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

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

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

  24. 选择“创建”。

    注意

    本示例创建了一个 NAT 网关来提供出站 Internet 访问。 我们绕过了配置中的出站规则选项卡,因为它是可选选项,且 NAT 网关不需要它。 有关 Azure NAT 网关的详细信息,请参阅什么是 Azure 虚拟网络 NAT?有关 Azure 中出站连接的详细信息,请参阅出站连接的源网络地址转换 (SNAT)

创建虚拟机

在本部分中,你将在单个区域(区域 1)中创建两个 VM(lb-vm1 和 lb-VM2)

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

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

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

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

    设置
    项目详细信息
    订阅 选择 Azure 订阅
    资源组 选择“load-balancer-rg”
    实例详细信息
    虚拟机名称 输入“lb-VM1”
    区域 选择“((亚太)中国北部 3)”
    可用性选项 选择“可用性区域”
    可用性区域 选择“区域 1”
    安全类型 选择“标准”。
    Image 选择“Windows Server 2022 数据中心:Azure 版本 - Gen2”
    大小 选择 VM 大小或采用默认设置
    管理员帐户
    用户名 输入用户名
    密码 输入密码
    确认密码 重新输入密码
    入站端口规则
    公共入站端口 选择“无”
  4. 选择“网络”选项卡,或选择“下一步: 磁盘”,然后选择“下一步: 网络”。

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

    设置
    网络接口
    虚拟网络 选择“lb-vnet”
    子网 选择“backend-subnet”
    公共 IP 选择
    NIC 网络安全组 选择“高级”
    配置网络安全组 跳过此设置,直到完成其余设置为止。 在“选择后端池”后完成。
    删除 VM 时删除 NIC 保留默认值“未选中”。
    加速网络 保留默认值“已选择”。
    负载均衡
    负载均衡选项
    负载均衡选项 选择“Azure 负载均衡器”
    选择负载均衡器 选择“load-balancer”
    选择后端池 选择“lb-backend-pool”
    配置网络安全组 选择“新建”。
    在“创建网络安全组”的“名称”中,输入“lb-NSG”
    在“入站规则”下,选择“+ 添加入站规则” 。
    在“服务”中,选择“HTTP” 。
    在“优先级”下,输入“100” 。
    在“名称”中,输入“lb-NSG-Rule”
    选择“添加”
    选择“确定”
  6. 选择“查看 + 创建” 。

  7. 检查设置,然后选择“创建”。

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

    设置 VM 2
    名称 lb-VM2
    可用性区域 区域 1
    网络安全组 选择现有的“lb-NSG”

注意

Azure 会为未分配公共 IP 地址的 VM 或位于内部基本 Azure 负载均衡器的后端池中的 VM 提供默认出站访问 IP。 默认出站访问 IP 机制会提供不可配置的出站 IP 地址。

发生以下事件之一时,将禁用默认出站访问 IP:

  • 将公共 IP 地址分配给 VM。
  • 虚拟机被放置在标准负载平衡器的后端池中,有无出站规则均可。
  • 向虚拟机的子网分配了 Azure 虚拟网络 NAT 网关 资源。

在灵活业务流程模式下通过使用虚拟机规模集创建的 VM 没有默认的出站访问权限。

有关 Azure 中的出站连接的详细信息,请参阅 Azure 中的默认出站访问权限使用用于出站连接的源网络地址转换 (SNAT)

安装 IIS

  1. 在左侧菜单中选择“所有服务”,选择“所有资源”,然后从资源列表中选择位于“load-balancer-rg”资源组中的“lb-VM1”

  2. 在“概述”页上,选择“连接”,然后选择“Bastion” 。

  3. 选择“使用 Bastion”。

  4. 输入在 VM 创建过程中输入的用户名和密码。

  5. 选择“连接”。

  6. 在服务器桌面上,导航到“Windows 管理工具”“Windows PowerShell”。

  7. 在 PowerShell 窗口中,运行以下命令以:

    • 安装 IIS 服务器
    • 删除默认的 iisstart.htm 文件
    • 添加显示 VM 名称的新 iisstart.htm 文件:
     # Install IIS server role
     Install-WindowsFeature -name Web-Server -IncludeManagementTools
    
     # Remove default htm file
     Remove-Item  C:\inetpub\wwwroot\iisstart.htm
    
     # Add a new htm file that displays server name
     Add-Content -Path "C:\inetpub\wwwroot\iisstart.htm" -Value $("Hello World from " + $env:computername)
    
  8. 关闭与 lb-VM1 之间的 Bastion 会话

  9. 重复步骤,在 lb-VM2 上安装 IIS 和更新后的 iisstart.htm 文件

测试负载均衡器

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

  2. 单击创建的负载均衡器 load-balancer。 在负载均衡器的“前端 IP 配置”页上,找到公共 IP 地址。

  3. 复制该公共 IP 地址,并将其粘贴到浏览器的地址栏。 IIS Web 服务器的自定义 VM 页会显示在浏览器中。

    负载均衡器测试的屏幕截图。

清理资源

若不再需要资源组、负载均衡器以及所有相关资源,请将其删除。 为此,请选择包含资源的“load-balancer-rg”资源组,然后选择“删除”

后续步骤

进入下一篇文章,了解如何跨可用性区域对 VM 进行负载均衡: