Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
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?
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.
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.
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
Predictive AutoScale verwendet maschinelles Lernen, um virtuelle Maschinenskalierungsgruppen mit zyklischen Arbeitslastmustern 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:
- Azure-Portal
- PowerShell
- Plattformübergreifende Befehlszeilenschnittstelle (CLI)
- Azure Monitor-REST-API
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, damit Sie diese Metriken verwenden können, um zu entscheiden, wann sie skaliert werden sollen.
Uhrzeit
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 können Sie Folgendes ausführen:
- Starten Sie ein Azure Automation-Runbook.
- Rufen Sie eine Azure-Funktion auf.
- Auslösen einer Azure-Logik-App.
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 | Profile | 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 | Regeln | 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 | Wiederholung | 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. |
Die vollständige Liste der konfigurierbaren Felder und Beschreibungen ist in der REST-API der Autoscale verfügbar.
Codebeispiele finden Sie unter:
- Anleitung: Automatisches Skalieren einer VM-Skalierungsgruppe mit der Azure CLI
- Lernprogramm: Automatisches Skalieren eines Skalierungssatzes für virtuelle Computer mit PowerShell
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 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 Media Services | Automatische Skalierung in Mediendiensten |
Azure-Servicebus | Automatisches Aktualisieren von Messagingeinheiten eines Azure Service Bus-Namespace |
Nächste Schritte
Weitere Informationen zur Autoskalierung finden Sie in den folgenden Artikeln:
- Allgemeine Metriken der automatischen Skalierung von Azure Monitor
- Verwenden Sie AutoScale-Aktionen, um E-Mail- und Webhook-Benachrichtigungen zu senden
- Anleitung: Automatisches Skalieren einer VM-Skalierungsgruppe mit der Azure CLI
- Tutorial: Automatisches Skalieren einer VM-Skalierungsgruppe mit Azure PowerShell
- Referenz zur Befehlszeilenschnittstelle für die Autoskalierung
- ARM-Vorlagenressourcendefinition
- PowerShell-Referenz zu Az.Monitor
- REST-API-Referenz: Autoskaleneinstellungen