Übersicht über die Automatische Skalierung in Azure Monitor

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 "AutoScale supported resources".

Hinweis

Verfügbarkeitsgruppen sind ein älteres Skalierungsfeature für virtuelle Computer mit eingeschränkter Unterstützung. Es wird empfohlen, zu Azure Virtual Machine Scale Sets zu migrieren, um eine schnellere und zuverlässigere Unterstützung für die automatische Skalierung zu ermöglichen.

Was ist Autoskalierung?

AutoScale ist ein Dienst, der Ressourcen automatisch gemäß der Last ihrer Anwendung hinzufügt und entfernt.

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. Skalieren Sie Ihre Anwendung basierend auf Metriken wie CPU-Auslastung, Warteschlangenlänge und verfügbarem Arbeitsspeicher oder basierend auf einem Zeitplan. Richten Sie Metriken und Zeitpläne in Regeln ein. 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.

Ein Diagramm, das das Skalieren durch Hinzufügen von Instanzen virtueller Computer zeigt.

Wenn die Bedingungen in den Regeln erfüllt sind, werden eine oder mehrere Autoskalierungsaktionen ausgelöst, durch die VMs hinzugefügt oder entfernt werden. AutoScale kann auch andere Aktionen wie das Senden von E-Mails, Benachrichtigungen oder Webhooks ausfü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 Cloudsituation flexibel, da sie eine große Anzahl von virtuellen Computern ausführen kann, um das Laden zu verarbeiten.

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.

Ein Diagramm, das die Skalierung durch Hinzufügen von CPU und Arbeitsspeicher zu einem virtuellen Computer zeigt.

Vorhersagbare Autoskalierung

Predictive AutoScale verwendet maschinelles Lernen, um Virtual Machine Scale Sets mit zyklischen Arbeitsauslastungsmustern zu verwalten und zu skalieren. Sie prognostiziert die gesamte CPU-Auslastung ihres Skalierungssatzes für virtuelle Computer basierend auf historischen CPU-Auslastungsmustern. Der Skalierungssatz kann dann rechtzeitig skaliert werden, um die prognostizierte Nachfrage zu erfüllen.

Einrichtung der Autoskalierung

Einrichten der automatischen Skalierung über:

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 der verfügbaren Metriken finden Sie unter Autoscale Common Metrics.

Benutzerdefinierte Metriken

Nutzen Sie Ihre eigenen benutzerdefinierten Metriken, die Ihre Anwendung generiert. Konfigurieren Sie Ihre Anwendung so, dass Metriken an Application Insights gesendet werden, und verwenden Sie diese Metriken, um zu entscheiden, wann sie skaliert werden sollen.

Zeitplanbasierte Skalierung

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: Trigger basierend auf einem Metrikwert, z. B. wenn die CPU-Auslastung über 50%liegt.
  • Zeitbasiert: Trigger basierend auf einem Zeitplan, 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 wird nur durchgeführt, 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: Ressourcen hoch- oder herunterskalieren.
  • E-Mail: Senden Sie eine E-Mail an die Abonnementadministratoren, Co-Administratoren und/oder eine andere E-Mail-Adresse.
  • Webhooks: Rufen Sie Webhooks auf, um mehrere komplexe Aktionen innerhalb oder außerhalb von Azure auszulösen. In Azure:

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.

UI JSON/CLI BESCHREIBUNG
Skalierungsbedingungen Profile Eine Sammlung von Regeln, Instanzgrenzwerten und Zeitplänen, die auf einer Metrik oder Zeit basieren. Definieren Sie eine oder mehrere Skalierungsbedingungen oder Profile, bis zu 20 Profile pro Einstellung für die automatische Skalierung.
Regeln Regeln Eine Reihe von zeit- oder metrikbasierten Bedingungen, die eine Skalierungsaktion auslösen. Definieren Sie eine oder mehrere Regeln für Skalierungs- und Skalierungsaktionen 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 Wiederholung Gibt an, wann die Autoskalierung diese Skalierungsbedingung oder dieses Profil anwendet. Mehrere Skalierungsbedingungen behandeln unterschiedliche und überlappende Anforderungen. Definieren Sie beispielsweise unterschiedliche Skalierungsbedingungen für unterschiedliche Tages- oder Wochentage.
Notify notification 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. Konfigurieren Sie mehrere Webhooks im JSON-Code, aber nur einen in der Benutzeroberfläche.

Diagramm, das die Azure Autoscale-Einstellungen, Profile und Regelstruktur zeigt.

Die vollständige Liste der konfigurierbaren Felder und Beschreibungen ist in der REST-API der Autoscale verfügbar.

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 Virtual Machine Scale Sets (Azure-VM-Skalierungssätze) Übersicht über die automatische Skalierung mit Azure Virtual Machine Scale Sets
Web-Apps-Funktion von Azure App Service Skalieren von Web-Apps
Azure API Management-Dienst Automatisches Skalieren einer Azure API-Verwaltungsinstanz
Azure Data Explorer-Cluster Verwalten der Skalierung von Azure Data Explorer-Clustern, um sich ändernde Anforderungen zu berücksichtigen
Azure Stream Analytics Automatische Skalierung von Streamingeinheiten (Vorschau)
Azure SignalR Service (Premium-Tarif) Automatische Skalierung von Einheiten eines Azure SignalR-Diensts
Azure Machine Learning-Arbeitsbereich Automatische Skalierung eines Onlineendpunkts
Azure Spring Apps Einrichten der automatischen Skalierung für Anwendungen
Azure-Servicebus Automatisches Aktualisieren von Messagingeinheiten eines Azure Service Bus-Namespace

Nächste Schritte

Weitere Informationen zur Autoskalierung finden Sie in den folgenden Artikeln: