Freigeben über


Übersicht über die automatische Skalierung in Azure

In diesem Artikel werden das Feature der automatischen Skalierung in Azure Monitor und seine Vorteile beschrieben.

Die automatische Skalierung unterstützt viele Ressourcentypen. Weitere Informationen zu unterstützten Ressourcen finden Sie unter Für automatische Skalierung unterstützte Ressourcen.

Hinweis

Verfügbarkeitsgruppen sind ein älteres Skalierungsfeature für virtuelle Computer mit eingeschränkter Unterstützung. Wir empfehlen die Migration zu Azure-VM-Skalierungsgruppen, um für eine schnellere und zuverlässigere Unterstützung der automatischen Skalierung zu sorgen.

Was ist Autoskalierung?

Die automatische Skalierung ist ein Dienst, mit dem Sie je nach Last Ihrer Anwendung automatisch Ressourcen hinzufügen und entfernen können.

Wenn Ihre Anwendung eine höhere Last erfährt, werden per Autoskalierung Ressourcen hinzugefügt, um diese zu bewältigen. Wenn die Last niedrig ist, reduziert die automatische Skalierung die Anzahl der Ressourcen und senkt so Ihre Kosten. Sie können Ihre Anwendung anhand von Metriken wie CPU-Auslastung, Warteschlangenlänge und verfügbarem Arbeitsspeicher skalieren. Sie können auch basierend auf einem Zeitplan skalieren. Metriken und Zeitpläne werden in Regeln eingerichtet. Die Regeln umfassen eine Mindestebene von Ressourcen, die Sie für die Ausführung Ihrer Anwendung benötigen, und eine maximale Ebene von Ressourcen, die nicht überschritten werden darf.

Sie können Ihre Anwendung beispielsweise aufskalieren, indem Sie VMs hinzufügen, sobald die durchschnittliche CPU-Auslastung pro VM über 70 % liegt. Skalieren Sie sie zurück, indem Sie virtuelle Computer entfernen, wenn die CPU-Auslastung auf 40 % sinkt.

Abbildung: Aufskalierung durch Hinzufügen von VM-Instanzen.

Wenn die Bedingungen in den Regeln erfüllt sind, werden eine oder mehrere Autoskalierungsaktionen ausgelöst, durch die VMs hinzugefügt oder entfernt werden. Darüber hinaus können Sie weitere Aktionen wie das Senden von E-Mails, Benachrichtigungen oder Webhooks durchführen, um Prozesse in anderen Systemen auszulösen.

Horizontale und vertikale Skalierung

Bei der automatischen Skalierung erfolgt eine Hoch- und Herunterskalierung oder horizontale Skalierung. Bei der horizontalen Skalierung wird die Anzahl der Ressourceninstanzen erhöht bzw. verringert. Für eine VM-Skalierungsgruppe bedeutet horizontale Skalierung beispielsweise, dass weitere VMs hinzugefügt werden. Horizontale Herunterskalierung bedeutet, VMs zu entfernen. Die horizontale Skalierung ist in einer Cloud-Umgebung flexibel, da Sie eine große Anzahl von virtuellen Computern ausführen können, um die Last zu bewältigen.

Die automatische Skalierung unterstützt keine vertikale Skalierung. Im Gegensatz dazu bleibt bei der Hoch- und Herunterskalierung oder vertikalen Skalierung die Anzahl der Ressourceninstanzen konstant, aber sie erhalten mehr Kapazität in Bezug auf Arbeitsspeicher, CPU-Geschwindigkeit, Speicherplatz auf dem Datenträger und Netzwerk. Die vertikale Skalierung ist durch die Verfügbarkeit leistungsstärkerer Hardware begrenzt, bis schließlich eine Obergrenze erreicht ist. Die Verfügbarkeit von Hardwareleistung variiert in Azure nach Region. Die vertikale Skalierung kann auch einen Neustart des virtuellen Computers während des Skalierungsprozesses erfordern.

Abbildung: Aufskalierung durch Hinzufügen von CPU und Arbeitsspeicher zu einer VM.

Wenn die Bedingungen in den Regeln erfüllt sind, werden eine oder mehrere Autoskalierungsaktionen ausgelöst, durch die VMs hinzugefügt oder entfernt werden. Darüber hinaus können Sie weitere Aktionen wie das Senden von E-Mails, Benachrichtigungen oder Webhooks durchführen, um Prozesse in anderen Systemen auszulösen.

Vorhersagbare Autoskalierung

Die vorhersagbare automatische Skalierung nutzt maschinelles Lernen, um VM-Skalierungsgruppen mit zyklischen Workload-Mustern zu verwalten und zu skalieren. Sie prognostiziert die CPU-Gesamtlast Ihrer VM-Skalierungsgruppe basierend auf bisherigen CPU-Auslastungsmustern. Die Skalierungsgruppe kann dann rechtzeitig aufskaliert werden, um die vorhergesagte Nachfrage zu erfüllen.

Einrichtung der Autoskalierung

Zum Einrichten der Autoskalierung haben Sie diese Optionen:

Ressourcenmetriken

Ressourcen generieren Metriken, die in Autoskalierungsregeln verwendet werden, um Ereignisse auszulösen. VM-Skalierungsgruppen nutzen Telemetriedaten von Azure-Diagnose-Agents, um Metriken zu generieren. Telemetriedaten für das Web-Apps-Feature von Azure App Service und Azure Cloud Services stammen direkt aus der Azure-Infrastruktur. Einige häufig verwendete Metriken sind CPU-Nutzung, Arbeitsspeicherauslastung, Threadanzahl, Warteschlangenlänge und Datenträgerverwendung. Eine Liste verfügbarer Metriken finden Sie unter Allgemeine Metriken für die automatische Skalierung.

Benutzerdefinierte Metriken

Nutzen Sie Ihre eigenen benutzerdefinierten Metriken, die Ihre Anwendung generiert. Konfigurieren Sie Ihre Anwendung so, dass sie Metriken an Application Insights sendet, damit Sie anhand dieser Metriken entscheiden können, wann Sie skalieren müssen.

Time

Legen Sie zeitplanbasierte Regeln fest, um Skalierungsereignisse auszulösen. Verwenden Sie zeitplanbasierte Regeln, wenn Sie Zeitmuster in Ihrer Datenlast erkennen und skalieren möchten, ehe eine erwartete Änderung der Datenlast eintritt.

Regeln

Regeln bestimmen die für das Auslösen eines Skalierungsereignisses erforderlichen Bedingungen sowie Richtung und Umfang der Skalierung. Kombinieren Sie mehrere Regeln mithilfe verschiedener Metriken, z. B. CPU-Auslastung und Warteschlangenlänge. Definieren Sie bis zu 10 Regeln pro Profil.

Es gibt folgende Regeltypen:

  • Metrikbasiert: Werden auf der Grundlage eines Metrikwerts ausgelöst, z. B. wenn die CPU-Auslastung über 50 % liegt.
  • Zeitbasiert: Werden auf der Grundlage eines Zeitplans ausgelöst, z. B. jeden Samstag um 8 Uhr.

Die automatische Skalierung führt eine Hochskalierung durch, wenn eine der Regeln erfüllt ist. Die automatische Skalierung führt eine Herunterskalierung durch, wenn alle Regeln erfüllt sind. Bei den logischen Operatoren wird der ODER-Operator verwendet, wenn Sie die Hochskalierung mit mehreren Regeln durchführen. Der UND-Operator wird beim Herunterskalieren mit mehreren Regeln verwendet.

Aktionen und Automation

Mit Regeln können eine oder mehrere Aktionen ausgelöst werden. Dazu gehören die folgenden Aktionen:

  • Skalieren: dient zum Herunter- und Hochskalieren von Ressourcen.
  • E-Mail: dient zum Senden einer E-Mail an Abonnementadministratoren, Co-Admins bzw. weitere angegebene E-Mail-Adressen.
  • Webhooks: dienen zum Aufrufen von Webhooks, mit denen mehrere komplexe Aktionen innerhalb oder außerhalb von Azure ausgelöst werden. In Azure können Sie Folgendes ausführen:

