Übersicht über die automatische Skalierung mit Azure-VM-Skalierungsgruppen
Eine Azure-VM-Skalierungsgruppe kann die Anzahl von VM-Instanzen erhöhen oder verringern, auf denen Ihre Anwendung ausgeführt wird. Die Anzahl der Instanzen kann auf verschiedene Arten aktualisiert werden:
- Manuelles Erhöhen oder Verringern der Kapazität der Skalierungsgruppe
- Basierend auf einem festgelegten Zeitplan
- Gemäß Regeln basierend auf Schwellenwerten für Metriken
- Automatisch basierend auf Verbrauchsmustern, die von prädiktiver künstlicher Intelligenz ermittelt wurden
Mit diesem automatisierten und elastischen Verhalten wird der Verwaltungsaufwand reduziert, der für das Überwachen und Optimieren der Leistung Ihrer Anwendung anfällt. Dieser Artikel enthält eine Übersicht darüber, welche Leistungsmetriken verfügbar sind und welche Aktionen von der automatischen Skalierung durchgeführt werden können.
Hinweis
Die Verwendung der automatischen Skalierung erfordert, dass die Skalierungsgruppe mit einem VM-Skalierungsprofil definiert wird, das die Konfiguration der hinzuzufügenden Instanzen definiert. Weitere Informationen zum VM-Skalierungsprofil.
Manuelles Skalieren
Sie können die Anzahl der Instanzen in der VM-Skalierungsgruppe manuell erhöhen oder verringern, indem Sie die sku.capacity
-Eigenschaft aktualisieren.
Azure-Portal
- Navigieren Sie zu einer vorhandenen VM-Skalierungsgruppe.
- Wählen Sie unter Einstellungen die Registerkarte Skalierung aus.
- Wählen Sie Manuelle Skalierung aus, wenn dies noch nicht ausgewählt ist.
- Aktualisieren Sie die Anzahl der Instanzen.
- Drücken Sie die Schaltfläche Speichern.
Azure CLI
az vmss scale \
--new-capacity 5 \
--name <scale set name> \
--resource-group <resource group name>
Azure PowerShell
Update-AzVmss `
-SkuCapacity 5 `
-ResourceGroupName <resource group name> `
-VMScaleSetName <scale set name> `
Vorteile der automatischen Skalierung
Wenn sich die Nachfrage für Ihre Anwendung erhöht, erhöht sich auch die Last für die VM-Instanzen in Ihrer Skalierungsgruppe. Falls es sich um eine dauerhafte erhöhte Last und nicht nur um eine kurzzeitige höhere Nachfrage handelt, können Sie Regeln für die automatische Skalierung konfigurieren, um die Anzahl von VM-Instanzen in der Skalierungsgruppe zu erhöhen und zu verringern.
Hinweis
Wenn Sie automatische Instanzreparaturen für Ihre Skalierungsgruppe verwenden, kann die maximale Anzahl von Instanzen in der Skalierungsgruppe 1.000 sein. Weitere Informationen zu automatischem Instanzreparaturen.
Nachdem diese VM-Instanzen erstellt und Ihre Anwendungen bereitgestellt wurden, beginnt die Skalierungsgruppe damit, über das Lastenausgleichsmodul Datenverkehr darauf zu verteilen. Sie steuern, welche Metriken überwacht werden, z.B. CPU oder Arbeitsspeicher, wie lange die Anwendungslast einen bestimmten Schwellenwert einhalten muss und wie viele VM-Instanzen der Skalierungsgruppe hinzugefügt werden sollen.
Es kann sein, dass die Nachfrage nach Ihrer Anwendung abends oder am Wochenende abnimmt. Wenn diese Verringerung der Last für einen bestimmten Zeitraum anhält, können Sie Regeln zur automatischen Skalierung konfigurieren, um die Anzahl von VM-Instanzen in der Skalierungsgruppe zu reduzieren. Mit dieser Aktion zum horizontalen Herunterskalieren werden die Kosten für die Ausführung Ihrer Skalierungsgruppe gesenkt, da Sie nur so viele Instanzen ausführen, wie für die Erfüllung der derzeitigen Nachfrage erforderlich sind.
Verwenden von hostbasierten Metriken
Sie können Regeln für die automatische Skalierung erstellen, in die Hostmetriken Ihrer VM-Instanzen integriert sind. Anhand von Hostmetriken können Sie die Leistung der VM-Instanzen einer Skalierungsgruppe verfolgen, ohne dass Sie zusätzliche Agents und Datensammlungen installieren oder konfigurieren müssen. Regeln für die automatische Skalierung, für die diese Metriken verwendet werden, können als Reaktion auf Änderungen der CPU-Auslastung, des Arbeitsspeicherbedarfs oder der Datenträgerzugriffe das horizontale Hochskalieren durchführen oder die Anzahl von VM-Instanzen erhöhen.
Regeln zur automatischen Skalierung mit hostbasierten Metriken können mit einem der folgenden Tools erstellt werden:
Zum Erstellen von Regeln für die automatische Skalierung, für die ausführlichere Leistungsmetriken verwendet werden, können Sie die Azure-Diagnoseerweiterung für VM-Instanzen installieren und konfigurieren oder Ihre Anwendung für die Verwendung von App Insights konfigurieren.
Für Regeln für die automatische Skalierung, bei denen hostbasierte Metriken, VM-Metriken auf Gastsystemen mit der Azure-Diagnoseerweiterung und App Insights verwendet werden, können die folgenden Konfigurationseinstellungen genutzt werden:
Metrikquellen
Für Regeln für die automatische Skalierung können Metriken aus einer der folgenden Quellen verwendet werden:
Metrikquelle | Anwendungsfall |
---|---|
Aktuelle Skalierungsgruppe | Für hostbasierte Metriken, für die keine zusätzlichen Agents installiert oder konfiguriert werden müssen. |
Speicherkonto | Die Azure-Diagnoseerweiterung schreibt Leistungsmetriken in Azure-Speicher, der dann genutzt wird, um Regeln für die automatische Skalierung auszulösen. |
Service Bus-Warteschlange | Ihre Anwendung oder andere Komponenten können Nachrichten in einer Azure Service Bus-Warteschlange übertragen, um Regeln auszulösen. |
Application Insights | Ein Instrumentierungspaket, das in Ihrer Anwendung installiert ist und mit dem Metriken direkt aus der App gestreamt werden. |
Kriterien für Regeln für die automatische Skalierung
Die folgenden hostbasierten Metriken sind für die Nutzung verfügbar, wenn Sie Regeln für die automatische Skalierung erstellen. Wenn Sie die Azure-Diagnoseerweiterung oder App Insights verwenden, definieren Sie, welche Metriken mit Regeln für die automatische Skalierung überwacht und verwendet werden sollen.
Metrikname |
---|
CPU in Prozent |
Netzwerk eingehend |
Netzwerk ausgehend |
Datenträgerlesevorgänge in Bytes |
Datenträgerschreibvorgänge in Bytes |
Datenträgerlesevorgänge/Sek. |
Datenträgerschreibvorgänge/Sek. |
Verbleibende CPU-Guthaben |
Verbrauchte CPU-Guthaben |
Wenn Sie Regeln für die automatische Skalierung zum Überwachen einer bestimmten Metrik erstellen, stehen für die Regeln die folgenden Aktionen für die Metrikaggregation zur Verfügung:
Aggregationstyp |
---|
Average |
Minimum |
Maximum |
Gesamt |
Letzter |
Anzahl |
Die Regeln für die automatische Skalierung werden dann ausgelöst, wenn die Metriken mit einem der folgenden Operatoren mit Ihrem definierten Schwellenwert verglichen werden:
Operator |
---|
Größer als |
Größer als oder gleich |
Kleiner als |
Kleiner als oder gleich |
Gleich |
Ungleich |
Aktionen bei Auslösung von Regeln
Wenn eine Regel für die automatische Skalierung ausgelöst wird, kann Ihre Skalierungsgruppe auf eine der folgenden Arten automatisch skaliert werden:
Skalierungsvorgang | Anwendungsfall |
---|---|
Anzahl erhöhen um | Es wird eine feste Anzahl von VM-Instanzen erstellt. Nützlich für Skalierungsgruppen mit einer kleineren Anzahl von VMs. |
Prozentsatz erhöhen um | Eine prozentuale Erhöhung der VM-Instanzen. Ist gut für größere Skalierungsgruppen geeignet, bei denen eine Erhöhung um eine festgelegte Anzahl nicht zu einer merklichen Verbesserung der Leistung führt. |
Anzahl erhöhen auf | Es werden so viele VM-Instanzen erstellt, wie benötigt werden, um einen gewünschten Maximalwert zu erreichen. |
Anzahl verringern um | Es wird eine feste Anzahl von VM-Instanzen entfernt. Nützlich für Skalierungsgruppen mit einer kleineren Anzahl von VMs. |
Prozentsatz verringern um | Eine prozentuale Verringerung der VM-Instanzen. Ist gut für größere Skalierungsgruppen geeignet, bei denen eine Verringerung um eine festgelegte Anzahl nicht zu einer merklichen Verringerung des Ressourcenverbrauchs und der Kosten führt. |
Anzahl verringern auf | Es werden so viele VM-Instanzen entfernt, wie benötigt werden, um einen gewünschten Minimalwert zu erreichen. |
VM-Metriken auf Gastsystemen mit der Azure-Diagnoseerweiterung
Die Azure-Diagnoseerweiterung ist ein Agent, der auf einer VM-Instanz ausgeführt wird. Der Agent überwacht und speichert Leistungsmetriken in Azure-Speicher. Diese Leistungsmetriken enthalten ausführlichere Informationen zum Status der VM, z.B. AverageReadTime für Datenträger oder PercentIdleTime für die CPU. Sie können Regeln für die automatische Skalierung basierend auf ausführlicheren Informationen zur VM-Leistung erstellen, und nicht nur anhand des Prozentsatzes der CPU-Auslastung oder der Arbeitsspeichernutzung.
Zum Verwenden der Azure-Diagnoseerweiterung müssen Sie Azure-Speicherkonten für Ihre VM-Instanzen erstellen, den Azure-Diagnose-Agent installieren und die VMs dann so konfigurieren, dass bestimmte Leistungsindikatoren an das Speicherkonto gestreamt werden.
Weitere Informationen finden Sie in den Artikeln zum Aktivieren der Azure-Diagnoseerweiterung auf einem virtuellen Linux-Computer oder auf einem virtuellen Windows-Computer.
Metriken auf Anwendungsebene mit App Insights
Sie können Application Insights nutzen, um mehr Erkenntnisse zur Leistung Ihrer Anwendung zu erhalten. Sie installieren ein kleines Instrumentierungspaket in Ihrer Anwendung, mit dem die App überwacht wird und Telemetriedaten an Azure gesendet werden. Sie können Metriken wie die Reaktionszeiten Ihrer Anwendung, die Ladeleistung für Seiten und die Sitzungsanzahl überwachen. Diese Anwendungsmetriken können zum Erstellen von präzisen und eingebetteten Regeln für die automatische Skalierung verwendet werden, wenn Sie Regeln basierend auf verwertbaren Erkenntnissen auslösen, die sich auf die Kundenerfahrung auswirken können.
Weitere Informationen zu Application Insights finden Sie unter Was ist Application Insights?.
Geplante automatische Skalierung
Sie können Regeln für die automatische Skalierung auch anhand von Zeitplänen erstellen. Mit diesen auf Zeitplänen basierenden Regeln können Sie die Anzahl von VM-Instanzen zu festen Zeiten automatisch skalieren. Bei leistungsbasierten Regeln kann es zu Auswirkungen auf die Leistung der Anwendung kommen, bevor die Regeln für die automatische Skalierung ausgelöst und die neuen VM-Instanzen bereitgestellt werden. Wenn Sie diese Nachfrage voraussehen können, werden die zusätzlichen VM-Instanzen entsprechend bereitgestellt und sind dann für die Nutzung durch Kunden und die Deckung des Anwendungsbedarfs vorhanden.
Die folgenden Beispiele enthalten Szenarien, für die die Nutzung von Regeln für die automatische Skalierung nach Zeitplan Vorteile haben kann:
- Automatisches horizontales Hochskalieren der Anzahl von VM-Instanzen zu Beginn des Arbeitstags, wenn die Nachfrage der Kunden ansteigt. Am Ende des Arbeitstags wird die Anzahl von VM-Instanzen automatisch horizontal herunterskaliert, um die Ressourcenkosten für die Nacht zu reduzieren, wenn die Nachfrage nach der Anwendung nur gering ist.
- Wenn eine Abteilung eine Anwendung an bestimmten Tagen des Monats oder des Geschäftszyklus stark nachfragt, wird die Anzahl von VM-Instanzen automatisch skaliert, um den zusätzlichen Bedarf zu decken.
- Wenn ein Marketingereignis, eine Werbeaktion oder ein Sale ansteht, können Sie die Anzahl von VM-Instanzen vor der voraussichtlich starken Kundennachfrage automatisch skalieren.
Begrenzungen
- Sie können bis zu 20 Autoskalierungsregeln für einen bestimmten Maßstabssatz haben.
Nächste Schritte
Sie können Regeln für die automatische Skalierung mit hostbasierten Metriken mit einem der folgenden Tools erstellen:
Informationen zur Verwaltung Ihrer VM-Instanzen finden Sie unter Verwalten einer VM-Skalierungsgruppe mit Azure PowerShell.
Informationen zum Generieren von Warnungen bei der Auslösung von Regeln für die automatische Skalierung finden Sie unter Verwenden von automatischen Skalierungsvorgängen zum Senden von E-Mail- und Webhook-Warnbenachrichtigungen in Azure Monitor. Informieren Sie sich auch über das Aufrufen eines Webhooks für Azure-Aktivitätsprotokollwarnungen.