Migrieren von Bereitstellungen und Ressourcen zu Virtual Machine Scale Sets im Orchestrierungsmodus „Flexibel“
Wie bei Verfügbarkeitsgruppen können Sie mit Virtual Machine Scale Sets diese auf mehrere Fehlerdomänen verteilen. Virtual Machine Scale Sets im Orchestrierungsmodus „Flexibel“ ermöglichen Ihnen das Kombinieren der Skalierbarkeit von Virtual Machine Scale Sets im Orchestrierungsmodus „Uniform“ (einheitlich) mit den regionalen Verfügbarkeitsgarantien von Verfügbarkeitsgruppen. In diesem Artikel werden Überlegungen zur Migration beim Wechsel zum Orchestrierungsmodus „Flexibel“ für Virtual Machine Scale Sets behandelt.
Aktualisieren von Vorlagen und Skripts für Bereitstellungen von Verfügbarkeitsgruppen
Zunächst müssen Sie mithilfe der Azure CLI, der Azure PowerShell oder einer ARM-Vorlage ein Virtual Machine Scale Set ohne Autoskalierungsprofil erstellen. Das Azure-Portal gestattet nur das Erstellen eines Virtual Machine Scale Sets mit einem Autoskalierungsprofil. Wenn Sie kein Autoskalierungsprofil wünschen oder benötigen und eine Skalierungsgruppe über das Azure-Portal erstellen möchten, können Sie die Anfangskapazität auf 0 festlegen.
Sie müssen die Anzahl der Fehlerdomänen für das Virtual Machine Scale Set angeben. Für regionale (nicht zonale) Bereitstellungen bieten Virtual Machine Scale Sets dieselben Fehlerdomänengarantien wie Verfügbarkeitsgruppen. Sie können jedoch auf bis zu 1000 Instanzen hochskalieren. Für zonale Bereitstellungen, bei denen Sie Instanzen auf mehrere Verfügbarkeitszonen verteilen, muss die Fehlerdomänenanzahl auf 1 festgelegt werden.
Updatedomänen wurden im Orchestrierungsmodus „Flexibel“ eingestellt. Die meisten Plattform-Updates mit universellen SKUs werden mittels Live-Migration durchgeführt und erfordern keinen Instanz-Neustart. Wenn für eine Plattformwartung ein Neustart von Instanzen erforderlich ist, werden Updates nacheinander auf jede Fehlerdomäne einzeln angewendet.
Der Orchestrierungsmodus „Flexibel“ für Virtual Machine Scale Sets unterstützt auch die Bereitstellung von Instanzen über mehrere Verfügbarkeitszonen hinweg. Sie sollten erwägen, Ihre VM-Bereitstellungen so zu aktualisieren, dass sie auf mehrere Verfügbarkeitszonen verteilt sind.
Der letzte Schritt dieses Prozesses besteht darin, einen virtuellen Computer zu erstellen. Anstatt eine Verfügbarkeitsgruppe anzugeben, geben Sie das Virtual Machine Scale Set an. Optional können Sie die Verfügbarkeitszone oder Fehlerdomäne angeben, in der Sie den virtuellen Computer platzieren möchten.
Migrieren vorhandener Verfügbarkeitsgruppen-VMs
Es gibt derzeit keine automatisierten Tools zum direkten Verschieben vorhandener Instanzen aus einer Verfügbarkeitsgruppe in Virtual Machine Scale Sets. Es gibt jedoch mehrere Strategien, die Sie nutzen können, um vorhandene Instanzen zu einer flexiblen Skalierungsgruppe zu migrieren:
Blaue/grüne oder parallele Migration
- Neue Instanzen von virtuellen Skalierungsgruppencomputern mit ähnlicher Konfiguration in derselben Ressourcengruppe, demselben virtuellen Netzwerk oder Lastenausgleich usw. wie die der virtuellen Computer in der Verfügbarkeitsgruppe einrichten.
- Daten, Netzwerkdatenverkehr usw. migrieren, um die neuen Skalierungsgruppeninstanzen zu verwenden.
- Die Zuordnung der ursprünglichen virtuellen Computer der Verfügbarkeitsgruppe aufheben oder sie entfernen, wobei die Skalierungsgruppen-VMs für Ihre Anwendung weiterhin ausgeführt werden.
Ersetzen von VM-Instanzen
- Notieren Sie sich die Parameter, die Sie vom virtuellen Computer behalten möchten (Name, NIC-ID, Betriebssystemdatenträger- und Datenträger-IDs, VM-Konfigurationseinstellungen, Platzierung der Fehlerdomäne usw.).
- Löschen Sie den virtuellen Computer der Verfügbarkeitsgruppe. Die NICs und Datenträger für den virtuellen Computer werden nicht gelöscht.
- Erstellen Sie ein neues VM-Objekt mithilfe der Parameter des ursprünglichen virtuellen Computers.
- NIC-ID
- Betriebssystem-Datenträger und Datenträger
- Platzierung der Fehlerdomäne
- Weitere VM-Einstellungen
Aktualisieren von Vorlagen und Skripts für die Bereitstellung einheitlicher (Uniform) Skalierungsgruppen
Aktualisieren Sie Vorlagen und Skripts für die Bereitstellung einheitlicher (Uniform) Virtual Machine Scale Sets, um den Orchestrierungsmodus „Flexibel“ zu verwenden. Ändern Sie die folgenden Elemente in Ihren Vorlagen, um den Vorgang erfolgreich abzuschließen.
- Entfernen Sie
LoadBalancerNATPool
(für flex nicht gültig). - Entfernen Sie den Überbereitstellungsparameter (für flex nicht gültig)
- Entfernen Sie
upgradePolicy
(für flex noch nicht gültig). - Aktualisieren Sie die Compute-API-Version auf 2021-03-01.
- Fügen Sie den Orchestrierungsmodus
flexible
hinzu. platformFaultDomainCount
erforderlich.- „
singlePlacementGroup
=false“ erforderlich. - Fügen Sie die Netzwerk-API-Version zu 2021-11-01 oder höher hinzu.
- Legen Sie die IP
configuration.properties.primary
auf true fest (für Ausgangsregeln erforderlich).
Migrieren vorhandener einheitlicher (Uniform) Skalierungsgruppen
Derzeit gibt es kein automatisiertes Tool, um vorhandene Instanzen direkt zu verschieben oder eine einheitliche (Uniform) Skalierungsgruppe auf ein flexibles Virtual Machine Scale Set zu aktualisieren. Im Folgenden sehen Sie jedoch eine Strategie, die Sie nutzen können, um vorhandene Instanzen zu einer flexiblen Skalierungsgruppe zu migrieren:
Blaue/grüne oder parallele Migration
- Skalierungsgruppe im Orchestrierungsmodus „Flexibel“ mit ähnlicher Konfiguration in derselben Ressourcengruppe, demselben virtuellen Netzwerk oder Lastenausgleich usw. wie die der ursprünglichen Skalierungsgruppe im Orchestrierungsmodus „Uniform“ einrichten.
- Daten, Netzwerkdatenverkehr usw. migrieren, um die neuen Skalierungsgruppeninstanzen zu verwenden.
- Die ursprünglichen einheitlichen (Uniform) virtuellen Computer der Skalierungsgruppe herunterskalieren oder entfernen, wobei die Skalierungsgruppen-VMs für Ihre Anwendung weiterhin ausgeführt werden.
Überlegungen zu flexiblen Skalierungsgruppen
Virtual Machine Scale Sets im Orchestrierungsmodus „Flexibel“ ermöglichen Ihnen das Kombinieren der Skalierbarkeit von Virtual Machine Scale Sets im Orchestrierungsmodus „Uniform“ (einheitlich) mit den regionalen Verfügbarkeitsgarantien von Verfügbarkeitsgruppen. Im Folgenden finden Sie wichtige Überlegungen zur Entscheidung, mit dem flexiblen Orchestrierungsmodus zu arbeiten.
Erstellen skalierbarer Netzwerkkonnektivität
Das Netzwerkverhalten für externen Zugriff hängt davon ab, wie Sie virtuelle Computer in Ihrer Skalierungsgruppe erstellen. Manuell hinzugefügte VM-Instanzen verfügen standardmäßig über einen ausgehenden Konnektivitätszugriff. Implizit erstellte Instanzen von virtuellen Computern verfügen über keinen Standardzugriff.
Zur Verbesserung der Standard-Netzwerksicherheit verfügen Instanzen von virtuellen Computern, die implizit über das Profil für die automatische Skalierung erstellt wurden, nicht standardmäßig über ausgehenden Zugriff. Damit Virtual Machine Scale Sets mit implizit erstellten Instanzen von virtuellen Computern verwendet werden können, muss der ausgehende Zugriff explizit mit einer der folgenden Methoden definiert werden:
- Für die meisten Szenarien wird empfohlen, ein NAT Gateway an das Subnetz anzufügen.
- Im Fall von Szenarien mit hohen Sicherheitsanforderungen oder bei Verwendung von Azure Firewall oder virtuellen Netzwerkappliances (Network Virtual Appliance, NVA) können Sie eine benutzerdefinierte Route als nächsten Hop durch die Firewall festlegen.
- Instanzen befinden sich im Back-End-Pool einer Azure Load Balancer-Instanz der Standard-SKU.
- Sie fügen eine öffentliche IP-Adresse an die Netzwerkschnittstelle der Instanz an.
Dies sind häufige Szenarios, die explizite ausgehende Konnektivität erfordern:
- Die Aktivierung einer Windows-VM erfordert, dass Sie ausgehende Konnektivität zwischen der VM-Instanz mit dem Schlüsselverwaltungsdienst (Key Management Service, KMS) definiert haben. Weitere Informationen finden Sie im Abschnitt Problembehandlung bei der Aktivierung von virtuellen Computern.
- Zugriff auf Speicherkonten oder Key Vault. Die Verbindung mit Azure-Diensten kann auch über Private Link hergestellt werden.
- Windows-Updates
- Zugriff auf Paket-Manager für Linux
Weitere Informationen finden Sie unter Standardzugriff in ausgehender Richtung in Azure.
Einzelinstanz-VMs, bei denen Sie den Netzwerkadapter explizit erstellen, wird standardmäßig ausgehender Zugriff gewährt. Virtual Machine Scale Sets im Orchestrierungsmodus „Uniform“ (Einheitlich) verfügen ebenfalls standardmäßig über ausgehende Konnektivität.
Wichtig
Vergewissern Sie sich, dass Sie über explizite ausgehende Netzwerkkonnektivität verfügen. Erfahren Sie mehr darüber in Virtuelle Netzwerke und virtuelle Computer in Azure, und stellen Sie sicher, dass Sie die bewährten Methoden für Netzwerke von Azure beachten.
Zuweisen einer Fehlerdomäne während der VM-Erstellung
Sie können die Anzahl von Fehlerdomänen für die Skalierungsgruppe mit flexibler Orchestrierung auswählen. Wenn Sie eine VM einer flexiblen Skalierungsgruppe hinzufügen, werden die Instanzen von Azure gleichmäßig auf die Fehlerdomänen verteilt. Unsere Empfehlung lautet zwar, die Fehlerdomäne von Azure zuweisen zu lassen, aber für erweiterte oder Problembehandlungsszenarien können Sie dieses Standardverhalten außer Kraft setzen und die Fehlerdomäne angeben, in der die Instanz angeordnet werden soll.
az vm create –vmss "myVMSS" –-platform_fault_domain 1
Benennung von Instanzen
Wenn Sie eine VM erstellen und einer flexiblen Skalierungsgruppe hinzufügen, haben Sie über die Azure-Regeln für die Namenskonvention die vollständige Kontrolle über die Instanznamen. Wenn virtuelle Computer der Skalierungsgruppe über die Autoskalierung automatisch hinzugefügt werden, geben Sie ein Präfix an, und Azure fügt am Ende des Namens dann eine eindeutige Zahl an.
Auflisten der API-Änderungen für VMs einer Skalierungsgruppe
Mit VM-Skalierungsgruppen können Sie die Instanzen auflisten, die zur Skalierungsgruppe gehören. Bei der flexiblen Orchestrierung wird mit dem Befehl zum Auflisten der VMs einer VM-Skalierungsgruppe eine Liste angezeigt, die die IDs der VMs einer Skalierungsgruppe enthält. Anschließend können Sie die GET-Befehle für die VMs einer VM-Skalierungsgruppe verwenden, um weitere Details zur Zusammenarbeit zwischen Skalierungsgruppe und VM-Instanz abzurufen. Verwenden Sie zum Abrufen der vollständigen Details zur VM die GET-VM-Standardbefehle oder Azure Resource Graph.
Abfragen des Energiezustands von Instanzen
Die bevorzugte Methode ist hierbei die Verwendung von Azure Resource Graph zum Abfragen aller VMs einer VM-Skalierungsgruppe. Azure Resource Graph verfügt über effiziente Abfragefunktionen, mit denen Azure-Ressourcen im großen Stil abonnementübergreifend abgefragt werden können.
| where type =~ 'Microsoft.Compute/virtualMachines'
| where properties.virtualMachineScaleSet contains "demo"
| extend powerState = properties.extended.instanceView.powerState.code
| project name, resourceGroup, location, powerState
| order by resourceGroup desc, name desc
Die Funktion zum Abfragen von Ressourcen von Azure Resource Graph ist eine bequeme und effiziente Möglichkeit, um Azure-Ressourcen abzufragen, und verringert die Anzahl von API-Aufrufen des Ressourcenanbieters. Azure Resource Graph ist letztlich ein konsistenter Cache, in dem neue oder aktualisierte Ressourcen ggf. bis zu 60 Sekunden lang nicht widergespiegelt werden. Ihre Möglichkeiten:
- Auflisten einer Ressourcengruppe oder eines Abonnements
- Verwenden der Option „Erweitern“ zum Abrufen der Instanzansicht (Zuweisung von Fehlerdomänen, Energie- und Bereitstellungsstatus) für alle VMs Ihres Abonnements
- Verwenden der Get-VM-API und der Befehle zum Abrufen der Modell- und Instanzansicht für eine einzelne Instanz
Batchvorgänge für VMs von Skalierungsgruppen
Verwenden Sie die VM-Standardbefehle zum Starten, Beenden, Neustarten oder Löschen von Instanzen (anstelle der APIs für die VMs einer VM-Skalierungsgruppe). Die Batchvorgänge für Virtual Machine Scale Sets (Alle starten, Alle beenden, Reimaging für alle usw.) werden im Orchestrierungsmodus „Flexibel“ nicht verwendet.
Überwachen der Anwendungsintegrität
Beim Überwachen der Anwendungsintegrität kann Ihre Anwendung für Azure einen Heartbeat bereitstellen, damit ermittelt werden kann, ob Ihre Anwendung fehlerfrei oder fehlerhaft ist. Azure kann fehlerhafte VM-Instanzen automatisch austauschen. Bei flexiblen Skalierungsgruppeninstanzen müssen Sie die Erweiterung zur Anwendungsintegrität auf dem virtuellen Computer installieren und konfigurieren. Für einheitliche Skalierungsgruppeninstanzen können Sie entweder die Erweiterung für die Anwendungsintegrität verwenden oder die Integrität mit einem benutzerdefinierten Azure Load Balancer-Integritätstest messen.
Abrufen von Startdiagnosedaten
Verwenden Sie die Standard-VM-APIs und -Befehle, um Daten und Screenshots zur Startdiagnose abzurufen. Die Startdiagnose-APIs und -befehle für virtuelle Computer in Virtual Machine Scale Sets werden für Instanzen mit dem Orchestrierungsmodus „Flexibel“ nicht verwendet.
VM-Erweiterungen
Verwenden Sie für Standard-VMs bestimmte Erweiterungen, und keine Erweiterungen, die für Instanzen mit dem Orchestrierungsmodus „Einheitlich“ bestimmt sind.
Schützen von Instanzen vor Löschung
Für Virtual Machine Scale Sets im Orchestrierungsmodus „Flexible“ (Flexibel) sind derzeit keine Schutzoptionen für Instanzen verfügbar. Wenn Sie die Autoskalierung für Virtual Machine Scale Sets aktiviert haben, besteht bei einigen virtuellen Computern möglicherweise das Risiko, dass sie bei der Skalierung gelöscht werden. Wenn Sie bestimmte VM-Instanzen davor schützen möchten, gelöscht zu werden, verwenden Sie eine Sperre im Azure Resource Manager.