Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Erstellen Sie eine Richtlinie für vorausschauende Skalierung für eine Auto Scaling Scaling-Gruppe
Die folgenden Verfahren helfen Ihnen bei der Erstellung einer Richtlinie für vorausschauende Skalierung mithilfe von oder. AWS Management Console AWS CLI
Wenn die Auto Scaling-Gruppe neu ist, muss sie Daten für mindestens 24 Stunden bereitstellen, bevor Amazon EC2 Auto Scaling eine Prognose für sie erstellen kann.
Inhalt
Erstellen einer Richtlinie für die prädiktive Skalierung (Konsole)
Wenn Sie zum ersten Mal eine Richtlinie für vorausschauende Skalierung erstellen, empfehlen wir, die Konsole zu verwenden, um mehrere Richtlinien für die prädiktive Skalierung im Modus „Nur Prognose“ zu erstellen. Auf diese Weise können Sie die potenziellen Auswirkungen verschiedener Metriken und Zielwerte testen. Sie können mehrere Richtlinien für die prädiktive Skalierung für jede Auto-Scaling-Gruppe erstellen, aber nur eine der Richtlinien kann für die aktive Skalierung verwendet werden.
Gehen Sie wie folgt vor, um eine prädiktive Skalierungsrichtlinie mithilfe vordefinierter Metriken (CPUNetzwerk-I/O oder Anzahl der Application Load Balancer Balancer-Anforderungen pro Ziel) zu erstellen. Der einfachste Weg, eine Richtlinie für die prädiktive Skalierung zu erstellen, besteht darin, vordefinierte Metriken zu verwenden. Wenn Sie stattdessen benutzerdefinierte Metriken verwenden möchten, siehe Erstellen einer Richtlinie für die prädiktive Skalierung in der Konsole (benutzerdefinierte Metriken).
So erstellen Sie eine Richtlinie für die prädiktive Skalierung
Öffnen Sie die EC2 Amazon-Konsole unter https://console.aws.amazon.com/ec2/
und wählen Sie im Navigationsbereich Auto Scaling Groups aus. -
Aktivieren Sie das Kontrollkästchen neben Ihrer Auto-Scaling-Gruppe.
Im unteren Teil der Seite wird ein geteilter Bereich geöffnet.
-
Wählen Sie auf der Registerkarte Automatic scaling (Automatische Skalierung) unter Scaling policies (Skalierungsrichtlinien) die Option Create predictive scaling policy (Richtlinie für die prädiktive Skalierung erstellen) aus.
-
Geben Sie einen Namen für die Richtlinie ein.
-
Aktivieren Sie Skalieren auf Basis von Prognosen, um Amazon EC2 Auto Scaling die Erlaubnis zu erteilen, sofort mit der Skalierung zu beginnen.
Um die Richtlinie im Modus Nur Prognose zu belassen, bleibt Skalierung basierend auf Prognose deaktiviert.
-
Für Metriken wählen Sie Ihre Metriken aus der Liste der Optionen aus. Zu den Optionen gehören Netzwerkeingang CPU, Netzwerkausgang, Anzahl der Application Load Balancer Balancer-Anforderungen und benutzerdefiniertes Metrikpaar.
Wenn Sie Anzahl der Application Load Balancer pro Ziel auswählen, wählen Sie anschließend in Zielgruppe eine Zielgruppe aus. Anzahl der Application Load Balancer pro Ziel wird nur unterstützt, wenn Sie eine Application Load Balancer-Zielgruppe an Ihre Auto-Scaling-Gruppe angehängt haben.
Wenn Sie Benutzerdefiniertes Metrikpaar auswählen, wählen Sie dann aus individuelle Metriken aus den Dropdown-Listen für Lastmetrik und Skalierungsmetrik aus.
-
Geben Sie für Zielauslastung den Zielwert ein, den Amazon EC2 Auto Scaling beibehalten soll. Amazon EC2 Auto Scaling skaliert Ihre Kapazität, bis die durchschnittliche Auslastung der Zielauslastung entspricht oder bis die von Ihnen angegebene maximale Anzahl von Instances erreicht ist.
Wenn Ihre Skalierungsmetrik ... Dann ist die Zielauslastung ... CPU Der ProzentsatzCPU, den jede Instance idealerweise nutzen sollte.
Netzwerkeingang Die durchschnittliche Anzahl von Bytes pro Minute, die jede Instance idealerweise empfangen sollte.
Netzwerkausgang Die durchschnittliche Anzahl von Bytes pro Minute, die jede Instance idealerweise senden sollte.
Anzahl der Application Load Balancer pro Ziel Die durchschnittliche Anzahl von Anfragen pro Minute, die jede Instance idealerweise empfangen sollte.
-
(Optional) Für Vorabstarten von Instances wählen Sie aus, wie weit im Voraus Ihre Instances gestartet werden sollen, bevor die Prognose die Last erhöht.
-
(Optional) Wählen Sie für das Verhalten bei maximaler Kapazität aus, ob Amazon EC2 Auto Scaling höher skalieren soll als die maximale Kapazität der Gruppe, wenn die prognostizierte Kapazität das definierte Maximum überschreitet. Wenn Sie diese Einstellung aktivieren, kann die Skalierung in Zeiten erfolgen, in denen der höchste Datenverkehr vorausgesagt wird.
-
(Optional) Für Maximale Pufferkapazität oberhalb der prognostizierten Kapazität wählen Sie die zusätzliche Kapazität aus, die Sie verwenden möchten, wenn die prognostizierte Kapazität bei der maximalen Kapazität liegt oder diese überschreitet. Der Wert wird als Prozentsatz relativ zur prognostizierten Kapazität angegeben. Beispiel: Wenn der Puffer 10 ist, bedeutet dies, dass ein Puffer von 10 Prozent vorhanden ist. Wenn daher die prognostizierte Kapazität 50 ist und die maximale Kapazität 40 ist, dann ist die effektive maximale Kapazität 55.
Wenn der Wert auf 0 gesetzt ist, kann Amazon EC2 Auto Scaling die Kapazität über die maximale Kapazität hinaus skalieren, um die prognostizierte Kapazität zu erreichen, aber nicht zu überschreiten.
-
Klicken Sie auf Erstellen einer Richtlinie für die prädiktive Skalierung.
Führen Sie das folgende Verfahren aus, um eine Richtlinie für die prädiktive Skalierung unter Verwendung benutzerdefiniertem Metriken zu erstellen. Benutzerdefinierte Metriken können andere Metriken enthalten, die von Ihnen bereitgestellt werden, CloudWatch oder Metriken, in denen Sie veröffentlichen CloudWatch. Informationen zur Verwendung CPU der Anzahl von Netzwerk-I/O- oder Application Load Balancer Balancer-Anforderungen pro Ziel finden Sie unterErstellen einer Richtlinie für die prädiktive Skalierung (vordefinierte Metriken).
Zur Erstellung einer Richtlinie für die prädiktive Skalierung unter Verwendung benutzerdefiniertem Metriken:
-
Sie müssen die Rohabfragen angeben, die es Amazon EC2 Auto Scaling ermöglichen, mit den Metriken in zu interagieren CloudWatch. Weitere Informationen finden Sie unter Erweiterte prädiktive Skalierungsrichtlinie mit benutzerdefinierten Metriken. Um sicherzugehen, dass Amazon EC2 Auto Scaling die Metrikdaten aus extrahieren kann CloudWatch, stellen Sie sicher, dass jede Abfrage Datenpunkte zurückgibt. Bestätigen Sie dies mithilfe der CloudWatch Konsole oder mithilfe des CloudWatch GetMetricDataAPIVorgangs.
Anmerkung
Wir stellen JSON Beispiel-Payloads im JSON Editor der Amazon EC2 Auto Scaling Scaling-Konsole bereit. Diese Beispiele geben Ihnen eine Referenz für die Schlüssel-Wert-Paare, die erforderlich sind, um andere CloudWatch Metriken hinzuzufügen, die von bereitgestellt wurden AWS oder für die Sie zuvor veröffentlicht haben. CloudWatch Sie können sie als Ausgangspunkt verwenden und sie dann an Ihre Bedürfnisse anpassen.
-
Wenn Sie eine metrische Mathematik verwenden, müssen Sie diese manuell erstellen, JSON um sie an Ihr individuelles Szenario anzupassen. Weitere Informationen finden Sie unter Metrikberechnungs-Ausdrücke verwenden. Bevor Sie metrische Berechnungen in Ihrer Richtlinie verwenden, stellen Sie sicher, dass Metrikabfragen, die auf metrischen mathematischen Ausdrücken basieren, gültig sind, und geben Sie eine einzelne Zeitreihe zurück. Bestätigen Sie dies mithilfe der CloudWatch Konsole oder mithilfe der CloudWatch GetMetricDataAPIOperation.
Wenn Sie in einer Abfrage einen Fehler machen, indem Sie falsche Daten angeben, z. B. den falschen Auto-Scaling-Gruppennamen, enthält die Prognose keine Daten. Informationen zur Behebung von Problemen mit benutzerdefinierten Metriken finden Sie unter Überlegungen zu benutzerdefinierten Metriken in einer Richtlinie zur prädiktiven Skalierung.
So erstellen Sie eine Richtlinie für die prädiktive Skalierung
Öffnen Sie die EC2 Amazon-Konsole unter https://console.aws.amazon.com/ec2/
und wählen Sie im Navigationsbereich Auto Scaling Groups aus. -
Aktivieren Sie das Kontrollkästchen neben Ihrer Auto-Scaling-Gruppe.
Im unteren Teil der Seite wird ein geteilter Bereich geöffnet.
-
Wählen Sie auf der Registerkarte Automatic scaling (Automatische Skalierung) unter Scaling policies (Skalierungsrichtlinien) die Option Create predictive scaling policy (Richtlinie für die prädiktive Skalierung erstellen) aus.
-
Geben Sie einen Namen für die Richtlinie ein.
-
Aktivieren Sie Skalieren auf Basis von Prognosen, um Amazon EC2 Auto Scaling die Erlaubnis zu erteilen, sofort mit der Skalierung zu beginnen.
Um die Richtlinie im Modus Nur Prognose zu belassen, bleibt Skalierung basierend auf Prognose deaktiviert.
-
Wählen Sie für Metriken die Option Benutzerdefiniertes Metrikpaar aus.
-
Wählen Sie für Metrik laden die Option Benutzerdefinierte CloudWatch Metrik aus, um eine benutzerdefinierte Metrik zu verwenden. Erstellen Sie die JSON Payload, die die Lastmetrik-Definition für die Richtlinie enthält, und fügen Sie sie in das JSON Editor-Feld ein, wodurch die bereits vorhandenen Werte ersetzt werden.
-
Wählen Sie unter Skalierungsmetrik die Option Benutzerdefinierte CloudWatch Metrik aus, um eine benutzerdefinierte Metrik zu verwenden. Konstruieren Sie die JSON Payload, die die Definition der Skalierungsmetrik für die Richtlinie enthält, und fügen Sie sie in das JSON Editorfeld ein, wodurch die bereits vorhandenen Werte ersetzt werden.
-
(Optional) Um eine benutzerdefinierte Kapazitätsmetrik hinzuzufügen, aktivieren Sie das Kontrollkästchen Benutzerdefinierte Kapazitätsmetrik hinzufügen. Konstruieren Sie die JSON Payload, die die Definition der Kapazitätsmetrik für die Richtlinie enthält, und fügen Sie sie in das JSON Editor-Feld ein, wodurch das ersetzt wird, was sich bereits im Feld befindet.
Sie müssen diese Option nur aktivieren, um eine neue Zeitreihe für Kapazität zu erstellen, wenn sich Ihre Kapazitätsmetrikdaten über mehrere Auto-Scaling-Gruppen erstrecken. In diesem Fall müssen Sie metrische Mathematik verwenden, um die Daten zu einer einzigen Zeitreihe zu aggregieren.
-
-
Geben Sie für Zielauslastung den Zielwert ein, den Amazon EC2 Auto Scaling beibehalten soll. Amazon EC2 Auto Scaling skaliert Ihre Kapazität, bis die durchschnittliche Auslastung der Zielauslastung entspricht oder bis die von Ihnen angegebene maximale Anzahl von Instances erreicht ist.
-
(Optional) Für Vorabstarten von Instances wählen Sie aus, wie weit im Voraus Ihre Instances gestartet werden sollen, bevor die Prognose die Last erhöht.
-
(Optional) Wählen Sie für das Verhalten bei maximaler Kapazität aus, ob Amazon EC2 Auto Scaling höher skalieren soll als die maximale Kapazität der Gruppe, wenn die prognostizierte Kapazität das definierte Maximum überschreitet. Wenn Sie diese Einstellung aktivieren, kann die Skalierung in Zeiten erfolgen, in denen der höchste Datenverkehr vorausgesagt wird.
-
(Optional) Für Maximale Pufferkapazität oberhalb der prognostizierten Kapazität wählen Sie die zusätzliche Kapazität aus, die Sie verwenden möchten, wenn die prognostizierte Kapazität bei der maximalen Kapazität liegt oder diese überschreitet. Der Wert wird als Prozentsatz relativ zur prognostizierten Kapazität angegeben. Beispiel: Wenn der Puffer 10 ist, bedeutet dies, dass ein Puffer von 10 Prozent vorhanden ist. Wenn daher die prognostizierte Kapazität 50 ist und die maximale Kapazität 40 ist, dann ist die effektive maximale Kapazität 55.
Wenn der Wert auf 0 gesetzt ist, kann Amazon EC2 Auto Scaling die Kapazität über die maximale Kapazität hinaus skalieren, um die prognostizierte Kapazität zu erreichen, aber nicht zu überschreiten.
-
Klicken Sie auf Erstellen einer Richtlinie für die prädiktive Skalierung.
Erstellen einer Richtlinie für die prädiktive Skalierung (AWS CLI)
Gehen Sie AWS CLI wie folgt vor, um Predictive Scaling-Richtlinien für Ihre Auto Scaling Scaling-Gruppe zu konfigurieren. Ersetzen Sie jedes user input placeholder
mit Ihren eigenen Informationen.
Weitere Informationen zu den CloudWatch Metriken, die Sie angeben können, finden Sie PredictiveScalingMetricSpecificationin der Amazon EC2 Auto Scaling API Scaling-Referenz.
Beispiel 1: Eine Richtlinie für die prädiktive Skalierung, die Prognosen erstellt, aber nicht skaliert
Die folgende Beispielrichtlinie zeigt eine vollständige Richtlinienkonfiguration, die CPU Nutzungsmetriken für die prädiktive Skalierung mit einer Zielauslastung von 40
verwendet. ForecastOnly
Der Modus wird standardmäßig verwendet, sofern Sie nicht explizit angeben, welcher Modus verwendet werden soll. Speichern Sie diese Konfiguration in einer Datei mit dem Namen config.json
.
{ "MetricSpecifications": [ { "TargetValue":
40
, "PredefinedMetricPairSpecification": { "PredefinedMetricType": "ASGCPUUtilization
" } } ] }
Um die Richtlinie von der Befehlszeile aus zu erstellen, führen Sie den put-scaling-policyBefehl mit der angegebenen Konfigurationsdatei aus, wie im folgenden Beispiel gezeigt.
aws autoscaling put-scaling-policy --policy-name
cpu40-predictive-scaling-policy
\ --auto-scaling-group-namemy-asg
--policy-type PredictiveScaling \ --predictive-scaling-configurationfile://config.json
Bei Erfolg gibt dieser Befehl den Amazon-Ressourcennamen (ARN) der Richtlinie zurück.
{
"PolicyARN": "arn:aws:autoscaling:region:account-id:scalingPolicy:2f4f5048-d8a8-4d14-b13a-d1905620f345:autoScalingGroupName/my-asg:policyName/cpu40-predictive-scaling-policy",
"Alarms": []
}
Beispiel 2: Eine Richtlinie für die prädiktive Skalierung, die Prognosen erstellt und skaliert
Für eine Richtlinie, die Amazon EC2 Auto Scaling die Prognose und Skalierung ermöglicht, fügen Sie die Eigenschaft Mode
mit einem Wert von hinzuForecastAndScale
. Das folgende Beispiel zeigt eine Richtlinienkonfiguration, die Anforderungsanzahlmetriken der Application Load Balancer verwendet. Die Zielauslastung ist 1000
und die prädiktive Skalierung ist aufden Modus ForecastAndScale
eingestellt.
{ "MetricSpecifications": [ { "TargetValue":
1000
, "PredefinedMetricPairSpecification": { "PredefinedMetricType": "ALBRequestCount
", "ResourceLabel": "app/my-alb/778d41231b141a0f/targetgroup/my-alb-target-group/943f017f100becff
" } } ], "Mode": "ForecastAndScale" }
Um diese Richtlinie zu erstellen, führen Sie den put-scaling-policyBefehl mit der angegebenen Konfigurationsdatei aus, wie im folgenden Beispiel gezeigt.
aws autoscaling put-scaling-policy --policy-name
alb1000-predictive-scaling-policy
\ --auto-scaling-group-namemy-asg
--policy-type PredictiveScaling \ --predictive-scaling-configurationfile://config.json
Bei Erfolg gibt dieser Befehl den Amazon-Ressourcennamen (ARN) der Richtlinie zurück.
{
"PolicyARN": "arn:aws:autoscaling:region:account-id:scalingPolicy:19556d63-7914-4997-8c81-d27ca5241386:autoScalingGroupName/my-asg:policyName/alb1000-predictive-scaling-policy",
"Alarms": []
}
Beispiel 3: Eine Richtlinie für die prädiktive Skalierung, die höher als die maximale Kapazität skaliert werden kann
Das folgende Beispiel zeigt, wie eine Richtlinie erstellt wird, die höher als die maximale Größenbeschränkung der Gruppe skaliert werden kann, wenn Sie eine höhere Last als die normale Last benötigen. Standardmäßig skaliert Amazon EC2 Auto Scaling Ihre EC2 Kapazität nicht über Ihre definierte maximale Kapazität hinaus. Es kann jedoch hilfreich sein, eine höhere Skalierung mit etwas mehr Kapazität zu ermöglichen, um Leistungs- oder Verfügbarkeitsprobleme zu vermeiden.
Geben Sie die MaxCapacityBuffer
Eigenschaften und an, wie im folgenden Beispiel gezeigt, um Amazon EC2 Auto Scaling Platz für die Bereitstellung zusätzlicher Kapazität zu bieten, wenn die Kapazität voraussichtlich der MaxCapacityBreachBehavior
maximalen Größe Ihrer Gruppe entspricht oder dieser sehr nahe kommt. Sie müssen MaxCapacityBreachBehavior
mit einem positiven Wert für IncreaseMaxCapacity
angeben. Die maximale Anzahl von Instances, die Ihre Gruppe haben kann, hängt vom Wert von MaxCapacityBuffer
ab.
{ "MetricSpecifications": [ { "TargetValue":
70
, "PredefinedMetricPairSpecification": { "PredefinedMetricType": "ASGCPUUtilization
" } } ], "MaxCapacityBreachBehavior": "IncreaseMaxCapacity
", "MaxCapacityBuffer":10
}
In diesem Beispiel ist die Richtlinie so konfiguriert, dass sie einen 10-Prozent-Puffer ("MaxCapacityBuffer": 10
) verwendet. Wenn die prognostizierte Kapazität also 50 und die maximale Kapazität 40 ist, ist die effektive maximale Kapazität 55. Eine Richtlinie, die eine Kapazität skalieren kann, die höher als die maximale Kapazität ist, um der prognostizierten Kapazität zu entsprechen, diese aber nicht zu überschreiten, hätte einen Puffer von 0 ("MaxCapacityBuffer":
0
).
Um diese Richtlinie zu erstellen, führen Sie den put-scaling-policyBefehl mit der angegebenen Konfigurationsdatei aus, wie im folgenden Beispiel gezeigt.
aws autoscaling put-scaling-policy --policy-name
cpu70-predictive-scaling-policy
\ --auto-scaling-group-namemy-asg
--policy-type PredictiveScaling \ --predictive-scaling-configurationfile://config.json
Bei Erfolg gibt dieser Befehl den Amazon-Ressourcennamen (ARN) der Richtlinie zurück.
{
"PolicyARN": "arn:aws:autoscaling:region:account-id:scalingPolicy:d02ef525-8651-4314-bf14-888331ebd04f:autoScalingGroupName/my-asg:policyName/cpu70-predictive-scaling-policy",
"Alarms": []
}