教程:在后端池中创建具有多个可用性集的负载均衡器

在部署高可用性过程中,通常将虚拟机分为多个可用性集。

负载均衡器支持在后端池中部署多个包含虚拟机的可用性集。

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

  • 创建用于出站连接的 NAT 网关
  • 创建虚拟网络和网络安全组
  • 创建标准 SKU Azure 负载均衡器
  • 创建四个虚拟机和两个可用性集
  • 将可用性集中的虚拟机添加到负载均衡器的后端池
  • 测试负载均衡器

先决条件

创建 NAT 网关

所有出站 Internet 流量都穿越 NAT 网关传送到 Internet。 使用以下示例为中心辐射型网络创建 NAT 网关。

  1. 登录 Azure 门户

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

  3. 选择“+ 新建”。

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

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

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

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

  8. 选择“确定”

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

  10. 选择创建

创建虚拟网络

下面的过程创建虚拟网络及资源子网。

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

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

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

    设置
    项目详细信息
    订阅 选择订阅。
    资源组 选择“新建”。
    在“名称”中输入“load-balancer-rg”
    选择“确定”。
    实例详细信息
    名称 输入“lb-vnet”
    区域 选择“中国北部 3”。

    Screenshot of Basics tab of Create virtual network in the Azure portal.

  4. 选择“IP 地址”选项卡,或选择页面底部的“下一页: 安全性”和“下一页: IP 地址”按钮。

  5. 在“子网”的地址空间框中,选择“默认”子网。

  6. 在“编辑子网”中,输入或选择以下信息:

    设置
    子网详细信息
    子网模板 保留默认值“默认”。
    名称 输入“backend-subnet”
    开始地址 保留默认值“10.0.0.0”。
    子网大小 保留默认值“/24 (256 个地址)”。
    安全性
    NAT 网关 选择“lb-nat-gateway”

    Screenshot of default subnet rename and configuration.

  7. 选择“保存”。

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

创建网络安全组

在本部分中,你将为负载均衡器后端池中的虚拟机创建网络安全组 (NSG)。 NSG 将允许端口 80 上的入站流量。

  1. 在门户顶部的搜索框中,输入“网络安全组”。

  2. 在搜索结果中选择“网络安全组”。

  3. 选择“+ 创建”或“创建网络安全组”按钮。

  4. 在“基本信息”选项卡上,输入或选择以下信息:

    设置
    项目详细信息
    订阅 选择订阅。
    资源组 选择“lb-resource-group”
    实例详细信息
    名称 输入 lb-NSG
    区域 选择“中国北部 3”。
  5. 选择“查看 + 创建”选项卡,或选择页面底部的蓝色“查看 + 创建”按钮。

  6. 选择“创建”。

  7. 部署完成后,选择“转到资源”。

  8. 在“lb-NSG”页的“设置”部分中,选择“入站安全规则”。

  9. 选择“+ 添加”。

  10. 在“添加入站安全规则”窗口中,输入或选择以下信息:

    设置
    选择“任何”
    源端口范围 输入 *
    目标 选择“任何”
    服务 选择“HTTP”。
    操作 选择“允许”
    优先级 输入 100
    名称 输入 lb-NSG-HTTP-rule
  11. 选择添加

创建负载均衡器

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

  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)

创建虚拟机

在本部分中,你将创建两个可用性组,每个组有两个虚拟机。 在创建过程中,这些计算机将添加到负载均衡器的后端池中。

创建第一组 VM

  1. 在门户的左上角选择“+ 创建资源”。

  2. 在“新建”中,选择“计算”>“虚拟机” 。

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

    设置
    项目详细信息
    订阅 选择订阅
    资源组 选择“lb-resource-group”
    实例详细信息
    虚拟机名称 输入 lb-VM1
    区域 选择“中国北部 3”。
    可用性选项 选择“可用性集”。
    可用性集 选择“新建”。
    在“名称”中输入“lb-availability-set1”
    选择“确定”
    映像 选择“Windows Server 2019 Datacenter - Gen1”。
    大小 选择虚拟机的大小。
    管理员帐户
    用户名 输入用户名。
    Password 输入密码。
  4. 选择“网络”选项卡,或者选择“下一页:网络”按钮(位于页面底部) 。

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

    设置
    网络接口
    虚拟网络 选择“lb-VNet“。
    子网 选择“backend-subnet”。
    公共 IP 选择“无”。
    NIC 网络安全组 选择“高级”。
    配置网络安全组 跳过此设置,直到完成其余设置为止。 在“选择后端池”后完成。
    负载均衡
    负载均衡选项 选择“Azure 负载均衡器”。
    选择负载均衡器 选择“load-balancer”。
    选择后端池 选择“lb-backend-pool”。
    配置网络安全组 选择“新建”。
    在“创建网络安全组”的“名称”中,输入“lb-NSG”
    在“入站规则”下,选择“+ 添加入站规则” 。
    在“服务”下,选择“HTTP” 。
    在“优先级”下,输入“100” 。
    在“名称”中输入“lb-NSG-rule”
    选择“添加”
    选择“确定”
  6. 选择“查看 + 创建”选项卡,或选择页面底部的“查看 + 创建”按钮 。

  7. 选择“创建”。

  8. 重复步骤 1 到步骤 7,创建第二组虚拟机。 将 VM 的设置替换为以下信息:

    设置
    名称 输入 lb-VM2
    可用性集 选择“lb-availability-set1”。
    虚拟网络 选择“lb-VNet“。
    子网 选择“backend-subnet”。
    公共 IP 选择“无”。
    NIC 网络安全组 选择“高级”。
    配置网络安全组 跳过此设置,直到完成其余设置为止。 在“选择后端池”后完成。
    负载均衡选项 选择“Azure 负载均衡器”。
    选择负载均衡器 选择“load-balancer”。
    选择后端池 选择“lb-backend-pool”。
    配置网络安全组 选择“lb-NSG”。

创建第二组 VM

  1. 在门户的左上角选择“+ 创建资源”。

  2. 在“新建”中,选择“计算”>“虚拟机” 。

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

    设置
    项目详细信息
    订阅 选择订阅
    资源组 选择“lb-resource-group”
    实例详细信息
    虚拟机名称 输入 lb-VM3
    区域 选择“中国北部 2”。
    可用性选项 选择“可用性集”。
    可用性集 选择“新建”。
    在“名称”中输入“lb-availability-set2”。
    选择“确定”
    映像 选择“Windows Server 2019 Datacenter - Gen1”。
    大小 选择虚拟机的大小。
    管理员帐户
    用户名 输入用户名。
    Password 输入密码。
  4. 选择“网络”选项卡,或者选择“下一页:网络”按钮(位于页面底部) 。

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

    设置
    网络接口
    虚拟网络 选择“lb-VNet“。
    子网 选择“backend-subnet”。
    公共 IP 选择“无”。
    NIC 网络安全组 选择“高级”。
    配置网络安全组 跳过此设置,直到完成其余设置为止。 在“选择后端池”后完成。
    负载均衡
    负载均衡选项 选择“Azure 负载均衡器”。
    选择负载均衡器 选择“load-balancer”。
    选择后端池 选择“lb-backend-pool”。
    配置网络安全组 选择“lb-NSG”。
  6. 选择“查看 + 创建”选项卡,或选择页面底部的“查看 + 创建”按钮 。

  7. 选择“创建”。

  8. 重复步骤 1 到步骤 7,创建第二组虚拟机。 将 VM 的设置替换为以下信息:

    设置
    名称 输入 lb-VM4
    可用性集 选择“lb-availability-set2”。
    虚拟网络 选择“lb-VM3”。
    NIC 网络安全组 选择“高级”。
    配置网络安全组 跳过此设置,直到完成其余设置为止。 在“选择后端池”后完成。
    负载均衡选项 选择“Azure 负载均衡器”。
    选择负载均衡器 选择“load-balancer”。
    选择后端池 选择“lb-backend-pool”。
    配置网络安全组 选择“lb-NSG”。

安装 IIS

在本部分中,你将使用之前创建的 Azure Bastion 主机连接到虚拟机并安装 IIS。

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

  2. 在搜索结果中,选择“虚拟机”。

  3. 选择“lb-VM1”。

  4. 在左侧菜单中的“有效负载”下,选择“运行命令”>“PowerShellScript”。

  5. 在 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)
    
  6. 选择“运行”并等待命令完成。

    Screenshot of Run Command Script window with PowerShell code and output.

  7. lb-VM2lb-VM3lb-VM4 重复步骤 1 到 8。

测试负载均衡器

在本部分中,你将发现负载均衡器的公共 IP 地址。 使用 IP 地址测试负载均衡器的操作。

  1. 在门户顶部的搜索框中,输入“公共 IP”。

  2. 在搜索结果中,选择“公共 IP 地址”。

  3. 选择“lb-Public-IP”。

  4. 查看 lb-Public-IP 的“概述”页“IP 地址”中列出的公共 IP 地址:

    Find the public IP address of the load balancer.

  5. 打开 web 浏览器,在地址栏中输入公共 IP 地址:

    Test load balancer with web browser.

  6. 在浏览器中选择“刷新”,查看流量是否均衡分布到后端池中的其他虚拟机。

清理资源

如果不打算继续使用此应用程序,请按以下步骤删除负载均衡器和支持资源:

  1. 在门户顶部的搜索框中输入“资源组”。
  2. 在搜索结果中选择“资源组”。
  3. 选择“lb-resource-group”。
  4. lb-resource-group 的概述页中,选择“删除资源组”。
  5. 选择“对所选的虚拟机和虚拟机规模集应用强制删除”。
  6. 在“输入资源组名称以确认删除”中输入 lb-resource-group
  7. 选择“删除”。

后续步骤

本教程介绍以下操作:

  • 创建虚拟网络和网络安全组。
  • 创建了 Azure 标准负载均衡器。
  • 创建了两个可用性集,每组包含两个虚拟机。
  • 安装了 IIS 并测试了负载均衡器。