Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
使用 Azure CLI 创建公共负载均衡器和两个虚拟机,以入门 Azure Load Balancer。 除了这些资源,还可以部署Azure Bastion、NAT 网关、virtual network和所需的子网。
如果没有 Azure 试用版订阅,请在开始之前创建 Azure 试用订阅。
先决条件
如果希望在本地运行 CLI 引用命令,install Azure CLI。 如果在 Windows 或 macOS 上运行,请考虑在 Docker 容器中运行Azure CLI。 有关详细信息,请参阅 如何在 Docker 容器中运行Azure CLI。
如果使用本地安装,请使用 az login 命令登录到Azure CLI。 若要完成身份验证过程,请遵循终端中显示的步骤。 有关其他登录选项,请参阅Azure CLI登录。
出现提示时,请在首次使用时安装 Azure CLI 扩展。 有关扩展的详细信息,请参阅 使用 Azure CLI 的扩展。
运行 az 版本查找已安装的版本和依赖库。 若要升级到最新版本,请运行 az upgrade。
- 本快速入门需要 2.0.28 或更高版本的Azure CLI。 如果使用 Azure local Shell,则已安装最新版本。
创建资源组
Azure资源组是在其中部署和管理Azure资源的逻辑容器。
az group create \
--name CreatePubLBQS-rg \
--location chinaeast
创建虚拟网络
在部署虚拟机并测试负载均衡器之前,请先创建所需的虚拟网络和子网。
使用 az network vnet create 创建virtual network。 该虚拟网络和子网包含将在本文稍后部署的资源。
az network vnet create \
--resource-group CreatePubLBQS-rg \
--location chinaeast \
--name myVNet \
--address-prefixes 10.1.0.0/16 \
--subnet-name myBackendSubnet \
--subnet-prefixes 10.1.0.0/24
创建公共 IP 地址
若要在互联网访问您的 Web 应用,您需要为负载均衡器分配一个公网 IP 地址。
使用 az network public-ip create 为 load balancer 前端创建公共 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
创建负载均衡器
本部分详细介绍了如何创建和配置load balancer的以下组件:
接收负载均衡器上传入网络流量的前端 IP 池
前端池将经过负载均衡的网络流量发送到一个后端 IP 池。
运行状况探测,用于确定后端 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 是区域性的,则需要在创建公共load balancer时定义指定的区域。
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 的时刻开始计算,而无论出站数据使用情况如何。 有关详细信息,请参阅 Pricing 和 SKUs。 如果要将 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 chinaeast
部署Azure Bastion主机可能需要几分钟时间。
创建后端服务器
在本节中,创建以下项:
虚拟机的两个网络接口
两个虚拟机将被用作负载均衡器的后端服务器
为virtual machines创建网络接口
使用 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 可能需要花费几分钟时间。 在虚拟机创建过程中,您可以继续执行后续步骤。
注意事项
Azure为未分配公共 IP 地址的虚拟机,或者位于内部基本 Azure 负载均衡器后端池中的虚拟机,提供默认的出站访问 IP。 默认出站访问 IP 机制提供一个无法配置的出站 IP 地址。
发生以下事件之一时,将禁用默认出站访问 IP:
- 将公共 IP 地址分配给 VM。
- 虚拟机被放置在标准负载均衡器的后端池中,可能包含或不包含出站规则。
- Azure NAT 网关资源分配给 VM 的子网。
在灵活协调模式下使用虚拟机规模集创建的 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 网关
若要为后端池中的资源提供出站互联网访问,请创建 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 网关与子网相关联
将virtual network中的源子网配置为使用具有 az 网络 vnet 子网更新的特定 NAT 网关资源。
az network vnet subnet update \
--resource-group CreatePubLBQS-rg \
--vnet-name myVNet \
--name myBackendSubnet \
--nat-gateway myNATgateway
安装 IIS
使用 az vm 扩展集在virtual machines上安装 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
测试负载均衡器
若要获取load balancer的公共 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 Load Balancer,请继续: