Schrittweise und einfache Skalierungsrichtlinien für Amazon EC2 Auto Scaling - Amazon EC2 Auto Scaling

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.

Schrittweise und einfache Skalierungsrichtlinien für Amazon EC2 Auto Scaling

Schrittweise Skalierung und einfache Skalierungsrichtlinien skalieren die Kapazität Ihrer Auto Scaling Scaling-Gruppe in vordefinierten Schritten auf der Grundlage von CloudWatch Alarmen. Sie können separate Skalierungsrichtlinien definieren, um die Aufskalierung (Erhöhung der Kapazität) und die Abskalierung (Verringerung der Kapazität) zu handhaben, wenn ein Alarmschwellenwert überschritten wird.

Mit schrittweiser Skalierung und einfacher Skalierung erstellen und verwalten Sie die CloudWatch Alarme, die den Skalierungsprozess auslösen. Wenn ein Alarm verletzt wird, initiiert Amazon EC2 Auto Scaling die mit diesem Alarm verknüpfte Skalierungsrichtlinie.

Wir empfehlen dringend, Skalierungsrichtlinien für die Zielverfolgung zu verwenden, um anhand von Kennzahlen wie der durchschnittlichen CPU-Auslastung oder der durchschnittlichen Anzahl von Anfragen pro Ziel zu skalieren. Metriken, die sich verringern, wenn die Kapazität zunimmt, und zunehmen, wenn die Kapazität abnimmt, können zur proportionalen Aufwärts- oder Abwärtsskalierung der Anzahl der Instances verwendet werden, welche die Zielverfolgung verwenden. Dadurch wird sichergestellt, dass Amazon EC2 Auto Scaling die Bedarfskurve für Ihre Anwendungen genau einhält. Weitere Informationen finden Sie unter Skalierungsrichtlinien für die Ziel-Nachverfolgung.

Funktionsweise von Skalierungsrichtlinien

Um Step Scaling zu verwenden, erstellen Sie zunächst einen CloudWatch Alarm, der eine Metrik für Ihre Auto Scaling Scaling-Gruppe überwacht. Sie definieren die Metrik, den Schwellenwert und die Anzahl der Bewertungszeiträume, die einen Alarmverstoß bestimmen. Erstellen Sie dann eine Richtlinie zur schrittweisen Skalierung, die definiert, wie Ihre Gruppe skaliert werden soll, wenn der Alarmschwellenwert überschritten wird.

Sie fügen die schrittweisen Anpassungen in der Richtlinie hinzu. Sie können verschiedene schrittweise Anpassungen basierend auf der Größe der Alarmüberschreitung definieren. Beispielsweise:

  • Skalieren Sie um 10 Instanzen, wenn die Alarmmetrik 60 Prozent erreicht

  • Skalieren Sie die Anzeige um 30 Instanzen, wenn die Alarmmetrik 75 Prozent erreicht

  • Skalieren Sie die Skala um 40 Instanzen, wenn die Alarmmetrik 85 Prozent erreicht

Wenn der Alarmschwellenwert für die angegebene Anzahl von Testzeiträumen überschritten wird, wendet Amazon EC2 Auto Scaling die in der Richtlinie definierten schrittweisen Anpassungen an. Die Anpassungen können bei weiteren Überschreitungen des Alarms fortgesetzt werden, bis der Alarmstatus OK wieder erreicht ist.

Jede Instance hat eine Aufwärmphase, um zu verhindern, dass Skalierungsaktivitäten zu stark auf Änderungen reagieren, die sich über kurze Zeiträume ergeben. Sie können optional die Aufwärmphase für Ihre Skalierungsrichtlinie konfigurieren. Wir empfehlen jedoch, das standardmäßige Aufwärmen der Instanz zu verwenden, um die Aktualisierung aller Skalierungsrichtlinien zu vereinfachen, wenn sich die Aufwärmzeit ändert. Weitere Informationen finden Sie unter Legen Sie die standardmäßige Instance-Vorbereitung für eine Auto-Scaling-Gruppe fest.

Einfache Skalierungsrichtlinien ähneln schrittweisen Skalierungsrichtlinien, außer dass sie auf einer einzigen Skalierungsanpassung basieren und zwischen den einzelnen Skalierungsaktivitäten eine Abklingzeit besteht. Weitere Informationen finden Sie unter Einfache Skalierungsrichtlinien.

Schrittanpassungen für die Schrittskalierung

Wenn Sie eine Richtlinie zur schrittweise Skalierung erstellen, geben Sie eine oder mehrere Stufenanpassungen an, die automatisch die Anzahl der Instances dynamisch basierend auf der Größe der Alarmüberschreitung skalieren. Jede Schrittanpassung gibt Folgendes an:

  • Eine Untergrenze für den Metrikwert

  • Eine Obergrenze für den Metrikwert

  • Den Skalierungswert basierend auf dem Skalierungsanpassungstyp

CloudWatch aggregiert metrische Datenpunkte auf der Grundlage der Statistik für die Metrik, die Ihrem Alarm zugeordnet ist. CloudWatch Wenn der Alarm ausgelöst wird, wird die entsprechende Skalierungsrichtlinie ausgelöst. Amazon EC2 Auto Scaling wendet den Aggregationstyp auf die neuesten metrischen Datenpunkte von an CloudWatch (im Gegensatz zu den metrischen Rohdaten). Dieser aggregierte Metrikwert wird anschließend mit der Ober- und der Untergrenze verglichen, die durch die Schrittanpassungen definiert wurden. Dadurch wird ermittelt, welche Schrittanpassung auszuführen ist.

Sie geben die Ober- und Untergrenzen relativ zum Verletzungsschwellenwert an. Nehmen wir zum Beispiel an, Sie haben einen CloudWatch Alarm ausgelöst und eine Scale-Out-Richtlinie für den Fall festgelegt, dass die Metrik über 50 Prozent liegt. Dann haben Sie einen zweiten Alarm und eine Abskalierungsrichtlinie für den Fall erstellt, dass die Metrik unter 50 Prozent liegt. Sie haben für jede Richtlinie eine Reihe von schrittweisen Anpassungen mit dem Anpassungstyp PercentChangeInCapacity (oder Prozent der Gruppe in der Konsole) vorgenommen:

Beispiel: Schrittanpassungen für die Richtlinie zur horizontalen Skalierung nach oben
Untergrenze Obergrenze Anpassung

0

10

0

10

20

10

20

Null

30

Beispiel: Schrittanpassungen für die Richtlinie zur horizontalen Skalierung nach unten
Untergrenze Obergrenze Anpassung

-10

0

0

-20

-10

-10

Null

-20

-30

Dadurch wird die folgende Skalierungskonfiguration erstellt.

Metric value -infinity 30% 40% 60% 70% infinity ----------------------------------------------------------------------- -30% | -10% | Unchanged | +10% | +30% -----------------------------------------------------------------------

Nehmen wir nun an, Sie verwenden diese Skalierungskonfiguration für eine Auto Scaling Scaling-Gruppe, die sowohl eine aktuelle als auch eine gewünschte Kapazität von 10 hat. Die folgenden Punkte fassen das Verhalten der Skalierungskonfiguration in Bezug auf die gewünschte und aktuelle Kapazität der Gruppe zusammen:

  • Die gewünschte und die aktuelle Kapazität werden aufrechterhalten, solange der aggregierte Metrikwert größer als 40 und kleiner als 60 ist.

  • Steigt der Metrikwert auf 60, wird die gewünschte Kapazität der Gruppe auf Grundlage der zweiten Schrittanpassung der Richtlinie für die horizontale Skalierung nach oben (Erhöhen um 10 % von 10 Instances) um 1 Instance auf 11 Instances erhöht. Nachdem die neue Instanz ausgeführt wird und die angegebene Aufwärmzeit abgelaufen ist, erhöht sich die aktuelle Kapazität der Gruppe auf 11 Instanzen. Steigt der Metrikwert auch nach dieser Kapazitätserhöhung auf 70, erhöht sich die gewünschte Kapazität der Gruppe um weitere 3 Instances auf 14 Instances. Dies basiert auf der dritten Schrittanpassung der Richtlinie für die horizontale Skalierung nach oben (Erhöhung um 30 Prozent von 11 Instances, 3,3 Instances, abgerundet auf 3 Instances).

  • Fällt der Metrikwert auf 40 ab, wird die gewünschte Kapazität der Gruppe auf Grundlage der zweiten Schrittanpassung der Richtlinie für die horizontale Skalierung nach unten (Verringern um 10 % von 14 Instances, 1,4 Instances abgerundet auf 1 Instance) um 1 Instance auf 13 Instances reduziert. Wenn der Metrikwert selbst nach dieser Abnahme der Kapazität auf 30 fällt, sinkt die gewünschte Kapazität der Gruppe um weitere 3 Instances auf 10 Instances. Dies basiert auf der dritten Schrittanpassung der Richtlinie für die horizontale Skalierung nach unten (Abzug um 30 Prozent von 13 Instances, 3,9 Instances, abgerundet auf 3 Instances).

Wenn Sie die Schrittanpassungen für Ihre Skalierungsrichtlinie angeben, beachten Sie Folgendes:

  • Wenn Sie die verwenden AWS Management Console, geben Sie die Ober- und Untergrenzen als absolute Werte an. Wenn Sie das AWS CLI oder ein SDK verwenden, geben Sie die Ober- und Untergrenzen relativ zum Schwellenwert für Sicherheitsverletzungen an.

  • Die Bereiche der Schrittanpassungen dürfen sich nicht überschneiden oder Lücken aufweisen.

  • Nur eine Schrittanpassung darf über einen Nullwert als Untergrenze verfügen (negative Unendlichkeit). Verfügt eine Schrittanpassung über eine negative Untergrenze, muss eine Schrittanpassung mit einem Nullwert als Untergrenze vorhanden sein.

  • Nur eine Schrittanpassung darf über einen Nullwert als Obergrenze verfügen (positive Unendlichkeit). Verfügt eine Schrittanpassung über eine positive Obergrenze, muss eine Schrittanpassung mit einem Nullwert als Obergrenze vorhanden sein.

  • Ober- und Untergrenze einer Schrittanpassung können nicht gleichzeitig über einen Nullwert verfügen.

  • Liegt der Metrikwert oberhalb des Verletzungsschwellenwerts, wird die Untergrenze eingeschlossen und die Obergrenze ausgeschlossen. Liegt der Metrikwert unterhalb des Verletzungsschwellenwerts, wird die Untergrenze ausgeschlossen und die Obergrenze eingeschlossen.

Skalierungsanpassungstypen

Sie können eine Skalierungsrichtlinie definieren, welche die optimale Skalierungsaktion basierend auf dem von Ihnen gewählten Skalierungsanpassungstyp ausführt. Sie können den Anpassungstyp als Prozentsatz der aktuellen Kapazität Ihrer Auto-Scaling-Gruppe oder in Kapazitätseinheiten angeben. Normalerweise bedeutet eine Kapazitätseinheit eine Instanz, es sei denn, Sie verwenden die Funktion zur Gewichtung von Instanzen.

Amazon EC2 Auto Scaling unterstützt die folgenden Anpassungstypen für die schrittweise und die einfache Skalierung:

  • ChangeInCapacity – Erhöhen oder Verringern der aktuellen Kapazität der Gruppe um den angegebenen Wert. Ein positiver Wert erhöht die Kapazität, ein negativer Anpassungswert verringert die Kapazität. Beispiel: Wenn die aktuelle Kapazität der Gruppe 3 und die Anpassung 5 beträgt, dann fügen wir bei der Durchführung dieser Richtlinie 5 Kapazitätseinheiten zur Kapazität hinzu, insgesamt also 8 Kapazitätseinheiten.

  • ExactCapacity – Ändern Sie die aktuelle Kapazität der Gruppe auf den angegebenen Wert. Geben Sie bei diesem Anpassungstyp einen nicht-negativen Wert an. Beispiel: Wenn die aktuelle Kapazität der Gruppe 3 und die Anpassung 5 beträgt, dann ändern wir bei der Durchführung dieser Richtlinie die Kapazität auf 5 Kapazitätseinheiten.

  • PercentChangeInCapacity – Erhöhen oder Verringern der aktuellen Kapazität der Gruppe um den angegebenen Prozentsatz. Ein positiver Wert erhöht die Kapazität, ein negativer Anpassungswert verringert die Kapazität. Beispiel: Wenn die aktuelle Kapazität 10 und die Anpassung 10 Prozent beträgt, dann fügen wir bei der Durchführung dieser Richtlinie 1 Kapazitätseinheit zur Kapazität hinzu, insgesamt also 11 Kapazitätseinheiten.

    Anmerkung

    Handelt es sich bei dem resultierenden Wert nicht um eine ganze Zahl, wird wie folgt gerundet:

    • Werte größer als 1 werden abgerundet. Beispielsweise wird 12.7 auf 12 gerundet.

    • Werte zwischen 0 und 1 werden auf 1 gerundet. Beispielsweise wird .67 auf 1 gerundet.

    • Werte zwischen 0 und -1 werden auf -1 gerundet. Beispielsweise wird -.58 auf -1 gerundet.

    • Werte kleiner als -1 werden aufgerundet. Beispielsweise wird -6.67 auf -6 gerundet.

Mit PercentChangeInCapacity können Sie auch die minimale Anzahl von Instances angeben, die mit dem MinAdjustmentMagnitude-Parameter skaliert werden sollen. Angenommen, Sie erstellen eine Richtlinie zum Hinzufügen von 25 % und geben an, dass mindestens 2 Instances hinzugefügt werden sollen. Wenn Sie über eine Auto-Scaling-Gruppe mit 4 Instances verfügen und die Skalierungsrichtlinie umgesetzt wird, ergeben 25 % von 4 Instances 1 Instance. Da Sie aber angegeben haben, dass mindestens 2 Instances hinzugefügt werden sollen, werden 2 Instances hinzugefügt.

Wenn Sie Instance-Gewichtungen verwenden, ändert sich der Effekt, wenn Sie den MinAdjustmentMagnitude Parameter auf einen Wert ungleich Null setzen. Der Wert wird in Kapazitätseinheiten angegeben. Um die Mindestanzahl der zu skalierenden Instances festzulegen, legen Sie diesen Parameter auf einen Wert fest, der mindestens so groß ist wie die größte Instance-Gewichtung.

Wenn Sie Instance-Gewichtungen verwenden, denken Sie daran, dass die aktuelle Kapazität Ihrer Auto Scaling Scaling-Gruppe bei Bedarf die gewünschte Kapazität überschreiten kann. Wenn Ihre absolute Zahl, die zu verringern ist, oder der Betrag, den der Prozentsatz zum Verringern angibt, geringer ist als die Differenz zwischen der aktuellen und der gewünschten Kapazität, wird keine Skalierungsaktion durchgeführt. Sie müssen diese Verhalten berücksichtigen, wenn Sie sich das Ergebnis einer Skalierungsrichtlinie ansehen, wenn die Schwelle eines Alarms überschritten wird. Angenommen, die gewünschte Kapazität beträgt 30 und die aktuelle Kapazität 32. Wenn beim Auslösen des Alarms die gewünschte Kapazität mittels Skalierungsrichtlinie um 1 verringert wird, wird keine Skalierungsaktion durchgeführt.

Instance-Aufwärmphase

Sie können für Stufenskalierung optional angeben, wie viele Sekunden die Vorbereitung einer neu gestarteten Instance dauert. Bis die angegebene Aufwärmzeit abgelaufen ist, wird eine Instance nicht auf die aggregierten EC2-Instance-Metriken der Auto Scaling Scaling-Gruppe angerechnet.

Solange sich die Instances in der Aufwärmphase befinden, werden Ihre Skalierungsrichtlinien nur dann skaliert, wenn der Metrikwert von Instances, die sich nicht in der Warmlaufphase befinden, den höchsten Alarmschwellenwert der Richtlinie überschreitet.

Wenn die Gruppe erneut skaliert wird, werden die Instances, die noch vorbereitet werden, als Teil der gewünschten Kapazität für die nächste Aufskalieraktivität gezählt. Daher führen mehrere Alarmüberschreitungen, die in den Bereich derselben Schrittanpassung fallen, zu einer einzigen Skalierung. Der Zweck ist eine kontinuierliche (jedoch nicht exzessive) Erweiterung.

Nehmen wir an, Sie erstellen eine Richtlinie mit zwei Schritten. Im ersten Schritt werden 10 Prozent hinzugefügt, wenn die Metrik 60 erreicht, und im zweiten Schritt werden 30 Prozent hinzugefügt, wenn die Metrik 70 Prozent erreicht. Ihre Auto-Scaling-Gruppe hat eine gewünschte und eine aktuelle Kapazität von 10. Die gewünschte und die aktuelle Kapazität ändern sich nicht, solange der aggregierte Metrikwert kleiner als 60 ist. Nehmen wir an, die Metrik erreicht den Wert 60, sodass 1 Instance hinzugefügt wird (10 Prozent von 10 Instances). Dann erreicht die Metrik den Wert 62, während die neue Instance sich noch in der Aufwärmphase befindet. Die Skalierungsrichtlinie berechnet die neue gewünschte Kapazität auf Grundlage der aktuellen Kapazität, die immer noch 10 beträgt. Allerdings ist die gewünschte Kapazität der Gruppe bereits auf 11 Instances gestiegen, weswegen die Skalierungsrichtlinie die gewünschte Kapazität nicht weiter erhöht. Erreicht die Metrik jedoch den Wert 70, während sich die neue Instance noch in der Aufwärmphase befindet, müssen wir 3 Instances (30 % von 10 Instances) hinzufügen. Die gewünschte Kapazität der Gruppe beträgt jedoch bereits 11, sodass wir für die jetzt gewünschte Kapazität von 13 Instances nur weitere 2 Instances hinzufügen.