Einstellungen für automatische Skalierung

Zu den Autoskalierungseinstellungen gehören Skalierungsbedingungen, die Regeln, Grenzwerte, Zeitpläne und Benachrichtigungen definieren. Definieren Sie in den Einstellungen eine oder mehrere Skalierungsbedingungen, und richten Sie eine Benachrichtigung ein.

Für die Autoskalierung werden die folgende Terminologie und Struktur verwendet.

Benutzeroberfläche JSON/CLI BESCHREIBUNG
Skalierungsbedingungen profiles Eine Sammlung von Regeln, Instanzgrenzwerten und Zeitplänen, die auf einer Metrik oder Zeit basieren. Sie können eine oder mehrere Skalierungsbedingungen oder Profile definieren. Definieren Sie bis zu 20 Profile pro Einstellung für die automatische Skalierung.
Regeln rules Eine Reihe von zeit- oder metrikbasierten Bedingungen, die eine Skalierungsaktion auslösen. Sie können mindestens eine Regel für Auf- und Abskalierungsaktionen definieren. Definieren Sie bis zu 10 Regeln pro Profil.
Instanzgrenzwerte Kapazität Jede Skalierungsbedingung bzw. jedes Profil definiert die Standard-, Maximal- und Mindestanzahl von Instanzen, die unter diesem Profil ausgeführt werden können.
Zeitplan recurrence Gibt an, wann die Autoskalierung diese Skalierungsbedingung oder dieses Profil anwendet. Sie können über mehrere Skalierungsbedingungen verfügen, mit denen Sie unterschiedliche und sich überlappende Anforderungen handhaben können. Sie können beispielsweise unterschiedliche Skalierungsbedingungen für verschiedene Tageszeiten oder Wochentage festlegen.
Benachrichtigen Benachrichtigung Legt die Benachrichtigungen fest, die gesendet werden sollen, wenn ein Autoskalierungsereignis auftritt. Bei der automatischen Skalierung können Benachrichtigungen an eine oder mehrere E-Mail-Adressen gesendet oder ein oder mehrere Webhooks aufgerufen werden. Sie können im JSON-Code mehrere Webhooks konfigurieren, jedoch auf der Benutzeroberfläche nur einen.

Diagramm, das die Einstellung für die automatische Skalierung in Azure, das Profil und die Regelstruktur anzeigt.

Die vollständige Liste mit den konfigurierbaren Feldern und Beschreibungen finden Sie unter den Informationen zur REST-API für die automatische Skalierung.

Codebeispiele finden Sie unter:

Unterstützte Dienste für die automatische Skalierung

Die automatische Skalierung unterstützt die folgenden Dienste.

Dienst Schema und Dokumentation
Azure-VM-Skalierungsgruppen Übersicht über die Autoskalierung mit Azure-VM-Skalierungsgruppen
Web-Apps-Funktion von Azure App Service Skalieren von Web-Apps
Azure API Management-Dienst Automatisches Skalieren einer Azure API Management-Instanz
Azure Data Explorer-Cluster Verwalten der Skalierung von Azure Data Explorer-Clustern bei sich änderndem Bedarf
Azure Stream Analytics Automatische Skalierung von Streaming-Einheiten (Vorschau)
Azure SignalR Service (Premium-Tarif) Automatisches Skalieren der Einheiten einer Azure SignalR Service-Instanz
Azure Machine Learning-Arbeitsbereich Automatisches Skalieren eines Onlineendpunkts
Azure Spring Apps Einrichten von Autoskalierung für Anwendungen
Azure Media Services Automatische Skalierung in Media Services
Azure-Servicebus Automatisches Aktualisieren von Messagingeinheiten eines Azure Service Bus-Namespace

Nächste Schritte

Weitere Informationen zur Autoskalierung finden Sie in den folgenden Artikeln: