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 met behulp van 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 publieke load balancer.

Als u geen Azure-account hebt, maak dan een gratis account aan 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 u Azure-resources implementeert en beheert.

Maak een resourcegroep met behulp van az group create:

  az group create \
    --name load-balancer-cli-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 load-balancer-cli-rg \
    --location eastus \
    --name lb-vnet \
    --address-prefixes 10.1.0.0/16 \
    --subnet-name backend-subnet \
    --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 load-balancer-cli-rg \
    --name lb-frontend-ip \
    --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 load-balancer-cli-rg \
    --name lb-frontend-ip \
    --sku Standard \
    --zone 1

Een load balancer maken

In deze sectie wordt uitgelegd hoe u de volgende onderdelen van de load balancer maakt en configureert:

  • 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

Maak de load balancer-resource aan

Maak een openbare load balancer met az network lb create:

  az network lb create \
    --resource-group load-balancer-cli-rg \
    --name load-balancer \
    --sku Standard \
    --public-ip-address lb-frontend-ip \
    --frontend-ip-name lb-frontend \
    --backend-pool-name lb-backend-pool

Als u een zonegebonden openbaar IP-adres maakt, geeft u de zone op bij het maken van de openbare load balancer.

  az network lb create \
    --resource-group load-balancer-cli-rg \
    --name load-balancer \
    --sku Standard \
    --public-ip-address lb-frontend-ip \
    --frontend-ip-name lb-frontend \
    --public-ip-zone 1 \
    --backend-pool-name lb-backend-pool

Gezondheidscontrole uitvoeren

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 load-balancer-cli-rg \
    --lb-name load-balancer \
    --name lb-health-probe \
    --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 load-balancer-cli-rg \
    --lb-name load-balancer \
    --name lb-HTTP-rule \
    --protocol tcp \
    --frontend-port 80 \
    --backend-port 80 \
    --frontend-ip-name lb-frontend \
    --backend-pool-name lb-backend-pool \
    --probe-name lb-health-probe \
    --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 load-balancer-cli-rg \
    --name lb-nsg

Regel voor netwerkbeveiligingsgroep maken

Maak een regel voor een netwerkbeveiligingsgroep met behulp van az network nsg rule create.

  az network nsg rule create \
    --resource-group load-balancer-cli-rg \
    --nsg-name lb-nsg \
    --name lb-nsg-rule \
    --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. Gebruik Azure Bastion om de virtuele machines in de back-endpool van de load balancer veilig te beheren.

Belangrijk

De uurtarieven starten vanaf het moment waarop Bastion wordt ingezet, ongeacht het gebruik van uitgaand dataverkeer. 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. De bastionhost gebruikt het openbare IP-adres voor beveiligde toegang tot de resources van de virtuele machine.

  az network public-ip create \
    --resource-group load-balancer-cli-rg \
    --name lb-vnet-bastion-ip \
    --sku Standard \
    --zone 1 2 3

Een bastion-subnet maken

Gebruik az network vnet subnet create om een bastionsubnet te maken. De bastionhost gebruikt het bastionsubnet om toegang te krijgen tot het virtuele netwerk.

  az network vnet subnet create \
    --resource-group load-balancer-cli-rg \
    --name AzureBastionSubnet \
    --vnet-name lb-vnet \
    --address-prefixes 10.1.1.0/26

Bastion-host maken

Gebruik az network bastion create om een bastionhost te maken. De Bastion-host maakt veilig verbinding met de resources voor virtuele machines die u later in dit artikel maakt.

  az network bastion create \
    --resource-group load-balancer-cli-rg \
    --name lb-vnet-bastion \
    --public-ip-address lb-vnet-bastion-ip \
    --vnet-name lb-vnet \
    --sku Basic \
    --location eastus

Het kan een paar minuten duren voordat de Azure Bastion-host is uitgerold.

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 behulp van az network nic create:

  array=(lb-VM1-nic lb-VM2-nic)
  for vmnic in "${array[@]}"
  do
    az network nic create \
        --resource-group load-balancer-cli-rg \
        --name $vmnic \
        --vnet-name lb-vnet \
        --subnet backend-subnet \
        --network-security-group lb-nsg
  done

Virtuele machines maken

Maak de virtuele machines met behulp van az vm create:

  az vm create \
    --resource-group load-balancer-cli-rg \
    --name lb-VM1 \
    --nics lb-VM1-nic \
    --image Win2022AzureEditionCore \
    --size Standard_D2s_v3 \
    --admin-username azureuser \
    --zone 1 \
    --no-wait
  az vm create \
    --resource-group load-balancer-cli-rg \
    --name lb-VM2 \
    --nics lb-VM2-nic \
    --image Win2022AzureEditionCore \
    --size Standard_D2s_v3 \
    --admin-username azureuser \
    --zone 2 \
    --no-wait

Het kan enkele minuten duren voordat de VM's zijn geïmplementeerd. 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 achtergrondpool 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 orkestratiemodus, 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 toe aan de back-endpool met behulp van az network nic ip-config address-pool add:

  array=(lb-VM1-nic lb-VM2-nic)
  for vmnic in "${array[@]}"
  do
    az network nic ip-config address-pool add \
     --address-pool lb-backend-pool \
     --ip-config-name ipconfig1 \
     --nic-name $vmnic \
     --resource-group load-balancer-cli-rg \
     --lb-name load-balancer
  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 load-balancer-cli-rg \
    --name nat-gw-public-ip \
    --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 load-balancer-cli-rg \
    --name nat-gw-public-ip \
    --sku Standard \
    --zone 1

NAT-gateway resource 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 load-balancer-cli-rg \
    --name lb-nat-gateway \
    --public-ip-addresses nat-gw-public-ip \
    --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 load-balancer-cli-rg \
    --vnet-name lb-vnet \
    --name backend-subnet \
    --nat-gateway lb-nat-gateway

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=(lb-VM1 lb-VM2)
    for vm in "${array[@]}"
    do
     az vm extension set \
       --publisher Microsoft.Compute \
       --version 1.8 \
       --name CustomScriptExtension \
       --vm-name $vm \
       --resource-group load-balancer-cli-rg \
       --settings '{"commandToExecute":"powershell Add-WindowsFeature Web-Server; powershell Add-Content -Path \"C:\\inetpub\\wwwroot\\Default.htm\" -Value $($env:computername)"}'
  done

Test de belastingsverdeler

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 load-balancer-cli-rg \
    --name lb-frontend-ip \
    --query ipAddress \
    --output tsv

Schermopname van het browservenster met de testpagina van de load balancer.

Middelen opschonen

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

  az group delete \
    --name load-balancer-cli-rg

Volgende stappen

Voor deze snelstart geldt het volgende:

  • U hebt een standaard openbare load balancer gemaakt.

  • U hebt twee virtuele machines gekoppeld.

  • U hebt de verkeersregel en statustest van de load balancer geconfigureerd.

  • U hebt de load balancer getest.

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

Wat is Azure Load Balancer?