Während die Aufskalieraktivität läuft, werden alle durch Skalierungsrichtlinien initiierte Abskalieraktivitäten blockiert, bis die Instances vorbereitet wurden. Wenn die Instances mit dem Aufwärmen fertig sind und ein Abskalierungsereignis eintritt, werden alle Instances, die gerade beendet werden, bei der Berechnung der neuen gewünschten Kapazität auf die aktuelle Kapazität der Gruppe angerechnet. Deshalb entfernen wir nicht mehr Instances aus der Auto-Scaling-Gruppe als nötig. Wenn beispielsweise eine Instance bereits beendet ist und ein Alarm im Bereich der gleichen Schrittanpassung auftritt, die die gewünschte Kapazität um 1 verringert hat, wird keine Skalierungsmaßnahme ergriffen.

Standardwert

Wenn kein Wert festgelegt ist, verwendet die Skalierungsrichtlinie den Standardwert. Dabei handelt es sich um den Wert für das für die Gruppe definierte Standardinstanz-Warmup. Wenn das Standard-Aufwärmen der Instanz Null ist, wird auf den Wert der Standard-Abklingzeit zurückgegriffen.

Überlegungen

Bei der Arbeit mit Richtlinien zur schrittweisen und einfachen Skalierung ist Folgendes zu beachten:

  • Überlegen Sie, ob Sie die Schrittanpassungen in der Anwendung genau genug vorhersagen können, um die schrittweise Skalierung zu verwenden. Wenn Ihre Skalierungsmetrik die Kapazität des skalierbaren Ziels proportional vergrößert oder verkleinert, raten wir stattdessen zur Verwendung einer Skalierungsrichtlinie für die Ziel-Nachverfolgung. Sie haben weiterhin die Möglichkeit, die Schrittskalierung als zusätzliche Richtlinie für eine erweiterte Konfiguration zu verwenden. Beispiel: Sie können eine striktere Antwort konfigurieren, sobald die Auslastung ein bestimmtes Niveau erreicht.

  • Achten Sie darauf, einen angemessenen Abstand zwischen den Schwellenwerten für Scale-Out und Scale-In zu wählen, um ein Flattern zu verhindern. Flattern beschreibt eine Endlosschleife aus Auf- und Abwärtsskalieren. Das heißt, wenn eine Skalierungsaktion durchgeführt wird, würde sich der Metrikwert ändern und eine weitere Skalierungsaktion in der umgekehrten Richtung starten.

Erstellen Sie eine Richtlinie zur schrittweisen Skalierung für die horizontale Skalierung

Verwenden Sie eine der folgenden Methoden, um eine schrittweise Skalierungsrichtlinie für die horizontale Skalierung für Ihre Auto Scaling-Gruppe zu erstellen:

Console
Schritt 1: Erstellen Sie einen CloudWatch Alarm für den hohen Schwellenwert der Metrik
  1. Öffnen Sie die CloudWatch Konsole unter https://console.aws.amazon.com/cloudwatch/.

  2. Ändern Sie, falls erforderlich, die Region. Wählen Sie auf der Navigationsleiste die Region aus, in der sich Ihre Auto-Scaling-Gruppe befindet.

  3. Wählen Sie im Navigationsbereich Alarms > All alarms (Alarme > Alle Alarme) und anschließend Create alarm (Alarm erstellen) aus.

  4. Wählen Sie Select metric (Metrik auswählen) aus.

  5. Wählen Sie auf der Registerkarte Alle Metriken die Option EC2 und Nach Auto-Scaling-Gruppe aus und geben Sie den Namen der Auto-Scaling-Gruppe in das Suchfeld ein. Wählen Sie dann CPUUtilization und anschließend Metrik auswählen aus. Die Seite Specify metric and conditions (Metrik und Bedingungen festlegen) mit einem Diagramm und weiteren Informationen über die Metrik werden anzeigt.

  6. Wählen Sie unter Period (Zeitraum) den Auswertungszeitraum für den Alarm aus, z. B. 1 Minute. Beim Auswerten des Alarms wird jeder Zeitraum in einem Datenpunkt zusammengefasst.

    Anmerkung

    Ein kürzerer Zeitraum erzeugt eine höhere Alarmempfindlichkeit.

  7. Führen Sie unter Bedingungen die folgenden Schritte aus:

    • Wählen Sie für Threshold type (Schwellenwerttyp) die Option Static (Statisch) aus.

    • Geben Sie für Whenever CPUUtilization is an, ob der Wert der Metrik größer oder größer als oder gleich dem Schwellenwert sein soll, ab dem der Alarm überschritten werden kann. Geben Sie dann unter than (als) den Schwellenwert ein, der den Alarm auslösen soll.

      Wichtig

      Für einen Alarm, der mit einer Scale-Out-Richtlinie (Metrik hoch) verwendet werden soll, stellen Sie sicher, dass Sie nicht weniger als oder weniger als oder gleich dem Schwellenwert wählen.

  8. Führen Sie unter Zusätzliche Konfiguration die folgenden Schritte aus:

    • Geben Sie unter Datenpunkte zum Alarm die Anzahl der Datenpunkte (Auswertungszeiträume) ein, während denen der Metrikwert die Schwellenbedingungen des Alarms erfüllen muss. So würde es bei zwei aufeinanderfolgenden Zeiträume von je 5 Minuten z. B. 10 Minuten dauern, den Alarmstatus auszulösen.

    • Wählen Sie für Fehlende Datenbehandlung die Option Fehlende Daten als ungültig behandeln (Überschreitungsschwelle) aus. Weitere Informationen finden Sie unter Konfiguration der Behandlung fehlender Daten durch CloudWatch Alarme im CloudWatch Amazon-Benutzerhandbuch.

  9. Wählen Sie Weiter aus.

    Die Seite Configure actions (Konfigurieren von Aktionen) wird angezeigt.

  10. Wählen Sie unter Notification (Benachrichtigung) ein Amazon-SNS-Thema aus, das benachrichtigt werden soll, wenn sich der Alarm im Zustand ALARM, OK oder INSUFFICIENT_DATA befindet.

    Um zu erreichen, dass der Alarm mehrere Benachrichtigungen für den gleichen Alarmstatus oder für verschiedene Statuswerte sendet, wählen Sie Benachrichtigung hinzufügen.

    Damit der Alarm keine Benachrichtigungen sendet, wählen Sie Remove (Entfernen).

  11. Sie können die anderen Abschnitte der Seite Configure actions (Konfigurieren von Aktionen) leer lassen. Wenn Sie die anderen Abschnitte leer lassen, wird ein Alarm erstellt, ohne diesen einer Skalierungsrichtlinie zuzuordnen. Sie können den Alarm dann über die Amazon EC2 Auto Scaling-Konsole mit einer Skalierungsrichtlinie verknüpfen.

  12. Wählen Sie Weiter aus.

  13. Geben Sie einen Namen (beispielsweise Step-Scaling-AlarmHigh-AddCapacity) und optional eine Beschreibung des Alarms ein. Wählen Sie anschließend Next (Weiter) aus.

  14. Wählen Sie Alarm erstellen aus.

