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.

Diagram över resurser som distribuerats för en offentlig standardlastbalanserare.

Om du inte har en Azure-prenumeration skapar du ett kostnadsfritt Azure-konto innan du börjar.

Förutsättningar

  • 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

Testa lastbalanseraren

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: