Schnellstart: Erstellen eines öffentlichen Load Balancers für den Lastenausgleich virtueller Computer mithilfe von Azure CLI

Beginnen Sie mit Azure Load Balancer, indem Sie mit der Azure CLI einen öffentlichen Load Balancer und zwei virtuelle Computer erstellen. Neben diesen Ressourcen stellen Sie Azure Bastion, NAT Gateway, ein virtuelles Netzwerk und die erforderlichen Subnetze bereit.

Diagramm der für einen standardmäßigen öffentlichen Lastenausgleich bereitgestellten Ressourcen.

Wenn Sie nicht über ein Azure-Konto verfügen, erstellen Sie ein kostenloses Konto , bevor Sie beginnen.

Voraussetzungen

  • Für diese Schnellstartanleitung ist Version 2.0.28 oder höher von Azure CLI erforderlich. Wenn Sie Azure Cloud Shell verwenden, ist die neueste Version bereits installiert.

Erstellen einer Ressourcengruppe

Eine Azure-Ressourcengruppe ist ein logischer Container, in dem Sie Azure-Ressourcen bereitstellen und verwalten.

Erstellen Sie eine Ressourcengruppe mithilfe von az group create:

  az group create \
    --name load-balancer-cli-rg \
    --location eastus

Erstellen eines virtuellen Netzwerks

Erstellen Sie zunächst die unterstützenden virtuellen Netzwerkressourcen und das Subnetz, bevor Sie virtuelle Computer bereitstellen und Ihren Lastenausgleich testen.

Erstellen Sie mit az network vnet create ein virtuelles Netzwerk. Das virtuelle Netzwerk und das Subnetz enthalten die Ressourcen, die später in diesem Artikel bereitgestellt werden.

  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

Erstellen einer öffentlichen IP-Adresse

Um über das Internet auf Ihre Web-App zugreifen zu können, benötigen Sie eine öffentliche IP-Adresse für den Lastenausgleich.

Verwenden Sie az network public-ip create, um die öffentliche IP-Adresse für das Load Balancer-Front-End zu erstellen.

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

Verwenden Sie den folgenden Befehl, um in Zone 1 eine zonale öffentliche IP-Adresse zu erstellen:

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

Einrichten eines Load Balancers

In diesem Abschnitt wird erläutert, wie Sie die folgenden Komponenten des Lastenausgleichs erstellen und konfigurieren:

  • Front-End-IP-Pool, der den eingehenden Netzwerkdatenverkehr für den Lastenausgleich empfängt

  • Ein Backend-IP-Pool, an den der Frontend-Pool den lastverteilten Netzwerkdatenverkehr sendet.

  • Eine Integritätssonde, die die Integrität der Back-End-VM-Instanzen bestimmt

  • Lastenausgleichsregel, mit der definiert wird, wie Datenverkehr auf die virtuellen Computer verteilt werden soll

Lastenausgleichsressource erstellen

Erstellen Sie mit az network lb create einen öffentlichen Lastenausgleich:

  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

Wenn Sie eine zonenbezogene öffentliche IP-Adresse erstellen, geben Sie beim Erstellen des öffentlichen Lastenausgleichs die Zone an.

  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

Erstellen des Integritätstests

Von einem Integritätstest werden alle VM-Instanzen überprüft, um sicherzustellen, dass sie Netzwerkdatenverkehr senden können.

Wenn eine Prüfung bei einer virtuellen Maschine fehlschlägt, wird sie aus dem Lastenausgleich entfernt. Nach Behebung des Fehlers wird der virtuelle Computer dem Lastenausgleich wieder hinzugefügt.

Erstellen Sie mit az network lb probe create einen Integritätstest:

  az network lb probe create \
    --resource-group load-balancer-cli-rg \
    --lb-name load-balancer \
    --name lb-health-probe \
    --protocol tcp \
    --port 80

Erstellen Sie die Lastenausgleichsregel

Durch eine Lastenausgleichsregel wird Folgendes definiert:

  • Front-End-IP-Konfiguration für den eingehenden Datenverkehr

  • Back-End-IP-Pool zum Empfangen des Datenverkehrs

  • Erforderliche Quell- und Zielports

Erstellen Sie mit az network lb rule create eine Lastenausgleichsregel:

  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

Erstellen einer Netzwerksicherheitsgruppe

Bei einem standardmäßigen Lastenausgleich müssen die VMs im Backend-Pool über Netzwerkschnittstellen verfügen, die zu einer Netzwerksicherheitsgruppe gehören.

Verwenden Sie az network nsg create, um die Netzwerksicherheitsgruppe zu erstellen:

  az network nsg create \
    --resource-group load-balancer-cli-rg \
    --name lb-nsg

Erstellen einer Netzwerksicherheitsgruppen-Regel

Erstellen Sie mithilfe von az network nsg rule create eine Regel für eine Netzwerksicherheitsgruppe.

  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

Erstellen eines Bastion-Hosts

In diesem Abschnitt erstellen Sie die Ressourcen für Azure Bastion. Verwenden Sie Azure Bastion, um die virtuellen Computer im Back-End-Pool des Lastenausgleichs sicher zu verwalten.

Wichtig

Die Stundenpreise gelten ab dem Zeitpunkt der Bereitstellung von Bastion, unabhängig von der Nutzung ausgehender Daten. Weitere Informationen dazu finden Sie unter Preise und SKUs. Wenn Sie Bastion im Rahmen eines Tutorials oder Tests bereitstellen, empfiehlt es sich, diese Ressource zu löschen, nachdem Sie diese benutzt haben.

Erstellen einer öffentlichen IP-Adresse

Verwenden Sie az network public-ip create, um eine öffentliche IP-Adresse für den Bastionhost zu erstellen. Der Bastion-Host verwendet die öffentliche IP für den sicheren Zugriff auf die Ressourcen des virtuellen Computers.

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

Erstellen eines Bastionsubnetzes

Erstellen Sie mit az network vnet subnet create ein Bastion Subnetz. Der Bastion-Host verwendet das Bastion-Subnetz, um auf das virtuelle Netzwerk zuzugreifen.

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

Erstellen eines Bastionhosts

Erstellen Sie mit az network bastion create einen Bastion Host. Der Bastion-Host verbindet sich sicher mit den Ressourcen des virtuellen Computers, die Sie später in diesem Artikel erstellen.

  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

Die Bereitstellung des Azure Bastion-Hosts kann einige Minuten dauern.

Erstellen von Back-End-Servern

In diesem Abschnitt wird Folgendes erstellt:

  • Drei Netzwerkschnittstellen für die virtuellen Computer

  • Zwei virtuelle Computer, die als Back-End-Server für das Lastenausgleichsmodul verwendet werden sollen

Erstellen von Netzwerkschnittstellen für die virtuellen Computer

Erstellen Sie zwei Netzwerkschnittstellen mithilfe von 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

Erstellen von virtuellen Computern

Erstellen Sie die virtuellen Computer mithilfe von 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

Die Bereitstellung der virtuellen Computer kann eine Weile dauern. Sie können mit den nächsten Schritten fortfahren, während die virtuellen Computer erstellt werden.

Hinweis

Azure stellt eine ausgehende Standardzugriffs-IP für VMs bereit, denen keine öffentliche IP-Adresse zugewiesen ist oder die sich im Backendpool eines internen grundlegenden Azure-Lastenausgleichs befinden. Der Mechanismus für Standard-IP-Adressen für den ausgehenden Zugriff stellt eine ausgehende IP-Adresse bereit, die nicht konfigurierbar ist.

Die Standard-IP-Adresse für ausgehenden Zugriff ist deaktiviert, wenn eines der folgenden Ereignisse auftritt:

  • Dem virtuellen Computer wird eine öffentliche IP-Adresse zugewiesen.
  • Die VM wird im Back-End-Pool eines Standardlastenausgleichs platziert (mit oder ohne Ausgangsregeln).
  • Dem Subnetz der VM wird eine Azure NAT Gateway-Ressource zugewiesen.

VMs, die Sie mithilfe von VM-Skalierungsgruppen im Orchestrierungsmodus „Flexibel“ erstellen, haben keinen ausgehenden Standardzugriff.

Weitere Informationen zu ausgehenden Verbindungen in Azure finden Sie unter Standardzugriff in ausgehender Richtung in Azure und Verwenden von SNAT (Source Network Address Translation) für ausgehende Verbindungen.

Fügen Sie virtuelle Maschinen in den Backend-Pool des Load Balancers hinzu

Fügen Sie die virtuellen Computer zum Back-End-Pool hinzu, indem Sie az network nic ip-config address-pool add verwenden:

  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

Erstellen eines NAT Gateways

Um Internetzugriff für ausgehenden Datenverkehr für Ressourcen im Back-End-Pool bereitzustellen, erstellen Sie ein NAT-Gateway.

Öffentliche IP-Adresse erstellen

Verwenden Sie az network public-ip create, um eine einzelne IP-Adresse für die ausgehende Konnektivität zu erstellen.

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

Verwenden Sie den folgenden Befehl, um in Zone 1 eine zonale öffentliche IP-Adresse zu erstellen:

  az network public-ip create \
    --resource-group load-balancer-cli-rg \
    --name nat-gw-public-ip \
    --sku Standard \
    --zone 1

Erstellen einer NAT-Gatewayressource

Verwenden Sie az network nat gateway create, um die NAT-Gateway-Ressource zu erstellen. Die im vorherigen Schritt erstellte öffentliche IP-Adresse ist dem NAT-Gateway zugeordnet.

  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

Zuordnen eines NAT-Gateways zum Subnetz

Konfigurieren Sie mit az network vnet subnet update das Quellsubnetz im virtuellen Netzwerk so, dass eine spezifische NAT-Gatewayressource verwendet wird.

  az network vnet subnet update \
    --resource-group load-balancer-cli-rg \
    --vnet-name lb-vnet \
    --name backend-subnet \
    --nat-gateway lb-nat-gateway

Installieren von IIS

Verwenden Sie az vm extension set, um IIS auf den virtuellen Computern zu installieren, und legen Sie die Standardwebsite auf den Computernamen fest.

  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

Testen des Lastenausgleichs

Rufen Sie mithilfe von az network public-ip show die öffentliche IP-Adresse des Lastenausgleichs ab.

Kopieren Sie die öffentliche IP-Adresse, und fügen Sie sie in die Adressleiste des Browsers ein.

  az network public-ip show \
    --resource-group load-balancer-cli-rg \
    --name lb-frontend-ip \
    --query ipAddress \
    --output tsv

Screenshot des Browserfensters, in dem die Testseite des Lastenausgleichs angezeigt wird.

Bereinigen von Ressourcen

Wenn Sie die Ressourcen nicht mehr benötigen, verwenden Sie den Befehl " az group delete ", um die Ressourcengruppe, den Lastenausgleich und alle zugehörigen Ressourcen zu entfernen.

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

Nächste Schritte

In dieser Schnellstartanleitung gilt:

  • Sie haben einen öffentlichen Standard-Load-Balancer erstellt.

  • Sie haben zwei virtuelle Computer angefügt.

  • Sie haben Datenverkehrsregel für den Load Balancer sowie den Integritätstest konfiguriert.

  • Sie haben das Lastenausgleichsmodul getestet.

Fahren Sie mit dem folgenden Artikel fort, um sich weiter über Azure Load Balancer zu informieren: