Snabbstart: Skapa en offentlig lastbalanserare för att belastningsutjämning av virtuella datorer med hjälp av Azure CLI
Kom igång med Azure Load Balancer med hjälp av Azure CLI för att skapa en offentlig lastbalanserare och två virtuella datorer. Tillsammans med dessa resurser distribuerar du Azure Bastion, NAT Gateway, ett virtuellt nätverk och de nödvändiga undernäten.
Om du inte har en Azure-prenumeration skapar du ett kostnadsfritt Azure-konto innan du börjar.
Förutsättningar
Använd Bash-miljön i Azure Cloud Shell. Mer information finns i Snabbstart för Bash i Azure Cloud Shell.
Om du föredrar att köra CLI-referenskommandon lokalt installerar du Azure CLI. Om du kör i Windows eller macOS kan du köra Azure CLI i en Docker-container. Mer information finns i Så här kör du Azure CLI i en Docker-container.
Om du använder en lokal installation loggar du in på Azure CLI med hjälp av kommandot az login. Slutför autentiseringsprocessen genom att följa stegen som visas i terminalen. Andra inloggningsalternativ finns i Logga in med Azure CLI.
När du uppmanas att installera Azure CLI-tillägget vid första användningen. Mer information om tillägg finns i Använda tillägg med Azure CLI.
Kör az version om du vill hitta versionen och de beroende bibliotek som är installerade. Om du vill uppgradera till den senaste versionen kör du az upgrade.
- Den här snabbstarten kräver version 2.0.28 eller senare av Azure CLI. Om du använder Azure Cloud Shell är den senaste versionen redan installerad.
Skapa en resursgrupp
En Azure-resursgrupp är en logisk container där Azure-resurser distribueras och hanteras.
Skapa en resursgrupp med az group create:
az group create \
--name CreatePubLBQS-rg \
--location eastus
Skapa ett virtuellt nätverk
Innan du distribuerar virtuella datorer och testar lastbalanseraren skapar du det virtuella nätverket och undernätet som stöds.
Skapa ett virtuellt nätverk med az network vnet create. Det virtuella nätverket och undernätet innehåller de resurser som distribueras senare i den här artikeln.
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
Skapa en offentlig IP-adress
För att du ska kunna komma åt din webbapp på Internet behöver du en offentlig IP-adress för lastbalanseraren.
Använd az network public-ip create för att skapa den offentliga IP-adressen för lastbalanserarens klientdel.
az network public-ip create \
--resource-group CreatePubLBQS-rg \
--name myPublicIP \
--sku Standard \
--zone 1 2 3
Om du vill skapa en zonindelad offentlig IP-adress i zon 1 i stället använder du följande kommando:
az network public-ip create \
--resource-group CreatePubLBQS-rg \
--name myPublicIP \
--sku Standard \
--zone 1
Skapa en lastbalanserare
I det här avsnittet beskrivs hur du gör för att skapa och konfigurera följande komponenter i lastbalanseraren:
En IP-pool på klientdelen som tar emot inkommande nätverkstrafik i lastbalanseraren
En serverdels-IP-pool där klientdelspoolen skickar den belastningsutjämningsbaserade nätverkstrafiken
En hälsoavsökning som avgör hälsotillståndet för serverdels-VM-instanserna
En lastbalanseringsregel som definierar hur trafik distribueras till de virtuella datorerna
Skapa lastbalanserarens resurs
Skapa en offentlig lastbalanserare med 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
Om den offentliga IP-adressen som skapas är zonindelad måste den angivna zonen definieras när den offentliga lastbalanseraren skapas.
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
Skapa hälsoavsökningen
En hälsoavsökning kontrollerar alla virtuella datorinstanser för att säkerställa att de kan skicka nätverkstrafik.
En virtuell dator med en misslyckad avsökningskontroll tas bort från lastbalanseraren. Den virtuella datorn läggs tillbaka till lastbalanseraren när felet har lösts.
Skapa en hälsoavsökning med az network lb probe create:
az network lb probe create \
--resource-group CreatePubLBQS-rg \
--lb-name myLoadBalancer \
--name myHealthProbe \
--protocol tcp \
--port 80
Skapa lastbalanseringsregeln
En lastbalanseringsregel definierar:
Ip-konfiguration för klientdelen för inkommande trafik
Serverdels-IP-poolen för att ta emot trafiken
Nödvändig käll- och målport
Skapa en lastbalanseringsregel med 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
Skapa en nätverkssäkerhetsgrupp
För en standardlastbalanserare måste de virtuella datorerna i serverdelspoolen ha nätverksgränssnitt som tillhör en nätverkssäkerhetsgrupp.
Använd az network nsg create för att skapa nätverkssäkerhetsgruppen:
az network nsg create \
--resource-group CreatePubLBQS-rg \
--name myNSG
Skapa en regel för nätverkssäkerhetsgruppen
Skapa en regel för nätverkssäkerhetsgrupp med 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
Skapa en Bastion-värd
I det här avsnittet skapar du resurserna för Azure Bastion. Azure Bastion används för att hantera de virtuella datorerna på ett säkert sätt i serverdelspoolen i lastbalanseraren.
Viktigt!
Priserna per timme börjar från det ögonblick då Bastion distribueras, oavsett utgående dataanvändning. Mer information finns i Priser och SKU:er. Om du distribuerar Bastion som en del av en självstudie eller ett test rekommenderar vi att du tar bort den här resursen när du har använt den.
Skapa en offentlig IP-adress
Använd az network public-ip create för att skapa en offentlig IP-adress för bastionsvärden. Den offentliga IP-adressen används av skyddsvärden för säker åtkomst till de virtuella datorresurserna.
az network public-ip create \
--resource-group CreatePubLBQS-rg \
--name myBastionIP \
--sku Standard \
--zone 1 2 3
Skapa ett skyddsundernät
Använd az network vnet subnet create för att skapa ett skyddsundernät. Skyddsundernätet används av skyddsvärden för att få åtkomst till det virtuella nätverket.
az network vnet subnet create \
--resource-group CreatePubLBQS-rg \
--name AzureBastionSubnet \
--vnet-name myVNet \
--address-prefixes 10.1.1.0/27
Skapa skyddsvärd
Använd az network bastion create för att skapa en skyddsvärd. Bastion-värden används för att ansluta säkert till de virtuella datorresurser som skapas senare i den här artikeln.
az network bastion create \
--resource-group CreatePubLBQS-rg \
--name myBastionHost \
--public-ip-address myBastionIP \
--vnet-name myVNet \
--location eastus
Det kan ta några minuter innan Azure Bastion-värden distribueras.
Skapa serverdelsservrar
I det här avsnittet skapar du:
Två nätverksgränssnitt för de virtuella datorerna
Två virtuella datorer som ska användas som serverdelsservrar för lastbalanseraren
Skapa nätverksgränssnitt för de virtuella datorerna
Skapa två nätverksgränssnitt med 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
Skapa virtuella datorer
Skapa de virtuella datorerna med 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
Det kan ta några minuter för de virtuella datorerna att distribueras. Du kan fortsätta till nästa steg medan de virtuella datorerna skapas.
Kommentar
Azure tillhandahåller en standard-IP för utgående åtkomst för virtuella datorer som antingen inte har tilldelats någon offentlig IP-adress eller som finns i serverdelspoolen för en intern grundläggande Azure-lastbalanserare. Ip-mekanismen för utgående åtkomst har en utgående IP-adress som inte kan konfigureras.
Standard-IP för utgående åtkomst inaktiveras när någon av följande händelser inträffar:
- En offentlig IP-adress tilldelas till den virtuella datorn.
- Den virtuella datorn placeras i serverdelspoolen för en standardlastbalanserare, med eller utan regler för utgående trafik.
- En Azure NAT Gateway-resurs tilldelas till den virtuella datorns undernät.
Virtuella datorer som du skapar med hjälp av vm-skalningsuppsättningar i flexibelt orkestreringsläge har inte standardåtkomst till utgående trafik.
Mer information om utgående anslutningar i Azure finns i Standardutgående åtkomst i Azure och Använda SNAT (Source Network Address Translation) för utgående anslutningar.
Lägga till virtuella datorer i lastbalanserarens serverdelspool
Lägg till de virtuella datorerna i serverdelspoolen med 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
Skapa NAT-gateway
Skapa en NAT-gateway för att tillhandahålla utgående Internetåtkomst för resurser i serverdelspoolen.
Skapa offentlig IP-adress
Använd az network public-ip create för att skapa en enda IP-adress för den utgående anslutningen.
az network public-ip create \
--resource-group CreatePubLBQS-rg \
--name myNATgatewayIP \
--sku Standard \
--zone 1 2 3
Om du vill skapa en zonredundant offentlig IP-adress i zon 1 i stället använder du följande kommando:
az network public-ip create \
--resource-group CreatePubLBQS-rg \
--name myNATgatewayIP \
--sku Standard \
--zone 1
Skapa NAT-gatewayresurs
Använd az network nat gateway create för att skapa NAT-gatewayresursen. Den offentliga IP-adress som skapades i föregående steg är associerad med NAT-gatewayen.
az network nat gateway create \
--resource-group CreatePubLBQS-rg \
--name myNATgateway \
--public-ip-addresses myNATgatewayIP \
--idle-timeout 10
Associera NAT-gateway med undernät
Konfigurera källundernätet i det virtuella nätverket så att det använder en specifik NAT-gatewayresurs med az network vnet subnet update.
az network vnet subnet update \
--resource-group CreatePubLBQS-rg \
--vnet-name myVNet \
--name myBackendSubnet \
--nat-gateway myNATgateway
Installera IIS
Använd az vm extension set för att installera IIS på de virtuella datorerna och ange standardwebbplatsen till datornamnet.
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
Testa lastbalanseraren
Hämta lastbalanserarens offentliga IP-adress med az network public-ip show.
Kopiera den offentliga IP-adressen och klistra in den i webbläsarens adressfält.
az network public-ip show \
--resource-group CreatePubLBQS-rg \
--name myPublicIP \
--query ipAddress \
--output tsv
Rensa resurser
När det inte längre behövs använder du kommandot az group delete för att ta bort resursgruppen, lastbalanseraren och alla relaterade resurser.
az group delete \
--name CreatePubLBQS-rg
Nästa steg
I den här snabbstarten:
Du har skapat en offentlig standardlastbalanserare
Två virtuella datorer har anslutits
Konfigurerade trafikregeln för lastbalanseraren och hälsoavsökningen
Testade lastbalanseraren
Om du vill veta mer om Azure Load Balancer fortsätter du till: