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?
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.
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.
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:
- 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.
| 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. |
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 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:
- 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