Funktionsweise von Microsoft Azure Virtual Machine Scale Sets

Abgeschlossen

Mit Azure Virtual Machine Scale Sets können Sie eine Gruppe von VMs mit Lastenausgleich erstellen und verwalten. Die Kapazität oder Anzahl der Instanzen von virtuellen Maschinen (VM) kann als Reaktion auf einen von Ihnen konfigurierten Zeitplan oder bei Erreichen der von Ihnen festgelegten Leistungsmetriken automatisch erhöht oder verringert werden. VM-Instanzen in einer VM-Skalierungsgruppe können dieselbe Konfiguration oder unterschiedliche Konfigurationen aufweisen.

VM-Skalierungsgruppen bieten Hochverfügbarkeit und Skalierung für Ihre Anwendungen. VM-Skalierungsgruppen ermöglichen das zentrale Verwalten, Konfigurieren und Aktualisieren einer großen Anzahl von VMs. Mit Virtual Machine Scale Sets können Sie umfassende Dienste für Bereiche wie Compute, Big Data und Containerworkloads erstellen.

Skalierungsgruppen sind auf Kosteneffizienz, Skalierbarkeit und Zuverlässigkeit ausgelegt. Neue VM-Instanzen werden nur bei Bedarf erstellt und entfernt, wenn sie nicht mehr benötigt werden. Wenn neue Instanzen erforderlich sind, werden diese Instanzen aus einem Vorlagenimage generiert, um die Instanzen und die Anwendungen zu konfigurieren. Mit Azure Virtual Machine Scale Sets können Sie bis zu 1.000 virtuelle Computer in einer einzelnen Skalierungsgruppe ausführen.

Skalieren einer Skalierungsgruppe

VM-Skalierungsgruppen bieten Unterstützung beim schnellen Erstellen und Verwalten der VMs bei schwankenden Workloads. Sie können die Skalierung für eine Skalierungsgruppe auf zwei Arten konfigurieren:

  • Geplante Skalierung: Sie können die Skalierungsgruppe proaktiv planen, sodass zur Abdeckung einer Datenverkehrsspitze eine oder N zusätzliche Instanzen bereitgestellt werden und die Skalierungsgruppe nach der Datenverkehrsspitze wieder herunterskaliert wird.

  • Automatische Skalierung: Wenn die Workload variabel ist und nicht immer geplant werden kann, können Sie die metrikbasierte Grenzwertskalierung verwenden. Die automatische Skalierung skaliert auf der Grundlage der Knotenauslastung auf. Sobald die Ressourcen wieder zu einer Baseline zurückkehren, findet ein horizontales Herunterskalieren statt.

Die automatische Skalierung basiert auf einer Reihe von Skalierungsbedingungen, -regeln und -grenzwerten. Eine Skalierungsbedingung kombiniert die Zeit mit einer Reihe von Skalierungsregeln. Wenn die aktuelle Zeit in den Zeitraum fällt, der in der Skalierungsbedingung definiert wurde, werden die Skalierungsregeln der Bedingung ausgewertet. Die Ergebnisse dieser Auswertung bestimmen, ob Instanzen zur Skalierungsgruppe hinzugefügt oder daraus entfernt werden.

Die Skalierungsbedingung definiert auch die Grenzwerte für die Skalierung für die maximale und minimale Anzahl von Instanzen. Durch das Beschränken der maximalen Anzahl von Metriken können Sie die Anzahl der erstellten VMs beschränken, sodass ein ungeplanter Anstieg des Datenverkehrs nicht automatisch unerwartete Abonnementgebühren verursacht.

Folgendes kann Grundlage einer automatischen Skalierung darstellen:

  • Zeitplan: Verwenden Sie diesen Ansatz, wenn Sie wissen, dass die Workload an einem bestimmten Datum oder in einem bestimmten Zeitraum erhöht sein wird. Bei der zeitplanbasierten Skalierung werden eine Start- und Endzeit sowie die Anzahl von Instanzen angegeben, die der Skalierungsgruppe hinzugefügt werden sollen.

  • Metriken: Passen Sie die Skalierung an, indem Sie Leistungsmetriken überwachen, die der Skalierungsgruppe zugeordnet sind. Wenn diese Metriken einen bestimmten Schwellenwert überschreiten, kann die Skalierungsgruppe automatisch neue VM-Instanzen starten. Wenn die Metriken aufzeigen, dass die zusätzlichen Ressourcen nicht mehr benötigt werden, kann die Skalierungsgruppe überschüssige Instanzen beenden.

Die folgenden Metriken werden häufig zum Überwachen von VM-Skalierungsgruppen verwendet:

  • CPU in Prozent: Diese Metrik gibt die CPU-Nutzung aller Instanzen an. Ein hoher Wert bedeutet, dass Instanzen CPU-gebunden sind. Dies kann zu Verzögerungen bei der Verarbeitung von Clientanforderungen führen.

  • „Eingehende Datenflüsse“ und „Ausgehende Datenflüsse“: Diese Metriken geben die Geschwindigkeit der ein- und ausgehenden Datenflüsse einer VM in der Skalierungsgruppe an.

  • Datenträgerlesevorgänge/Sek. und Datenträgerschreibvorgänge/Sek.: Diese Metriken geben die Menge der E/A-Datenträgervorgänge in der gesamten Skalierungsgruppe an.

  • Warteschlangentiefe für Datenträger: Diese Metrik gibt an, wie viele E/A-Anforderungen nur für die Datenträger auf den VMs bereitgestellt werden sollen.

Eine VM-Skalierungsgruppe kann viele Skalierungsbedingungen umfassen. Dabei wird jede übereinstimmende Skalierungsbedingung umgesetzt. Eine Skalierungsgruppe kann auch eine Standardskalierungsbedingung beinhalten, die verwendet wird, wenn keine andere Skalierungsbedingung mit der aktuellen Zeit und den Leistungsmetriken übereinstimmt.

Die Standardskalierungsbedingung ist immer aktiv. Sie besitzt keine Skalierungsregeln und fungiert letztendlich als eine Nullskalierungsbedingung, die weder hoch- noch herunterskaliert. Sie können die Standardskalierungsbedingung jedoch ändern, sodass eine Standardinstanzanzahl festgelegt wird, oder Sie können zwei Skalierungsregeln hinzufügen, die hoch- und wieder herunterskalieren.

Skalierungsgruppen mit Azure-Spotinstanzen

Eine aus Azure-Spotinstanzen-VMs bestehende VM-Skalierungsgruppe ermöglicht Ihnen die Verwendung von Azure-Computeressourcen mit Kosteneinsparungen von bis zu 80 Prozent. In der globalen Azure-Infrastruktur werden häufig nicht genutzte Computeressourcen verfügbar. Mit einer Skalierungsgruppe, die Spotinstanzen verwendet, können Sie Kostenersparnisse erzielen, indem Sie diese nicht vollständig genutzte Computefunktion verwenden.

Hinweis

Denken Sie bei der Verwendung dieser VMs daran, dass diese nur temporär vorhanden sind. Deren Verfügbarkeit hängt von Größe, Region, Tageszeit usw. ab. Für diese VMs gibt es keine Vereinbarung zum Servicelevel.

Wenn die Rechenleistung in Azure wieder benötigt wird, erhalten Sie eine Benachrichtigung, dass die VM aus der Skalierungsgruppe entfernt wurde. Das Verwenden von Spotinstanzen in Skalierungsgruppen eignet sich für Workloads, die mit Unterbrechungen ausgeführt werden, oder wenn Sie größere VMs zu wesentlich geringeren Kosten benötigen. Beachten Sie jedoch, dass Sie nicht steuern können, wann eine VM entfernt wird.

Unterschiede zwischen VM-Skalierungsgruppen und manuellen VM-Pools

Skalierungsgruppen werden aus virtuellen Computern erstellt. Mit Skalierungsgruppen werden die Verwaltungs- und Automatisierungsebenen für die Ausführung und Skalierung Ihrer Anwendungen bereitgestellt. Vor der Verfügbarkeit von Virtual Machine Scale Sets haben Organisationen häufig einzelne VMs manuell erstellt und verwaltet oder vorhandene Tools integriert, um ein ähnliches Maß an Automatisierung zu erreichen.

In dieser Tabelle sind die Vorteile von Skalierungsgruppen im Vergleich zur manuellen Verwaltung von mehreren VM-Instanzen aufgeführt.

Szenario Manuelles Gruppieren von VMs Skalierungssätze für virtuelle Maschinen
Zusätzliche VM-Instanzen hinzufügen Manueller Prozess zum Erstellen, Konfigurieren und Sicherstellen der Konformität Automatisches Erstellen über die zentrale Konfiguration
Ausgleich und Verteilung von Datenverkehr Manueller Prozess zum Erstellen und Konfigurieren einer Azure Load Balancer- oder Application Gateway-Instanz Automatische Erstellung und Integration mit Azure Load Balancer oder Application Gateway
Hochverfügbarkeit und Redundanz Manuelle Erstellung einer Verfügbarkeitszone oder Verteilung und Nachverfolgung von VMs über Verfügbarkeitszonen hinweg Automatische Verteilung von VM-Instanzen über Verfügbarkeitszonen und Verfügbarkeitsgruppen hinweg
Skalierung von VMs Manuelle Überwachung und Azure Automation Automatische Skalierung basierend auf Hostmetriken, Metriken auf Gastsystemen, Application Insights oder Zeitplan