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

快速入门:使用 Azure CLI 创建内部基本负载均衡器以用于对 VM 进行负载均衡

使用 Azure CLI 创建内部负载均衡器和两个虚拟机,通过这种方式开始使用 Azure 负载均衡器。

如果没有 Azure 订阅,请在开始之前创建一个 Azure 免费帐户

先决条件

本快速入门需要 Azure CLI 2.0.28 或更高版本。 如果你使用的是 Azure Cloud Shell,则表示已安装最新版本。

创建资源组

Azure 资源组是在其中部署和管理 Azure 资源的逻辑容器。

使用 az group create 创建资源组。

  az group create \
    --name CreateIntLBQS-rg \
    --location westus3

创建内部负载均衡器时,虚拟网络配置为负载均衡器的网络。

创建虚拟网络

需要先创建支持的虚拟网络和子网,然后才能部署 VM 和测试负载均衡器。 该虚拟网络和子网将包含本文后面部分部署的资源。

使用 az network vnet create 创建虚拟网络。

  az network vnet create \
    --resource-group CreateIntLBQS-rg \
    --location westus3 \
    --name myVNet \
    --address-prefixes 10.1.0.0/16 \
    --subnet-name myBackendSubnet \
    --subnet-prefixes 10.1.0.0/24

创建 Azure Bastion 主机

在本示例中,你将创建一个 Azure Bastion 主机。 本文稍后将使用 Azure Bastion 主机安全地管理虚拟机并测试负载均衡器部署。

重要

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

创建堡垒公共 IP 地址

使用 az network public-ip create 为 Azure Bastion 主机创建公共 IP 地址。

az network public-ip create \
    --resource-group CreateIntLBQS-rg  \
    --name myBastionIP \
    --sku Standard \
    --zone 1 2 3

创建堡垒子网

使用 az network vnet subnet create 创建子网。

az network vnet subnet create \
    --resource-group CreateIntLBQS-rg  \
    --name AzureBastionSubnet \
    --vnet-name myVNet \
    --address-prefixes 10.1.1.0/27

创建 Bastion 主机

使用 az network bastion create 创建主机。

az network bastion create \
    --resource-group CreateIntLBQS-rg  \
    --name myBastionHost \
    --public-ip-address myBastionIP \
    --vnet-name myVNet \
    --location westus3

部署 Azure Bastion 主机需要几分钟时间。

创建负载均衡器

本部分详细介绍如何创建和配置负载均衡器的以下组件:

  • 前端 IP 池,用于在负载均衡器上接收传入的网络流量

  • 后端 IP 池,前端池将向其发送经过负载均衡的网络流量

  • 运行状况探测,用于确定后端 VM 实例的运行状况

  • 负载均衡器规则,用于定义如何将流量分发到各个 VM

创建负载均衡器资源

使用 az network lb create 创建内部负载均衡器。

  az network lb create \
    --resource-group CreateIntLBQS-rg \
    --name myLoadBalancer \
    --sku Basic \
    --vnet-name myVNet \
    --subnet myBackendSubnet \
    --frontend-ip-name myFrontEnd \
    --backend-pool-name myBackEndPool

创建运行状况探测

运行状况探测会检查所有虚拟机实例,以确保它们可以发送网络流量。

从负载均衡器中删除未通过探测检查的虚拟机。 解决故障后,虚拟机将重新添加到负载均衡器中。

使用 az network lb probe create 创建运行状况探测器。

  az network lb probe create \
    --resource-group CreateIntLBQS-rg \
    --lb-name myLoadBalancer \
    --name myHealthProbe \
    --protocol tcp \
    --port 80

创建负载均衡器规则

负载均衡器规则定义:

  • 针对传入流量的前端 IP 配置

  • 用于接收流量的后端 IP 池

  • 所需的源和目标端口

使用 az network lb rule create 创建负载均衡器规则。

  az network lb rule create \
    --resource-group CreateIntLBQS-rg \
    --lb-name myLoadBalancer \
    --name myHTTPRule \
    --protocol tcp \
    --frontend-port 80 \
    --backend-port 80 \
    --frontend-ip-name myFrontEnd \
    --backend-pool-name myBackEndPool \
    --probe-name myHealthProbe \
    --idle-timeout 15

创建网络安全组

对于标准负载均衡器,后端池中的 VM 需要具有属于网络安全组的网络接口。

要创建网络安全组,请使用 az network nsg create

  az network nsg create \
    --resource-group CreateIntLBQS-rg \
    --name myNSG

创建网络安全组规则

要创建网络安全组规则,请使用 az network nsg rule create

  az network nsg rule create \
    --resource-group CreateIntLBQS-rg \
    --nsg-name myNSG \
    --name myNSGRuleHTTP \
    --protocol '*' \
    --direction inbound \
    --source-address-prefix '*' \
    --source-port-range '*' \
    --destination-address-prefix '*' \
    --destination-port-range 80 \
    --access allow \
    --priority 200

创建后端服务器

在本节中,创建以下项:

  • 虚拟机的两个网络接口

  • 两个要用作负载均衡器的服务器的虚拟机

为虚拟机创建网络接口

使用 az network nic create 创建两个网络接口。

  array=(myNicVM1 myNicVM2)
  for vmnic in "${array[@]}"
  do
    az network nic create \
        --resource-group CreateIntLBQS-rg \
        --name $vmnic \
        --vnet-name myVNet \
        --subnet myBackEndSubnet \
        --network-security-group myNSG
  done

创建虚拟机的可用性集

使用 az vm availability-set create 创建可用性集。

  az vm availability-set create \
    --name myAvailabilitySet \
    --resource-group CreateIntLBQS-rg \
    --location westus3  

创建虚拟机

使用 az vm create 创建虚拟机。

  array=(1 2)
  for n in "${array[@]}"
  do
    az vm create \
    --resource-group CreateIntLBQS-rg \
    --name myVM$n \
    --nics myNicVM$n \
    --image win2019datacenter \
    --admin-username azureuser \
    --availability-set myAvailabilitySet \
    --no-wait
  done

部署 VM 可能需要花费几分钟时间。

注意

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

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

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

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

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

向后端池添加虚拟机

使用 az network nic ip-config address-pool add 将虚拟机添加到后端池。

  array=(VM1 VM2)
  for vm in "${array[@]}"
  do
  az network nic ip-config address-pool add \
   --address-pool myBackendPool \
   --ip-config-name ipconfig1 \
   --nic-name myNic$vm \
   --resource-group CreateIntLBQS-rg \
   --lb-name myLoadBalancer
  done

创建测试虚拟机

使用 az network nic create 创建网络接口。

  az network nic create \
    --resource-group CreateIntLBQS-rg \
    --name myNicTestVM \
    --vnet-name myVNet \
    --subnet myBackEndSubnet \
    --network-security-group myNSG

使用 az vm create 创建虚拟机。

  az vm create \
    --resource-group CreateIntLBQS-rg \
    --name myTestVM \
    --nics myNicTestVM \
    --image Win2019Datacenter \
    --admin-username azureuser \
    --no-wait

可能需要等待几分钟时间来部署虚拟机。

安装 IIS

使用 az vm extension set 将 IIS 安装在后端虚拟机上,并将默认网站设置为计算机名。

  array=(myVM1 myVM2)
    for vm in "${array[@]}"
    do
     az vm extension set \
       --publisher Microsoft.Compute \
       --version 1.8 \
       --name CustomScriptExtension \
       --vm-name $vm \
       --resource-group CreateIntLBQS-rg \
       --settings '{"commandToExecute":"powershell Add-WindowsFeature Web-Server; powershell Add-Content -Path \"C:\\inetpub\\wwwroot\\Default.htm\" -Value $($env:computername)"}'
  done

测试负载均衡器

  1. 登录 Azure 门户。

  2. 在“概述”页上找到负载均衡器的专用 IP 地址。 在左侧菜单中,选择“所有服务”>“所有资源”>“myLoadBalancer”。

  3. myLoadBalancer 的概述中,复制“专用 IP 地址”旁边的地址。 如果未显示“专用 IP 地址”,请选择“查看更多”。

  4. 在左侧菜单中,选择“所有服务”>“所有资源”。 在 CreateIntLBQS-rg 资源组的资源列表中,选择“myTestVM”。

  5. 在“概述”页上,选择“连接”>“Bastion”。

  6. 输入创建 VM 时所输入的用户名和密码。

  7. myTestVM 上打开“Internet Explorer”。

  8. 将上一步骤的 IP 地址输入到浏览器的地址栏。 浏览器中会显示 IIS Web 服务器的默认页。

清理资源

如果你不再需要本教程中创建的资源,请使用 az group delete 命令删除资源组、负载均衡器和所有相关资源。

  az group delete \
    --name CreateIntLBQS-rg

后续步骤

在本快速入门:

  • 你创建了一个内部基本负载均衡器

  • 连接了两个虚拟机

  • 配置了负载均衡器流量规则和运行状况探测

  • 测试了负载均衡器

若要详细了解 Azure 负载均衡器,请继续学习: