VMs benötigen Schutz vor Rechenzentrumsfehlern? Erstelle eine Verfügbarkeitsgruppe

Veröffentlicht am:

CloudTrips benötigt zwei VMs, die wegen eines einzelnen Hardwareproblems auf Rackebene oder geplanter Azure-Wartung nicht gemeinsam ausfallen oder neu starten sollen. Eine Azure-Verfügbarkeitsgruppe weist die Plattform an, zusammengehörige VMs innerhalb eines Rechenzentrums auf Fehler- und Updatedomänen zu verteilen.

Dieser Trip erstellt eine Verfügbarkeitsgruppe und zwei neue Ubuntu-VMs. Vorhandene VMs können nach ihrer Erstellung nicht hinzugefügt werden.

Verstehe den Schutz

Domäne Trennt VMs nach
Fehlerdomäne Stromversorgung, Netzwerk-Switch und physischer Hardware
Updatedomäne Gruppen, die Azure bei geplanter Plattformwartung gemeinsam neu starten kann

Azure startet während geplanter Wartung jeweils nur eine Updatedomäne neu. Ein Hardwarefehler in einer Fehlerdomäne sollte eine VM in einer anderen Fehlerdomäne nicht beeinträchtigen.

Eine Verfügbarkeitsgruppe schützt nicht vor Anwendungsfehlern, Betriebssystemausfällen oder dem Ausfall eines vollständigen Rechenzentrums, einer Zone oder Region. Verwende Verfügbarkeitszonen zur Rechenzentrumsisolierung, wenn Region und Workload sie unterstützen. Für zentral verwaltete, skalierbare Flotten empfiehlt Microsoft eine VM-Skalierungsgruppe mit flexibler Orchestrierung.

Die Verfügbarkeitsgruppe selbst verursacht keine zusätzlichen Kosten. Jede VM, jeder Datenträger und jede Netzwerkressource wird jedoch normal abgerechnet.

Erstelle Ressourcengruppe und Netzwerk

Erstelle:

Subscription: CloudTrips TEST
Resource group: rg-cloudtrips-avset-test-weu
Region: West Europe

Öffne Virtual networks > Create:

Name: vnet-cloudtrips-avset-test-weu
IPv4 address space: 10.83.0.0/16
Subnet: snet-servers
Subnet range: 10.83.1.0/24

Wähle Review + create > Create.

Erstelle die Verfügbarkeitsgruppe

Suche nach Availability sets und wähle Create:

Resource group: rg-cloudtrips-avset-test-weu
Name: avset-cloudtrips-web-test-weu
Region: West Europe
Fault domains: 2
Update domains: 5
Use managed disks: Yes

Zwei Fehlerdomänen reichen aus, um die beiden Lab-VMs auf getrennte Hardwaregruppen zu verteilen. Fünf Updatedomänen bieten Raum, weitere VMs auf Gruppen für geplante Wartung zu verteilen. Diese Anzahlen können später nicht geändert werden.

Seite zum Erstellen einer Verfügbarkeitsgruppe mit zwei Fehlerdomänen, fünf Updatedomänen und verwalteten Datenträgern

Wähle Review + create > Create.

Erstelle die erste VM

Das Azure-Portal zeigt Availability set möglicherweise nicht in den VM-Erstellungsoptionen an. Weise die VM deshalb explizit über Azure Cloud Shell zu:

az vm create \
  --resource-group rg-cloudtrips-avset-test-weu \
  --name vm-cloudtrips-avset01-test-weu \
  --availability-set avset-cloudtrips-web-test-weu \
  --image Canonical:ubuntu-24_04-lts:server:latest \
  --size Standard_D2s_v3 \
  --security-type TrustedLaunch \
  --admin-username azureuser \
  --generate-ssh-keys \
  --vnet-name vnet-cloudtrips-avset-test-weu \
  --subnet snet-servers \
  --public-ip-address "" \
  --nsg "" \
  --storage-sku StandardSSD_LRS \
  --tags Application=CloudTrips Environment=TEST ManagedBy=CLI

--generate-ssh-keys erstellt in Cloud Shell ein Schlüsselpaar, falls dort noch keines vorhanden ist. Die leeren Werte für öffentliche IP und NSG halten die VM privat.

Überprüfe die Zuordnung:

az vm show \
  --resource-group rg-cloudtrips-avset-test-weu \
  --name vm-cloudtrips-avset01-test-weu \
  --query availabilitySet.id \
  --output tsv

Das Ergebnis muss mit /availabilitySets/avset-cloudtrips-web-test-weu enden.

Cloud Shell mit erfolgreicher Erstellung und Verfügbarkeitsgruppenzuordnung der ersten VM

Lasse die erste VM während der Erstellung der zweiten laufen. Wenn sie zwischen den Bereitstellungen deallokiert wird, können beide verwalteten Datenträger in derselben Fehlerdomäne platziert werden.

Erstelle die zweite VM

Erstelle die zweite VM mit derselben Konfiguration und Verfügbarkeitsgruppe:

az vm create \
  --resource-group rg-cloudtrips-avset-test-weu \
  --name vm-cloudtrips-avset02-test-weu \
  --availability-set avset-cloudtrips-web-test-weu \
  --image Canonical:ubuntu-24_04-lts:server:latest \
  --size Standard_D2s_v3 \
  --security-type TrustedLaunch \
  --admin-username azureuser \
  --generate-ssh-keys \
  --vnet-name vnet-cloudtrips-avset-test-weu \
  --subnet snet-servers \
  --public-ip-address "" \
  --nsg "" \
  --storage-sku StandardSSD_LRS \
  --tags Application=CloudTrips Environment=TEST ManagedBy=CLI

Cloud Shell verwendet den vom ersten Befehl erstellten SSH-Schlüssel erneut. Lasse die erste VM während der zweiten Bereitstellung laufen.

Die Verfügbarkeitsgruppe muss während der VM-Erstellung ausgewählt werden. Azure kann eine vorhandene VM später nicht ohne Löschen und Neuerstellen hinzufügen.

Cloud Shell mit erfolgreicher Erstellung der zweiten VM in derselben Verfügbarkeitsgruppe

Überprüfe Fehler- und Updatedomänen

Öffne Availability sets > avset-cloudtrips-web-test-weu. Bestätige unter Virtual machines, dass beide VMs erscheinen und unterschiedlichen Fehlerdomänen zugeordnet sind. Bei zwei VMs und fünf Updatedomänen sollten sie auch unterschiedliche Updatedomänen besitzen.

Verfügbarkeitsgruppe mit beiden VMs in getrennten Fehler- und Updatedomänen

Die erwartete Platzierung ähnelt:

VM Fehlerdomäne Updatedomäne
vm-cloudtrips-avset01-test-weu 0 0
vm-cloudtrips-avset02-test-weu 1 1

Die genauen Nummern können abweichen; entscheidend ist die Trennung. Azure wählt die Domänen aus und erlaubt keine direkte Zuweisung.

Auf beiden VMs müssen außerdem redundante Anwendungskomponenten laufen, und Clients benötigen einen Load Balancer oder einen anderen Failover-Mechanismus. Eine Verfügbarkeitsgruppe ändert die VM-Platzierung. Sie kopiert keine Anwendungsdaten und leitet Datenverkehr nicht selbst um.

Bereinige

Lösche die eigene Ressourcengruppe:

az group delete \
  --name rg-cloudtrips-avset-test-weu \
  --yes

Überprüfe, dass az group exists --name rg-cloudtrips-avset-test-weu den Wert false zurückgibt.