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

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

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

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

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

先决条件

  • Azure 订阅

登录 Azure

登录 Azure 门户

创建虚拟网络和堡垒主机

在本部分中,将创建包含资源子网、Azure Bastion子网、Azure Bastion主机和 NAT 网关的虚拟网络,以便对虚拟网络中的资源进行出站 Internet 访问。 有关出站规则的其他选项,请参阅出站连接的网络地址转换(SNAT)。

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

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

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

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

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

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

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

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

    设置
    IPv4 地址空间 输入“10.0.0.0/16 (65,356 个地址)”
    子网 选择要编辑的默认子网链接。
    编辑子网
    子网用途 保留默认值“默认”。
    名称 输入 backend-subnet
    起始地址 输入“10.0.0.0”
    子网大小 输入 /24(256 个地址)
    安全性
    NAT 网关 选择“新建”。
    在名称中输入 lb-nat-gateway
    选择“ 创建公共 IP 地址”。
    输入 nat-gw-public-ip
    输入 “确定 ”和 “确定”。
  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. Subnet 页面上,在 Virtual network 中,从下拉列表中选择 lb-vnet

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

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

  13. 选择创建

创建负载均衡器

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

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

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

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

    设置
    项目详细信息
    订阅 选择订阅。
    资源组 选择“lb-resource-group”
    实例详细信息
    名称 输入 load-balancer
    区域 选择“中国北部 3”。
    SKU 保留默认值“标准”。
    类型 选择 Public。
    保留默认的Regional。
  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
    在Protocol中选择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”
    安全类型 选择“标准”。
    图像 选择“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. 选择 Use 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 进行负载均衡: