Quickstart: Een openbare load balancer maken om taken van VM's te verdelen met behulp van Azure CLI

Ga aan de slag met Azure Load Balancer via de Azure CLI om een openbare load balancer en drie virtuele machines te maken.

Als u geen Azure-abonnement hebt, maakt u een gratis account voordat u begint.

Vereisten

  • Gebruik de bash-omgeving in Azure Cloud shell.

    Cloud Shell starten in een nieuw venster

  • Installeer de Azure CLI, indien gewenst, om CLI-referentieopdrachten uit te voeren.

    • Als u een lokale installatie gebruikt, meldt u zich aan bij Azure CLI met behulp van de opdracht AZ login. Volg de stappen die worden weergegeven in de terminal, om het verificatieproces te voltooien. Raadpleeg Aanmelden bij de Azure CLI voor aanvullende aanmeldingsopties.

    • Installeer de Azure CLI-extensie bij het eerste gebruik, wanneer u hierom wordt gevraagd. Raadpleeg Extensies gebruiken met Azure CLI voor meer informatie over extensies.

    • Voer az version uit om de geïnstalleerde versie en afhankelijke bibliotheken te vinden. Voer az upgrade uit om te upgraden naar de nieuwste versie.

  • Voor deze quickstart is versie 2.0.28 of hoger van Azure CLI vereist. Als u Azure Cloud Shell gebruikt, is de nieuwste versie al geïnstalleerd.

Een resourcegroep maken

Een Azure-resourcegroep is een logische container waarin Azure-resources worden geïmplementeerd en beheerd.

Maak een resourcegroep maken met az group create:

  • met de naam CreatePubLBQS-rg.
  • Op de locatie eastus.
  az group create \
    --name CreatePubLBQS-rg \
    --location eastus

Notitie

Voor productieworkloads wordt de load balancer uit de Standard SKU aanbevolen. Zie Azure Load Balancer-SKU's voor meer informatie over SKU's.

Resources voor de Standard-load balancer die worden gemaakt voor de quickstart.

Virtuele netwerken configureren - Standard

Voordat u VM's implementeert en uw load balancer test, moet u de ondersteunende virtuele-netwerkresources maken.

Een virtueel netwerk maken

Maak een Virtual Network met az network vnet create.

  • Met de naam myVNet.
  • Adresvoorvoegsel van 10.1.0.0/16.
  • Subnet met de naam myBackendSubnet.
  • Subnetvoorvoegsel van 10.1.0.0/24.
  • In de CreatePubLBQS-rg-resourcegroep.
  • Locatie VS - Oost.
  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

Een openbaar IP-adres maken

Gebruik az network public-ip create om een openbaar IP-adres voor de Bastion-host te maken:

  • Maak een standaard zoneredundant openbaar IP-adres met de naam myBastionIP.
  • In CCreatePubLBQS-rg.
az network public-ip create \
    --resource-group CreatePubLBQS-rg \
    --name myBastionIP \
    --sku Standard

Een bastion-subnet maken

Gebruik az network vnet subnet create om een bastionsubnet te maken:

  • met de naam AzureBastionSubnet.
  • Adresvoorvoegsel van 10.1.1.0/24.
  • In virtueel netwerk myVnet.
  • In resourcegroep CreatePubLBQS-rg.
az network vnet subnet create \
    --resource-group CreatePubLBQS-rg \
    --name AzureBastionSubnet \
    --vnet-name myVNet \
    --address-prefixes 10.1.1.0/24

Bastion-host maken

Gebruik az network bastion create om een Bastion-host te maken:

  • met de naam myBastionHost.
  • In CreatePubLBQS-rg.
  • Gekoppeld aan het openbare IP-adres myBastionIP.
  • Gekoppeld aan het virtuele netwerk myVNet.
  • Op de locatie eastus.
az network bastion create \
    --resource-group CreatePubLBQS-rg \
    --name myBastionHost \
    --public-ip-address myBastionIP \
    --vnet-name myVNet \
    --location eastus

De Azure Bastion kan een paar minuten nodig hebben om te implementeren.

Een netwerkbeveiligingsgroep maken

Voor Standard Load Balancer moeten de VM's in het back-endadres netwerkinterfaces bevatten die tot een netwerkbeveiligingsgroep behoren.

Maak een netwerkbeveiligingsgroep met az network nsg create:

  • Met de naam myNSG.
  • In resourcegroep CreatePubLBQS-rg.
  az network nsg create \
    --resource-group CreatePubLBQS-rg \
    --name myNSG

Regel voor netwerkbeveiligingsgroep maken

Maak een netwerkbeveiligingsgroepregel met behulp van az network nsg rule create:

  • Met de naam myNSGRuleHTTP.
  • In de netwerkbeveiligingsgroep die u in de vorige stap hebt gemaakt, myNSG.
  • In resourcegroep CreatePubLBQS-rg.
  • Protocol (*) .
  • Richting Inkomend.
  • Bron (*) .
  • Doel (*) .
  • Doelpoort Poort 80.
  • Toegang Toestaan.
  • Prioriteit 200.
  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

Back-endservers maken - Standard

In deze sectie maakt u:

  • Drie netwerkinterfaces voor de virtuele machines.
  • Drie virtuele machines die worden gebruikt als back-endservers voor de load balancer.

Netwerkinterfaces maken voor de virtuele machines

Maak drie netwerkinterfaces met de opdracht az network nic create:

  • met de naam myNicVM1, myNicVM2 en myNicVM3.
  • In resourcegroep CreatePubLBQS-rg.
  • In virtueel netwerk myVnet.
  • In subnet myBackendSubnet.
  • In netwerkbeveiligingsgroep myNSG.
  array=(myNicVM1 myNicVM2 myNicVM3)
  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

Virtuele machines maken

Maak de virtuele machines met az vm create:

VM1

  • Met de naam myVM1.
  • In resourcegroep CreatePubLBQS-rg.
  • Gekoppeld aan de netwerkinterface myNicVM1.
  • Installatiekopie van virtuele machine win2019datacenter.
  • In Zone 1.
  az vm create \
    --resource-group CreatePubLBQS-rg \
    --name myVM1 \
    --nics myNicVM1 \
    --image win2019datacenter \
    --admin-username azureuser \
    --zone 1 \
    --no-wait

VM2

  • Met de naam myVM2.
  • In resourcegroep CreatePubLBQS-rg.
  • Gekoppeld aan de netwerkinterface myNicVM2.
  • Installatiekopie van virtuele machine win2019datacenter.
  • In Zone 2.
  az vm create \
    --resource-group CreatePubLBQS-rg \
    --name myVM2 \
    --nics myNicVM2 \
    --image win2019datacenter \
    --admin-username azureuser \
    --zone 2 \
    --no-wait

VM3

  • Met de naam myVM3.
  • In resourcegroep CreatePubLBQS-rg.
  • Gekoppeld aan de netwerkinterface myNicVM3.
  • Installatiekopie van virtuele machine win2019datacenter.
  • In Zone 3.
   az vm create \
    --resource-group CreatePubLBQS-rg \
    --name myVM3 \
    --nics myNicVM3 \
    --image win2019datacenter \
    --admin-username azureuser \
    --zone 3 \
    --no-wait

Het kan enkele minuten duren om de VM's te implementeren.

Notitie

Azure biedt een standaard ip-adres voor uitgaande toegang voor Azure Virtual Machines dat niet is toegewezen aan een openbaar IP-adres of zich in de back-endpool van een interne Basic-Azure Load Balancer. Het standaardmechanisme voor uitgaand toegangs-IP biedt een uitgaand IP-adres dat niet kan worden geconfigureerd.

Zie Standaard uitgaande toegang in Azure voor meer informatie over standaard uitgaande toegang

Het standaard-IP-adres voor uitgaande toegang wordt uitgeschakeld wanneer een openbaar IP-adres wordt toegewezen aan de virtuele machine of als de virtuele machine met of zonder uitgaande regels in de back-Standard Load Balancer van een Standard Load Balancer wordt geplaatst. Als een Azure Virtual Network NAT-gatewayresource wordt toegewezen aan het subnet van de virtuele machine, wordt het standaard IP-adres voor uitgaande toegang uitgeschakeld.

Virtuele machines die zijn gemaakt door virtuele-machineschaalsets in de modus Flexibele orchestration hebben geen standaard uitgaande toegang.

Zie Using Source Network Address Translation (SNAT) for outbound connections (Bronnetwerkadresvertaling (SNAT) gebruiken voor uitgaande verbindingen) voormeer informatie over uitgaande verbindingen in Azure.

Een openbaar IP-adres maken - Standard

Om toegang te krijgen tot uw web-app op internet, hebt u een openbaar IP-adres nodig voor de load balancer.

Gebruik az network public-ip create om:

  • Maak een standaard zoneredundant openbaar IP-adres met de naam myPublicIP.
  • In CreatePubLBQS-rg.
  az network public-ip create \
    --resource-group CreatePubLBQS-rg \
    --name myPublicIP \
    --sku Standard

Een openbaar IP-adres voor een gebied maken in Zone 1:

  az network public-ip create \
    --resource-group CreatePubLBQS-rg \
    --name myPublicIP \
    --sku Standard \
    --zone 1

