使用 Azure CLI 创建公共负载均衡器和两个虚拟机,通过这种方式开始使用 Azure 负载均衡器。 除了这些资源,还可部署 Azure Bastion、NAT 网关、虚拟网络和所需的子网。
如果没有 Azure 帐户,请在开始前创建一个免费帐户。
先决条件
在 Azure Cloud Shell 中使用 Bash 环境。 有关详细信息,请参阅 Azure Cloud Shell 入门。
如需在本地运行 CLI 参考命令,请安装 Azure CLI。 如果在 Windows 或 macOS 上运行,请考虑在 Docker 容器中运行 Azure CLI。 有关详细信息,请参阅如何在 Docker 容器中运行 Azure CLI。
如果使用的是本地安装,请使用 az login 命令登录到 Azure CLI。 若要完成身份验证过程,请遵循终端中显示的步骤。 有关其他登录选项,请参阅 使用 Azure CLI 向 Azure 进行身份验证。
出现提示时,请在首次使用时安装 Azure CLI 扩展。 有关扩展的详细信息,请参阅 使用和管理 Azure CLI 中的扩展。
运行 az version 以查找安装的版本和依赖库。 若要升级到最新版本,请运行 az upgrade。
- 本快速入门需要 Azure CLI 2.0.28 或更高版本。 如果使用 Azure Cloud Shell,则最新版本已安装。
创建资源组
Azure 资源组是在其中部署和管理 Azure 资源的逻辑容器。
使用 az group create 创建资源组:
az group create \
--name CreatePubLBQS-rg \
--___location eastus
创建虚拟网络
需要先创建支持的虚拟网络和子网,然后才能部署 VM 和测试负载均衡器。
使用 az network vnet create 创建虚拟网络。 该虚拟网络和子网包含本文后面部署的资源。
az network vnet create \
--resource-group CreatePubLBQS-rg \
--___location eastus \
--name myVNet \
--address-prefixes 10.1.0.0/16 \
--subnet-name myBackendSubnet \
--subnet-prefixes 10.1.0.0/24
创建公共 IP 地址
若要通过 Internet 访问 Web 应用,需要负载均衡器有一个公共 IP 地址。
使用 az network public-ip create 为负载均衡器前端创建公共 IP。
az network public-ip create \
--resource-group CreatePubLBQS-rg \
--name myPublicIP \
--sku Standard \
--zone 1 2 3
若要改为在区域 1 中创建区域性公共 IP 地址,请使用以下命令:
az network public-ip create \
--resource-group CreatePubLBQS-rg \
--name myPublicIP \
--sku Standard \
--zone 1
创建负载均衡器
本部分详细介绍如何创建和配置负载均衡器的以下组件:
前端 IP 池,用于在负载均衡器上接收传入的网络流量
后端 IP 池,前端池将向其发送经过负载均衡的网络流量
运行状况探测,用于确定后端 VM 实例的运行状况
负载均衡器规则,用于定义如何将流量分发到各个 VM
创建负载均衡器资源
使用 az network lb create 创建公共负载均衡器:
az network lb create \
--resource-group CreatePubLBQS-rg \
--name myLoadBalancer \
--sku Standard \
--public-ip-address myPublicIP \
--frontend-ip-name myFrontEnd \
--backend-pool-name myBackEndPool
如果创建的公共 IP 是区域性的,则需要在创建公共负载均衡器时定义指定的区域。
az network lb create \
--resource-group CreatePubLBQS-rg \
--name myLoadBalancer \
--sku Standard \
--public-ip-address myPublicIP \
--frontend-ip-name myFrontEnd \
--public-ip-zone 1 \
--backend-pool-name myBackEndPool
创建运行状况探测
运行状况探测会检查所有虚拟机实例,以确保它们可以发送网络流量。
从负载均衡器中删除未通过探测检查的虚拟机。 解决故障后,虚拟机将重新添加到负载均衡器中。
使用 az network lb probe create 创建运行状况探测:
az network lb probe create \
--resource-group CreatePubLBQS-rg \
--lb-name myLoadBalancer \
--name myHealthProbe \
--protocol tcp \
--port 80
创建负载均衡器规则
负载均衡器规则定义:
针对传入流量的前端 IP 配置
用于接收流量的后端 IP 池
所需的源和目标端口
使用 az network lb rule create 创建负载均衡器规则:
az network lb rule create \
--resource-group CreatePubLBQS-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 \
--disable-outbound-snat true \
--idle-timeout 15 \
--enable-tcp-reset true
创建网络安全组
对于标准负载均衡器,后端池中的 VM 需要具有属于网络安全组的网络接口。
使用 az network nsg create 创建网络安全组:
az network nsg create \
--resource-group CreatePubLBQS-rg \
--name myNSG
创建网络安全组规则
使用 az network nsg rule create 创建网络安全组规则:
az network nsg rule create \
--resource-group CreatePubLBQS-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
创建 Bastion 主机
在本部分中,为 Azure Bastion 创建资源。 Azure Bastion 用于安全地管理负载均衡器后端池中的虚拟机。
重要
小时定价从部署 Bastion 的时刻开始计算,而无论出站数据使用情况如何。 有关详细信息,请参阅定价和 SKU。 如果要将 Bastion 部署为教程或测试的一部分,建议在使用完此资源后将其删除。
创建公共 IP 地址
使用 az network public-ip create 为堡垒主机创建公共 IP 地址。 堡垒主机使用公共 IP 来安全访问虚拟机资源。
az network public-ip create \
--resource-group CreatePubLBQS-rg \
--name myBastionIP \
--sku Standard \
--zone 1 2 3
创建堡垒子网
使用 az network vnet subnet create 创建堡垒子网。 堡垒主机使用堡垒子网来访问虚拟网络。
az network vnet subnet create \
--resource-group CreatePubLBQS-rg \
--name AzureBastionSubnet \
--vnet-name myVNet \
--address-prefixes 10.1.1.0/27
创建堡垒主机
使用 az network bastion create 创建堡垒主机。 堡垒主机用于安全地连接到本文后面部分创建的虚拟机资源。
az network bastion create \
--resource-group CreatePubLBQS-rg \
--name myBastionHost \
--public-ip-address myBastionIP \
--vnet-name myVNet \
--___location eastus
部署 Azure Bastion 主机需要几分钟时间。
创建后端服务器
在本节中,创建以下项:
虚拟机的三个网络接口
两个要用作负载均衡器后端服务器的虚拟机
为虚拟机创建网络接口
使用 az network nic create 创建两个网络接口:
array=(myNicVM1 myNicVM2)
for vmnic in "${array[@]}"
do
az network nic create \
--resource-group CreatePubLBQS-rg \
--name $vmnic \
--vnet-name myVNet \
--subnet myBackEndSubnet \
--network-security-group myNSG
done
创建虚拟机
使用 az vm create 创建虚拟机:
az vm create \
--resource-group CreatePubLBQS-rg \
--name myVM1 \
--nics myNicVM1 \
--image win2019datacenter \
--admin-username azureuser \
--zone 1 \
--no-wait
az vm create \
--resource-group CreatePubLBQS-rg \
--name myVM2 \
--nics myNicVM2 \
--image win2019datacenter \
--admin-username azureuser \
--zone 2 \
--no-wait
可能需要花费几分钟时间才能部署 VM。 可以在 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=(myNicVM1 myNicVM2)
for vmnic in "${array[@]}"
do
az network nic ip-config address-pool add \
--address-pool myBackendPool \
--ip-config-name ipconfig1 \
--nic-name $vmnic \
--resource-group CreatePubLBQS-rg \
--lb-name myLoadBalancer
done
创建 NAT 网关
若要为后端池中的资源提供出站 Internet 访问,请创建 NAT 网关。
创建公共 IP
使用 az network public-ip create 为出站连接创建单个 IP。
az network public-ip create \
--resource-group CreatePubLBQS-rg \
--name myNATgatewayIP \
--sku Standard \
--zone 1 2 3
若要改为在区域 1 中创建区域性冗余公共 IP 地址,请使用以下命令:
az network public-ip create \
--resource-group CreatePubLBQS-rg \
--name myNATgatewayIP \
--sku Standard \
--zone 1
创建 NAT 网关资源
使用 az network nat gateway create 创建 NAT 网关资源。 上一步创建的公共 IP 与 NAT 网关相关联。
az network nat gateway create \
--resource-group CreatePubLBQS-rg \
--name myNATgateway \
--public-ip-addresses myNATgatewayIP \
--idle-timeout 10
将 NAT 网关与子网相关联
在虚拟网络中配置资源子网,以通过 az network vnet subnet update 使用特定的 NAT 网关资源。
az network vnet subnet update \
--resource-group CreatePubLBQS-rg \
--vnet-name myVNet \
--name myBackendSubnet \
--nat-gateway myNATgateway
安装 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 CreatePubLBQS-rg \
--settings '{"commandToExecute":"powershell Add-WindowsFeature Web-Server; powershell Add-Content -Path \"C:\\inetpub\\wwwroot\\Default.htm\" -Value $($env:computername)"}'
done
测试负载均衡器
若要获取负载均衡器的公共 IP 地址,请使用 az network public-ip show。
复制该公共 IP 地址,并将其粘贴到浏览器的地址栏。
az network public-ip show \
--resource-group CreatePubLBQS-rg \
--name myPublicIP \
--query ipAddress \
--output tsv
清理资源
如果不再需要资源组、负载均衡器和所有相关的资源,使用 az group delete 命令将它们删除。
az group delete \
--name CreatePubLBQS-rg
后续步骤
在本快速入门:
你创建了一个标准公共负载均衡器
连接了两个虚拟机
配置了负载均衡器流量规则和运行状况探测
测试了负载均衡器
若要详细了解 Azure 负载均衡器,请继续学习: