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

Ga aan de slag met Azure Load Balancer met behulp van de Azure CLI om een openbare load balancer en twee virtuele machines te maken. Samen met deze resources implementeert u Azure Bastion, NAT Gateway, een virtueel netwerk en de vereiste subnetten.

Diagram van resources die zijn geïmplementeerd voor een standaard openbare load balancer.

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

Vereisten

  • 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 brongroep maken

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

Maak een resourcegroep maken met az group create:

  az group create \
    --name CreatePubLBQS-rg \
    --location eastus

Een virtueel netwerk maken

Voordat u VM's implementeert en uw load balancer test, maakt u het ondersteunende virtuele netwerk en subnet.

Maak een virtueel netwerk met az network vnet create. Het virtuele netwerk en subnet bevatten de resources die verderop in dit artikel zijn geïmplementeerd.

  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

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 het openbare IP-adres voor de front-end van de load balancer te maken.

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

Als u in plaats daarvan een zonegebonden openbaar IP-adres in zone 1 wilt maken, gebruikt u de volgende opdracht:

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

Een 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-adresgroep die het binnenkomende netwerkverkeer op de load balancer ontvangt

  • Een back-end-IP-adresgroep waarbij de front-endpool het netwerkverkeer met gelijke taakverdeling verzendt

  • Een statustest die de status van de back-end-VM-exemplaren bepaalt

  • Een load balancer-regel die definieert hoe verkeer wordt gedistribueerd naar de VM's

De load balancer-resource maken

Maak een openbare load balancer met 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

Als het openbare IP-adres zonegebonden is, moet de opgegeven zone worden gedefinieerd bij het maken van de openbare 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

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:

  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:

  • Front-end-IP-configuratie voor binnenkomend verkeer

  • De back-end-IP-adresgroep voor het ontvangen van het verkeer

  • De vereiste bron- en doelpoort

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

  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

Een netwerkbeveiligingsgroep maken

Voor een standard load balancer moeten de VM's in de back-endpool netwerkinterfaces hebben die deel uitmaken van een netwerkbeveiligingsgroep.

Gebruik az network nsg create om de netwerkbeveiligingsgroep te maken:

  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:

  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

Een Bastion-host maken

In deze sectie maakt u de resources voor Azure Bastion. Azure Bastion wordt gebruikt om de virtuele machines in de back-endpool van de load balancer veilig te beheren.

Belangrijk

De prijzen per uur beginnen vanaf het moment dat Bastion wordt geïmplementeerd, ongeacht het uitgaande gegevensgebruik. Zie Prijzen en SKU's voor meer informatie. Als u Bastion implementeert als onderdeel van een zelfstudie of test, raden we u aan deze resource te verwijderen nadat u deze hebt gebruikt.

Een openbaar IP-adres maken

Gebruik az network public-ip create om een openbaar IP-adres voor de bastionhost te maken. Het openbare IP-adres wordt gebruikt door de bastionhost voor beveiligde toegang tot de resources van de virtuele machine.

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

Een bastion-subnet maken

Gebruik az network vnet subnet create om een bastionsubnet te maken. Het bastionsubnet wordt gebruikt door de bastionhost voor toegang tot het virtuele netwerk.

  az network vnet subnet create \
    --resource-group CreatePubLBQS-rg \
    --name AzureBastionSubnet \
    --vnet-name myVNet \
    --address-prefixes 10.1.1.0/27

Bastion-host maken

Gebruik az network bastion create om een bastionhost te maken. De bastionhost wordt gebruikt om veilig verbinding te maken met de virtuele-machineresources die verderop in dit artikel zijn gemaakt.

  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.

Back-endservers maken

In deze sectie maakt u:

  • Twee netwerkinterfaces voor de virtuele machines

  • Twee virtuele machines die moeten worden gebruikt als back-endservers voor de load balancer

Netwerkinterfaces maken voor de virtuele machines

Maak twee netwerkinterfaces met de opdracht 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

Virtuele machines maken

Maak de virtuele machines met 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

Het kan enkele minuten duren om de VM's te implementeren. U kunt doorgaan met de volgende stappen terwijl de VM's worden gemaakt.

Notitie

Azure biedt een standaard ip-adres voor uitgaande toegang voor VM's waaraan geen openbaar IP-adres is toegewezen of zich in de back-endpool van een interne Azure-load balancer bevinden. Het standaard ip-mechanisme voor uitgaande toegang biedt een uitgaand IP-adres dat niet kan worden geconfigureerd.

Het standaard IP-adres voor uitgaande toegang is uitgeschakeld wanneer een van de volgende gebeurtenissen plaatsvindt:

  • Er wordt een openbaar IP-adres toegewezen aan de VIRTUELE machine.
  • De VIRTUELE machine wordt in de back-endpool van een standaard load balancer geplaatst, met of zonder uitgaande regels.
  • Er wordt een Azure NAT Gateway-resource toegewezen aan het subnet van de VIRTUELE machine.

Virtuele machines die u maakt met behulp van virtuele-machineschaalsets in de flexibele indelingsmodus, hebben geen standaardtoegang voor uitgaand verkeer.

Zie Voor meer informatie over uitgaande verbindingen in Azure standaard uitgaande toegang in Azure en SNAT (Source Network Address Translation) gebruiken voor uitgaande verbindingen.

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:

  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-gateway maken

Als u uitgaande internettoegang wilt bieden voor resources in de back-endpool, maakt u een NAT-gateway.

Openbaar IP-adres maken

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

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

Als u in plaats daarvan een zonegebonden redundant openbaar IP-adres in zone 1 wilt maken, gebruikt u de volgende opdracht:

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

NAT-gatewayresource maken

Gebruik az network nat gateway create om de NAT-gatewayresource te maken. Het openbare IP-adres dat in de vorige stap is gemaakt, is gekoppeld aan de NAT-gateway.

  az network nat gateway create \
    --resource-group CreatePubLBQS-rg \
    --name myNATgateway \
    --public-ip-addresses myNATgatewayIP \
    --idle-timeout 10

NAT-gateway koppelen aan subnet

Configureer het bronsubnet in het virtuele netwerk om een specifieke NAT-gatewayresource te gebruiken met az network vnet subnet update.

  az network vnet subnet update \
    --resource-group CreatePubLBQS-rg \
    --vnet-name myVNet \
    --name myBackendSubnet \
    --nat-gateway myNATgateway

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)
    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

Test de load balancer

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

Voor deze snelstart geldt het volgende:

  • U hebt een standaard openbare load balancer gemaakt

  • Twee virtuele machines gekoppeld

  • De verkeersregel en statustest van de load balancer geconfigureerd

  • De load balancer getest

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