Gehen Sie wie folgt vor, um dort weiterzumachen, wo Sie nach der Erstellung Ihres CloudWatch Alarms aufgehört haben.

Schritt 2: Erstellen Sie eine Richtlinie zur schrittweisen Skalierung für die horizontale Skalierung
  1. Öffnen Sie die Amazon-EC2-Konsole unter https://console.aws.amazon.com/ec2/ und wählen Sie im Navigationsbereich Auto Scaling Groups (Auto-Scaling-Gruppen) aus.

  2. Aktivieren Sie das Kontrollkästchen neben Ihrer Auto-Scaling-Gruppe.

    Im unteren Teil der Seite wird ein geteilter Bereich geöffnet.

  3. Stellen Sie sicher, dass die Skalierungslimits entsprechend festgelegt sind. Wenn die gewünschte Kapazität der Gruppe z. B. bereits erreicht ist, müssen Sie ein neues Maximum angeben, um eine Aufskalierung durchführen zu können. Weitere Informationen finden Sie unter Festlegen von Skalierungslimits für Ihre Auto-Scaling-Gruppe.

  4. Wählen Sie auf der Registerkarte Automatic scaling (Automatische Skalierung) unter Dynamic scaling policies (Dynamische Skalierungsrichtlinien) die Option Create dynamic scaling policy (Richtlinie für die dynamische Skalierung erstellen) aus.

  5. Wählen Sie als Richtlinientyp die Option Step Scaling aus, und geben Sie dann einen Namen für die Richtlinie an.

  6. Wählen Sie für CloudWatch Alarm Ihren Alarm aus. Wenn Sie noch keinen Alarm erstellt haben, wählen Sie Alarm erstellen und führen Sie die Schritte 4 bis 14 des vorherigen Verfahrens aus, um einen Alarm zu erstellen. CloudWatch

  7. Geben Sie die Änderung der aktuellen Gruppengröße an, die diese Richtlinie vornehmen soll, wenn sie mit Take the action (Aktion ausführen) ausgeführt wird. Sie können eine bestimmte Anzahl von Instances oder einen Prozentsatz der vorhandenen Gruppengröße hinzufügen, oder die Gruppe auf eine genaue Größe festlegen.

    Um beispielsweise eine Scale-Out-Richtlinie zu erstellen, die die Kapazität der Gruppe um 30 Prozent erhöht, wählen SieAdd, geben Sie 30 in das nächste Feld ein, und wählen Sie dann. percent of group Standardmäßig ist die Untergrenze dieser Schrittanpassung der Alarmschwellenwert, und die Obergrenze ist positive (+) Unendlichkeit.

  8. Um einen weiteren Schritt hinzuzufügen, wählen Sie Add step (Schritt hinzufügen) und definieren dann den Betrag, um den skaliert werden soll, sowie die untere und obere Grenze des Schritts relativ zum Alarmschwellenwert.

  9. Um eine Mindestanzahl von zu skalierenden Instances festzulegen, aktualisieren Sie das Zahlenfeld unter Add capacity units in increments of at least (Kapazitätseinheiten hinzufügen in Schritten von mindestens) 1 Kapazitätseinheiten.

  10. (Optional) Aktualisieren Sie für Instance-Warmup den Instanz-Warmup-Wert nach Bedarf.

  11. Wählen Sie Erstellen.

AWS CLI

Um eine Richtlinie zur schrittweisen Skalierung für die horizontale Skalierung (Erhöhung der Kapazität) zu erstellen, können Sie die folgenden Beispielbefehle verwenden. Ersetzen Sie jedes Platzhalter für Benutzereingaben durch Ihre eigenen Informationen.

Wenn Sie die verwenden AWS CLI, erstellen Sie zunächst eine Richtlinie zur schrittweisen Skalierung, die Amazon EC2 Auto Scaling Anweisungen zur Skalierung bei steigendem Wert einer Metrik bereitstellt. Anschließend erstellen Sie den Alarm, indem Sie die zu überwachende Metrik identifizieren, den Schwellenwert für die Metrik und andere Details für die Alarme definieren und den Alarm der Skalierungsrichtlinie zuordnen.

Schritt 1: Erstellen Sie eine Richtlinie für Scale-Out

Verwenden Sie den folgenden put-scaling-policyBefehl, um eine schrittweise Skalierungsrichtlinie mit dem Namen zu erstellenmy-step-scale-out-policy, deren Anpassungstyp die Kapazität der Gruppe auf der Grundlage der folgenden schrittweisen Anpassungen erhöht (unter der Annahme eines CloudWatch Alarmschwellenwerts von 60 Prozent): PercentChangeInCapacity

  • Erhöhen Sie die Anzahl der Instances um 10 Prozent, wenn der Wert der Metrik größer oder gleich 60 Prozent, aber kleiner als 75 Prozent ist.

  • Erhöhen Sie die Anzahl der Instances um 20 Prozent, wenn der Wert der Metrik größer oder gleich 75 Prozent, aber kleiner als 85 Prozent ist.

  • Erhöhen Sie die Anzahl der Instances um 30 Prozent, wenn der Wert der Metrik größer oder gleich 85 Prozent ist.

aws autoscaling put-scaling-policy \ --auto-scaling-group-name my-asg \ --policy-name my-step-scale-out-policy \ --policy-type StepScaling \ --adjustment-type PercentChangeInCapacity \ --metric-aggregation-type Average \ --step-adjustments MetricIntervalLowerBound=0.0,MetricIntervalUpperBound=15.0,ScalingAdjustment=10 \ MetricIntervalLowerBound=15.0,MetricIntervalUpperBound=25.0,ScalingAdjustment=20 \ MetricIntervalLowerBound=25.0,ScalingAdjustment=30 \ --min-adjustment-magnitude 1

Notieren Sie sich den Amazon-Ressourcennamen (ARN) der Richtlinie. Sie benötigen ihn, um einen CloudWatch Alarm für die Richtlinie zu erstellen.

{ "PolicyARN": "arn:aws:autoscaling:region:123456789012:scalingPolicy:4ee9e543-86b5-4121-b53b-aa4c23b5bbcc:autoScalingGroupName/my-asg:policyName/my-step-scale-in-policy }
Schritt 2: Erstellen Sie einen CloudWatch Alarm für den hohen Schwellenwert der Metrik

Verwenden Sie den folgenden CloudWatch put-metric-alarmBefehl, um einen Alarm zu erstellen, der die Auto Scaling Scaling-Gruppe auf der Grundlage eines durchschnittlichen CPU-Schwellenwerts von 60 Prozent für mindestens zwei aufeinanderfolgende Evaluierungsperioden von zwei Minuten vergrößert. Geben Sie zum Verwenden einer selbst erstellten Metrik den Namen der Metrik im Feld --metric-name und ihren Namespace im Feld --namespace an.

aws cloudwatch put-metric-alarm --alarm-name Step-Scaling-AlarmHigh-AddCapacity \ --metric-name CPUUtilization --namespace AWS/EC2 --statistic Average \ --period 120 --evaluation-periods 2 --threshold 60 \ --comparison-operator GreaterThanOrEqualToThreshold \ --dimensions "Name=AutoScalingGroupName,Value=my-asg" \ --alarm-actions PolicyARN

Erstellen Sie eine Richtlinie zur schrittweisen Skalierung für die Skalierung

Verwenden Sie eine der folgenden Methoden, um eine schrittweise Skalierungsrichtlinie für die Skalierung für Ihre Auto Scaling-Gruppe zu erstellen:

Console
Schritt 1: Erstellen Sie einen CloudWatch Alarm für den niedrigen Schwellenwert der Metrik
  1. Öffnen Sie die CloudWatch Konsole unter https://console.aws.amazon.com/cloudwatch/.

  2. Ändern Sie, falls erforderlich, die Region. Wählen Sie auf der Navigationsleiste die Region aus, in der sich Ihre Auto-Scaling-Gruppe befindet.

  3. Wählen Sie im Navigationsbereich Alarms > All alarms (Alarme > Alle Alarme) und anschließend Create alarm (Alarm erstellen) aus.

  4. Wählen Sie Select metric (Metrik auswählen) aus.

  5. Wählen Sie auf der Registerkarte Alle Metriken die Option EC2 und Nach Auto-Scaling-Gruppe aus und geben Sie den Namen der Auto-Scaling-Gruppe in das Suchfeld ein. Wählen Sie dann CPUUtilization und anschließend Metrik auswählen aus. Die Seite Specify metric and conditions (Metrik und Bedingungen festlegen) mit einem Diagramm und weiteren Informationen über die Metrik werden anzeigt.

  6. Wählen Sie unter Period (Zeitraum) den Auswertungszeitraum für den Alarm aus, z. B. 1 Minute. Beim Auswerten des Alarms wird jeder Zeitraum in einem Datenpunkt zusammengefasst.

    Anmerkung

    Ein kürzerer Zeitraum erzeugt eine höhere Alarmempfindlichkeit.

  7. Führen Sie unter Bedingungen die folgenden Schritte aus:

    • Wählen Sie für Threshold type (Schwellenwerttyp) die Option Static (Statisch) aus.

    • Geben Sie für Whenever CPUUtilization is an, ob der Wert der Metrik kleiner oder kleiner als oder gleich dem Schwellenwert sein soll, ab dem der Alarm überschritten werden kann. Geben Sie dann unter than (als) den Schwellenwert ein, der den Alarm auslösen soll.

      Wichtig

      Stellen Sie sicher, dass Sie für einen Alarm, der mit einer Scale-in-Richtlinie (Metrik niedrig) verwendet werden soll, nicht größer als oder größer als oder gleich dem Schwellenwert wählen.

  8. Führen Sie unter Zusätzliche Konfiguration die folgenden Schritte aus:

    • Geben Sie unter Datenpunkte zum Alarm die Anzahl der Datenpunkte (Auswertungszeiträume) ein, während denen der Metrikwert die Schwellenbedingungen des Alarms erfüllen muss. So würde es bei zwei aufeinanderfolgenden Zeiträume von je 5 Minuten z. B. 10 Minuten dauern, den Alarmstatus auszulösen.

    • Wählen Sie für Fehlende Datenbehandlung die Option Fehlende Daten als ungültig behandeln (Überschreitungsschwelle) aus. Weitere Informationen finden Sie unter Konfiguration der Behandlung fehlender Daten durch CloudWatch Alarme im CloudWatch Amazon-Benutzerhandbuch.

  9. Wählen Sie Weiter aus.

    Die Seite Configure actions (Konfigurieren von Aktionen) wird angezeigt.

  10. Wählen Sie unter Notification (Benachrichtigung) ein Amazon-SNS-Thema aus, das benachrichtigt werden soll, wenn sich der Alarm im Zustand ALARM, OK oder INSUFFICIENT_DATA befindet.

    Um zu erreichen, dass der Alarm mehrere Benachrichtigungen für den gleichen Alarmstatus oder für verschiedene Statuswerte sendet, wählen Sie Benachrichtigung hinzufügen.

    Damit der Alarm keine Benachrichtigungen sendet, wählen Sie Remove (Entfernen).

  11. Sie können die anderen Abschnitte der Seite Configure actions (Konfigurieren von Aktionen) leer lassen. Wenn Sie die anderen Abschnitte leer lassen, wird ein Alarm erstellt, ohne diesen einer Skalierungsrichtlinie zuzuordnen. Sie können den Alarm dann über die Amazon EC2 Auto Scaling-Konsole mit einer Skalierungsrichtlinie verknüpfen.

  12. Wählen Sie Weiter aus.

  13. Geben Sie einen Namen (beispielsweise Step-Scaling-AlarmLow-RemoveCapacity) und optional eine Beschreibung des Alarms ein. Wählen Sie anschließend Next (Weiter) aus.

  14. Wählen Sie Alarm erstellen aus.

Gehen Sie wie folgt vor, um dort weiterzumachen, wo Sie nach der Erstellung Ihres CloudWatch Alarms aufgehört haben.

Schritt 2: Erstellen Sie eine Richtlinie zur schrittweisen Skalierung für die Skalierung
  1. Öffnen Sie die Amazon-EC2-Konsole unter https://console.aws.amazon.com/ec2/ und wählen Sie im Navigationsbereich Auto Scaling Groups (Auto-Scaling-Gruppen) aus.

  2. Aktivieren Sie das Kontrollkästchen neben Ihrer Auto-Scaling-Gruppe.

    Im unteren Teil der Seite wird ein geteilter Bereich geöffnet.

  3. Stellen Sie sicher, dass die Skalierungslimits entsprechend festgelegt sind. Wenn zum Beispiel die gewünschte Kapazität Ihrer Gruppe bereits erreicht ist, müssen Sie für die Skalierung eine neue Mindestkapazität angeben. Weitere Informationen finden Sie unter Festlegen von Skalierungslimits für Ihre Auto-Scaling-Gruppe.

  4. Wählen Sie auf der Registerkarte Automatic scaling (Automatische Skalierung) unter Dynamic scaling policies (Dynamische Skalierungsrichtlinien) die Option Create dynamic scaling policy (Richtlinie für die dynamische Skalierung erstellen) aus.

  5. Wählen Sie als Richtlinientyp die Option Schrittweise Skalierung aus, und geben Sie dann einen Namen für die Richtlinie an.

  6. Wählen Sie für CloudWatch Alarm Ihren Alarm aus. Wenn Sie noch keinen Alarm erstellt haben, wählen Sie Alarm erstellen und führen Sie die Schritte 4 bis 14 des vorherigen Verfahrens aus, um einen Alarm zu erstellen. CloudWatch

  7. Geben Sie die Änderung der aktuellen Gruppengröße an, die diese Richtlinie vornehmen soll, wenn sie mit Take the action (Aktion ausführen) ausgeführt wird. Sie können eine bestimmte Anzahl von Instances oder einen Prozentsatz der vorhandenen Gruppengröße entfernen, oder die Gruppe auf eine genaue Größe festlegen.

    Um beispielsweise eine Scale-In-Richtlinie zu erstellen, die die Kapazität der Gruppe um zwei Instanzen verringert, wählen SieRemove, geben Sie 2 in das nächste Feld ein, und wählen Sie dann. capacity units Standardmäßig ist die Obergrenze dieser Schrittanpassung der Alarmschwellenwert, und die Untergrenze ist negative (-) Unendlichkeit.

  8. Um einen weiteren Schritt hinzuzufügen, wählen Sie Add step (Schritt hinzufügen) und definieren dann den Betrag, um den skaliert werden soll, sowie die untere und obere Grenze des Schritts relativ zum Alarmschwellenwert.

  9. Wählen Sie Erstellen.

AWS CLI

Um eine schrittweise Skalierungsrichtlinie für die Skalierung (Kapazität verringern) zu erstellen, können Sie die folgenden Beispielbefehle verwenden. Ersetzen Sie jedes Platzhalter für Benutzereingaben durch Ihre eigenen Informationen.

Wenn Sie die verwenden AWS CLI, erstellen Sie zunächst eine Richtlinie zur schrittweisen Skalierung, die Amazon EC2 Auto Scaling Anweisungen zur Skalierung bereitstellt, wenn der Wert einer Metrik sinkt. Anschließend erstellen Sie den Alarm, indem Sie die zu überwachende Metrik identifizieren, den unteren Schwellenwert für die Metrik und andere Details für die Alarme definieren und den Alarm der Skalierungsrichtlinie zuordnen.

Schritt 1: Erstellen Sie eine Richtlinie für die Skalierung

Verwenden Sie den folgenden put-scaling-policyBefehl, um eine schrittweise Skalierungsrichtlinie mit dem Namen zu erstellenmy-step-scale-in-policy, deren Anpassungstyp die Kapazität der Gruppe um 2 Instanzen verringert, wenn der zugehörige CloudWatch Alarm den unteren Schwellenwert der Metrik überschreitet. ChangeInCapacity

aws autoscaling put-scaling-policy \ --auto-scaling-group-name my-asg \ --policy-name my-step-scale-in-policy \ --policy-type StepScaling \ --adjustment-type ChangeInCapacity \ --step-adjustments MetricIntervalUpperBound=0.0,ScalingAdjustment=-2

Notieren Sie sich den Amazon-Ressourcennamen (ARN) der Richtlinie. Sie benötigen ihn, um den CloudWatch Alarm für die Richtlinie zu erstellen.

{ "PolicyARN": "arn:aws:autoscaling:region:123456789012:scalingPolicy:ac542982-cbeb-4294-891c-a5a941dfa787:autoScalingGroupName/my-asg:policyName/my-step-scale-out-policy }
Schritt 2: Erstellen Sie einen CloudWatch Alarm für den unteren Schwellenwert der Metrik

Verwenden Sie den folgenden CloudWatch put-metric-alarmBefehl, um einen Alarm zu erstellen, der die Größe der Auto Scaling Scaling-Gruppe auf der Grundlage eines durchschnittlichen CPU-Schwellenwerts von 40 Prozent für mindestens zwei aufeinanderfolgende Evaluierungsperioden von zwei Minuten verringert. Geben Sie zum Verwenden einer selbst erstellten Metrik den Namen der Metrik im Feld --metric-name und ihren Namespace im Feld --namespace an.

aws cloudwatch put-metric-alarm --alarm-name Step-Scaling-AlarmLow-RemoveCapacity \ --metric-name CPUUtilization --namespace AWS/EC2 --statistic Average \ --period 120 --evaluation-periods 2 --threshold 40 \ --comparison-operator LessThanOrEqualToThreshold \ --dimensions "Name=AutoScalingGroupName,Value=my-asg" \ --alarm-actions PolicyARN

Einfache Skalierungsrichtlinien

Die folgenden Beispiele zeigen, wie Sie CLI-Befehle verwenden können, um einfache Skalierungsrichtlinien zu erstellen. Sie bleiben in diesem Dokument als Referenz für alle Kunden, die sie verwenden möchten, enthalten. Wir empfehlen jedoch, stattdessen Target-Tracking- oder Step-Scaling-Richtlinien zu verwenden.

Ähnlich wie bei Richtlinien zur schrittweisen Skalierung müssen Sie bei einfachen Skalierungsrichtlinien CloudWatch Alarme für Ihre Skalierungsrichtlinien erstellen. In den Richtlinien, die Sie erstellen, müssen Sie auch definieren, ob und wie viele Instanzen hinzugefügt oder entfernt werden sollen, oder die Gruppe auf eine exakte Größe festlegen.

Einer der Hauptunterschiede zwischen Step Scaling-Richtlinien und einfachen Skalierungsrichtlinien sind die schrittweisen Anpassungen, die Sie mit Step Scaling-Richtlinien erhalten. Bei der schrittweisen Skalierung können Sie auf der Grundlage der von Ihnen angegebenen schrittweisen Anpassungen größere oder kleinere Änderungen an der Gruppengröße vornehmen.

Eine einfache Skalierungsrichtlinie muss außerdem warten, bis eine laufende Skalierungsaktivität oder ein Ersatz für eine Integritätsprüfung abgeschlossen ist und eine Abklingzeit abgelaufen ist, bevor sie auf weitere Alarme reagiert. Im Gegensatz dazu reagiert die Richtlinie bei der schrittweisen Skalierung weiterhin auf zusätzliche Alarme, selbst wenn eine Skalierungsaktivität oder ein Ersatz für einen Gesundheitscheck im Gange ist. Das bedeutet, dass Amazon EC2 Auto Scaling alle Alarmverletzungen bewertet, sobald es die Alarmmeldungen empfängt. Aus diesem Grund empfehlen wir, stattdessen Richtlinien zur schrittweisen Skalierung zu verwenden, auch wenn Sie nur eine einzige Skalierungsanpassung haben.

Amazon EC2 Auto Scaling hat ursprünglich nur einfache Skalierungsrichtlinien unterstützt. Wenn Sie Ihre Skalierungsrichtlinie vor der Einführung von Richtlinien zur Zielverfolgung und schrittweisen Skalierung erstellt haben, wird Ihre Richtlinie als einfache Skalierungsrichtlinie behandelt.

Verwenden Sie den folgenden put-scaling-policyBefehl, um eine einfache Skalierungsrichtlinie mit dem Namenmy-simple-scale-out-policy, mit einem Anpassungstyp zu erstellenPercentChangeInCapacity, der die Kapazität der Gruppe um 30 Prozent erhöht, wenn der zugehörige CloudWatch Alarm den oberen Schwellenwert der Metrik überschreitet.

aws autoscaling put-scaling-policy --policy-name my-simple-scale-out-policy \ --auto-scaling-group-name my-asg --scaling-adjustment 30 \ --adjustment-type PercentChangeInCapacity

Notieren Sie sich den Amazon-Ressourcennamen (ARN) der Richtlinie. Sie benötigen ihn, um den CloudWatch Alarm für die Richtlinie zu erstellen.

Verwenden Sie den folgenden put-scaling-policyBefehl, um eine einfache Skalierungsrichtlinie mit dem Namenmy-simple-scale-in-policy, mit einem Anpassungstyp zu erstellenChangeInCapacity, der die Kapazität der Gruppe um eine Instanz verringert, wenn der zugehörige CloudWatch Alarm den unteren Schwellenwert der Metrik überschreitet.

aws autoscaling put-scaling-policy --policy-name my-simple-scale-in-policy \ --auto-scaling-group-name my-asg --scaling-adjustment -1 \ --adjustment-type ChangeInCapacity --cooldown 180

Notieren Sie sich den Amazon-Ressourcennamen (ARN) der Richtlinie. Sie benötigen ihn, um den CloudWatch Alarm für die Richtlinie zu erstellen.