Een Standard Load Balancer maken

In deze sectie wordt beschreven hoe u de volgende onderdelen van de load balancer kunt maken en configureren:

  • Een front-end-IP-pool die het binnenkomende netwerkverkeer op de load balancer ontvangt.
  • Een back-end-IP-pools waar de front-endpool het netwerkverkeer naartoe stuurt dat door de load balancer is verdeeld.
  • Een statustest die de status van de back-end-VM-instanties vaststelt.
  • Een load balancer-regel die bepaalt hoe het verkeer over de VM's wordt verdeeld.

De load balancer-resource maken

Maak een openbare load balancer met az network lb create:

  • Genaamd myLoadBalancer.
  • Een front-endgroep met de naam myFrontEnd.
  • Een back-endgroep met de naam MyBackendPool.
  • Gekoppeld met het openbare IP-adres myPublicIP dat u in de vorige stap hebt gemaakt.
  az network lb create \
    --resource-group CreatePubLBQS-rg \
    --name myLoadBalancer \
    --sku Standard \
    --public-ip-address myPublicIP \
    --frontend-ip-name myFrontEnd \
    --backend-pool-name myBackEndPool       

Statustest maken

Met een statustest worden alle VM-instanties gecontroleerd om na te gaan of ze netwerkverkeer kunnen verzenden.

Een virtuele machine met een mislukte test wordt verwijderd uit de load balancer. De virtuele machine wordt weer toegevoegd aan de load balancer wanneer de fout is opgelost.

Gebruik een statustest met az network lb probe create:

  • Bewaakt de status van de virtuele machines.
  • Met de naam myHealthProbe.
  • Protocol: TCP.
  • Controleert poort 80.
  az network lb probe create \
    --resource-group CreatePubLBQS-rg \
    --lb-name myLoadBalancer \
    --name myHealthProbe \
    --protocol tcp \
    --port 80   

Load balancer-regel maken

Met een load balancer-regel wordt het volgende gedefinieerd:

  • De front-end-IP-configuratie voor het binnenkomende verkeer.
  • De back-end-IP-adresgroep voor het ontvangen van verkeer.
  • De vereiste bron- en doelpoort.

Gebruik az network lb rule create om een load balancer-regel te maken:

  • Naam: myHTTPRule
  • Luistert aan poort 80 in de front-endpool myFrontEnd.
  • Verzendt netwerkverkeer volgens taakverdeling naar de back-endadresgroep myBackEndPool via poort 80.
  • Gebruikt statustest myHealthProbe.
  • Protocol: TCP.
  • Time-out voor inactiviteit: 15 minuten.
  • Schakel TCP opnieuw instellen in.
  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

Virtuele machines toevoegen aan back-endpool van load balancer

Voeg de virtuele machines aan de back-endpool toe met az network nic ip-config address-pool add:

  • In back-endadrespool myBackEndPool.
  • In resourcegroep CreatePubLBQS-rg.
  • Gekoppeld aan load balancer myLoadBalancer.
  array=(myNicVM1 myNicVM2 myNicVM3)
  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

Configuratie voor uitgaande regel maken

Uitgaande regels van load balancers configureren uitgaande SNAT voor virtuele machines in de back-endgroep.

Zie Uitgaande verbindingen in Azure voor meer informatie over uitgaande verbindingen.

Een openbaar IP-adres of -voorvoegsel kan worden gebruikt voor de uitgaande configuratie.

Openbare IP

Gebruik az network public-ip create om één IP-adres voor de uitgaande verbinding te maken.

  • Met de naam myPublicIPOutbound.
  • In CreatePubLBQS-rg.
  az network public-ip create \
    --resource-group CreatePubLBQS-rg \
    --name myPublicIPOutbound \
    --sku Standard

Als u een zonegebonden redundant openbaar IP-adres in Zone 1 wilt maken:

  az network public-ip create \
    --resource-group CreatePubLBQS-rg \
    --name myPublicIPOutbound \
    --sku Standard \
    --zone 1

Voorvoegsel voor het openbare IP

Gebruik az network public-ip prefix create om een voorvoegsel van een openbaar IP-adres voor de uitgaande verbinding te maken.

  • Met de naam myPublicIPPrefixOutbound.
  • In CreatePubLBQS-rg.
  • Voorvoegsellengte van 28.
  az network public-ip prefix create \
    --resource-group CreatePubLBQS-rg \
    --name myPublicIPPrefixOutbound \
    --length 28

Als u een zonegebonden redundant openbaar IP-voorvoegsel in Zone 1 wilt maken:

  az network public-ip prefix create \
    --resource-group CreatePubLBQS-rg \
    --name myPublicIPPrefixOutbound \
    --length 28 \
    --zone 1

Zie Uitgaande NAT schalen met meerdere IP-adressen voor meer informatie over het schalen van uitgaande NAT en uitgaande verbindingen.

Uitgaande front-end-IP-configuratie maken

Een nieuwe front-end-IP-configuratie maken met az network lb frontend-ip create :

Selecteer de opdrachten voor het openbare IP-adres of het openbare IP-voorvoegsel op basis van de beslissing in de vorige stap.

Openbare IP

  • Met de naam myFrontEndOutbound.
  • In resourcegroep CreatePubLBQS-rg.
  • Gekoppeld aan openbaar IP-adres myPublicIPOutbound.
  • Gekoppeld aan load balancer myLoadBalancer.
  az network lb frontend-ip create \
    --resource-group CreatePubLBQS-rg \
    --name myFrontEndOutbound \
    --lb-name myLoadBalancer \
    --public-ip-address myPublicIPOutbound 

Voorvoegsel voor het openbare IP-adres

  • Met de naam myFrontEndOutbound.
  • In resourcegroep CreatePubLBQS-rg.
  • Gekoppeld aan het openbare IP-voorvoegsel myPublicIPPrefixOutbound.
  • Gekoppeld aan load balancer myLoadBalancer.
  az network lb frontend-ip create \
    --resource-group CreatePubLBQS-rg \
    --name myFrontEndOutbound \
    --lb-name myLoadBalancer \
    --public-ip-prefix myPublicIPPrefixOutbound 

Uitgaande groep maken

Maak een nieuwe uitgaande groep met az network lb address-pool create:

  • Met de naam myBackEndPoolOutbound.
  • In resourcegroep CreatePubLBQS-rg.
  • Gekoppeld aan load balancer myLoadBalancer.
  az network lb address-pool create \
    --resource-group CreatePubLBQS-rg \
    --lb-name myLoadBalancer \
    --name myBackendPoolOutbound

Uitgaande regel maken

Maak een nieuwe uitgaande regel voor de uitgaande back-endgroep met az network lb outbound-rule create:

  • Met de naam myOutboundRule.
  • In resourcegroep CreatePubLBQS-rg.
  • Gekoppeld aan load balancer myLoadBalancer
  • Gekoppeld aan front-end myFrontEndOutbound.
  • Protocol: Alle.
  • Time-out voor inactiviteit: 15.
  • 10.000 uitgaande poorten.
  • Gekoppeld aan back-endgroep myBackEndPoolOutbound.
  az network lb outbound-rule create \
    --resource-group CreatePubLBQS-rg \
    --lb-name myLoadBalancer \
    --name myOutboundRule \
    --frontend-ip-configs myFrontEndOutbound \
    --protocol All \
    --idle-timeout 15 \
    --outbound-ports 10000 \
    --address-pool myBackEndPoolOutbound

Virtuele machines toevoegen aan uitgaande groep

Voeg de virtuele machines aan de uitgaande groep toe met az network nic ip-config address-pool add:

  • In back-endadresgroep myBackEndPoolOutbound.
  • In resourcegroep CreatePubLBQS-rg.
  • Gekoppeld aan load balancer myLoadBalancer.
  array=(myNicVM1 myNicVM2 myNicVM3)
  for vmnic in "${array[@]}"
  do
    az network nic ip-config address-pool add \
     --address-pool myBackendPoolOutbound \
     --ip-config-name ipconfig1 \
     --nic-name $vmnic \
     --resource-group CreatePubLBQS-rg \
     --lb-name myLoadBalancer
  done

IIS installeren

Gebruik az vm extension set om IIS op de virtuele machines te installeren en de standaardwebsite op de computernaam in te stellen.

  array=(myVM1 myVM2 myVM3)
    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 testen

Gebruik az network public-ip show om het openbare IP-adres van de load balancer op te halen.

Kopieer het openbare IP-adres en plak het in de adresbalk van de browser.

  az network public-ip show \
    --resource-group CreatePubLBQS-rg \
    --name myPublicIP \
    --query ipAddress \
    --output tsv

Test de load balancer

Resources opschonen

Gebruik de opdracht az group delete om de resourcegroep, de load balancer en alle gerelateerde resources te verwijderen wanneer u deze niet meer nodig hebt.

  az group delete \
    --name CreatePubLBQS-rg

Volgende stappen

In deze quickstart hebt u

  • Een standaardversie van een openbare load balancer gemaakt
  • Virtuele machines gekoppeld.
  • De load balancer-verkeersregel en de statustest geconfigureerd.
  • De load balancer getest.

Als u meer informatie wilt over Azure Load Balancer, gaat u naar: