Geplante Auto-Scaling-Aktionen - AWS Elastic Beanstalk

Geplante Auto-Scaling-Aktionen

Damit die Amazon-EC2-Instances Ihrer Umgebung während erwarteter Spitzenlasten beim Datenverkehr optimal genutzt werden, sollten Sie Ihre Amazon-EC2-Auto-Scaling-Gruppe so konfigurieren, dass die Anzahl der Instances nach einem festen Plan angepasst wird. Sie können Ihre Umgebung mit einer wiederkehrenden Aktion so konfigurieren, dass sie jeden Morgen hochskaliert und nachts bei geringem Datenverkehr herunterskaliert wird. Wenn Sie beispielsweise während eines Marketing-Ereignisses für einen begrenzten Zeitraum ein erhöhtes Datenvolumen erwarten, können Sie ein einmaliges Ereignis planen, um die Umgebung zu Beginn des Marketing-Ereignisses hochzuskalieren und an dessen Ende wieder herunterzuskalieren.

Es können bis zu 120 aktive geplante Aktionen pro Umgebung definiert werden. Elastic Beanstalk behält darüber hinaus bis zu 150 abgelaufene geplante Aktionen bei, die Sie zum Aktualisieren Ihrer Einstellungen wiederverwenden können.

Konfigurieren von geplanten Aktionen

Sie können geplante Aktionen für die Auto-Scaling-Gruppe Ihrer Umgebung in der Elastic-Beanstalk-Konsole erstellen.

So konfigurieren Sie geplante Aktionen in der Elastic-Beanstalk-Konsole

  1. Öffnen Sie die Elastic-Beanstalk-Konsole und wählen Sie in der Liste Regionen Ihre AWS-Region aus.

  2. Wählen Sie im Navigationsbereich Environments (Umgebungen) aus und wählen Sie dann in der Liste den Namen Ihrer Umgebung aus.

    Anmerkung

    Wenn Sie viele Umgebungen haben, verwenden Sie die Suchleiste, um die Umgebungsliste zu filtern.

  3. Wählen Sie im Navigationsbereich Configuration (Konfiguration) aus.

  4. Wählen Sie in der Konfigurationskategorie Capacity (Kapazität) die Option Edit (Bearbeiten).

  5. Wählen Sie im Abschnitt Time-based Scaling (Zeitbasierte Skalierung) die Option Add scheduled action (Geplante Aktion hinzufügen) aus.

    
            Konfigurationsfenster für die geplanten Auto-Scaling-Aktionen von Elastic Beanstalk
  6. Geben Sie die folgenden Einstellungen für die geplante Aktion ein:

    • Name – Geben Sie einen eindeutigen Namen mit bis zu 255 alphanumerischen Zeichen ohne Leerzeichen ein.

    • Instances – Wählen Sie die minimale und maximale Instance-Anzahl für die Auto Scaling-Gruppe aus.

    • Desired capacity (Gewünschte Kapazität) (optional) – Legen Sie die gewünschte Anfangskapazität für die Auto Scaling-Gruppe fest. Nachdem die geplante Aktion angewendet wurde, wird die gewünschte Kapazität basierend auf den Einstellungen angepasst.

    • Occurrence (Häufigkeit) – Wählen Sie Recurring (Wiederkehrend) aus, um die Skalierungsaktion nach einem festen Zeitplan zu wiederholen.

    • Start time (Startzeit) – Wählen Sie für einmalige Aktionen das Datum und die Uhrzeit aus, zu der die Aktion ausgeführt werden soll.

      Für wiederkehrende Aktionen ist eine Startzeit optional. Geben Sie dies an, um den frühesten Zeitpunkt der Aktionsausführung auszuwählen. Ab diesem Zeitpunkt wird die Aktion entsprechend dem Ausdruck Recurrence (Wiederholung) wiederholt.

    • Recurrence (Wiederholung) – Geben Sie in einem Cron-Ausdruck an, wie häufig eine geplante Aktion ausgeführt werden soll. Mit der Option 30 6 * * 2 wird die Aktion beispielsweise jeden Dienstag um 6:30 Uhr UTC ausgeführt.

    • Endtime (Endzeit) (optional) – Optional für wiederkehrende Aktionen. Bei Angabe wird die Aktion gemäß dem Ausdruck Recurrence (Wiederholung) wiederholt und ab diesem Zeitpunkt nicht mehr ausgeführt.

      Wenn eine geplante Aktion endet, wird Auto-Scaling nicht automatisch auf die vorherigen Einstellungen zurückgesetzt. Konfigurieren Sie daher gegebenenfalls eine zweite geplante Aktion, damit Auto-Scaling zu den ursprünglichen Einstellungen zurückkehrt.

  7. Wählen Sie Add aus.

  8. Wählen Sie Apply (Anwenden) aus.

    Anmerkung

    Geplante Aktionen werden erst gespeichert, nachdem sie angewendet wurden.

Der Namespace aws:autoscaling:scheduledaction

Wenn Sie viele geplante Aktionen konfigurieren müssen, können Sie Konfigurationsdateien oder die Elastic-Beanstalk-API verwenden, um Änderungen an den Konfigurationsoptionen über eine YAML- oder JSON-Datei vorzunehmen. Mit diesen Methoden können Sie auch auf die Suspend-Option zugreifen, um eine wiederkehrende geplante Aktion vorübergehend zu deaktivieren.

Anmerkung

Wenn Sie außerhalb der Konsole an den Konfigurationsoptionen von geplanten Aktionen arbeiten, verwenden Sie das ISO 8601-Zeitformat, um Start- und Endzeiten in UTC anzugeben. Beispiel: 2015-04-28T04:07:02Z Weitere Informationen zum ISO 8601-Zeitformat finden Sie unter Date and Time Formats. Die Datums- und Uhrzeitangaben müssen für alle geplanten Aktionen eindeutig sein.

Elastic Beanstalk stellt Konfigurationsoptionen für die Einstellungen von geplanten Aktionen im Namespace aws:autoscaling:scheduledaction bereit. Verwenden Sie das Feld resource_name, um den Namen der geplanten Aktion anzugeben.

Beispiel Scheduled-scale-up-specific-time-long.config

Diese Konfigurationsdatei weist Elastic Beanstalk an, um 2015-12-12T00:00:00Z von fünf Instances auf 10 Instances hochzuskalieren.

option_settings: - namespace: aws:autoscaling:scheduledaction resource_name: ScheduledScaleUpSpecificTime option_name: MinSize value: '5' - namespace: aws:autoscaling:scheduledaction resource_name: ScheduledScaleUpSpecificTime option_name: MaxSize value: '10' - namespace: aws:autoscaling:scheduledaction resource_name: ScheduledScaleUpSpecificTime option_name: DesiredCapacity value: '5' - namespace: aws:autoscaling:scheduledaction resource_name: ScheduledScaleUpSpecificTime option_name: StartTime value: '2015-12-12T00:00:00Z'

Beispiel Scheduled-scale-up-specific-time.config

Um die Syntax-Kurznotation mit der EB-CLI oder Konfigurationsdateien zu verwenden, stellen Sie den Ressourcennamen und den Namespace voran.

option_settings: ScheduledScaleUpSpecificTime.aws:autoscaling:scheduledaction: MinSize: '5' MaxSize: '10' DesiredCapacity: '5' StartTime: '2015-12-12T00:00:00Z'

Beispiel Scheduled-scale-down-specific-time.config

Diese Konfigurationsdatei weist Elastic Beanstalk an, um 2015-12-12T07:00:00Z herunterzuskalieren.

option_settings: ScheduledScaleDownSpecificTime.aws:autoscaling:scheduledaction: MinSize: '1' MaxSize: '1' DesiredCapacity: '1' StartTime: '2015-12-12T07:00:00Z'

Beispiel Scheduled-periodic-scale-up.config

Diese Konfigurationsdatei weist Elastic Beanstalk an, jeden Tag um 9 Uhr morgens hochzuskalieren. Für die Aktion ist als Startzeit der 14. Mai 2015 und als Endzeit der 12. Januar 2016 geplant.

option_settings: ScheduledPeriodicScaleUp.aws:autoscaling:scheduledaction: MinSize: '5' MaxSize: '10' DesiredCapacity: '5' StartTime: '2015-05-14T07:00:00Z' EndTime: '2016-01-12T07:00:00Z' Recurrence: 0 9 * * *

Beispiel Scheduled-periodic-scale-down.config

Diese Konfigurationsdatei weist Elastic Beanstalk an, jeden Tag um 18 Uhr auf eine nicht laufende Instance herunterzuskalieren. Wenn Sie wissen, dass die Anwendung außerhalb der Geschäftszeiten normalerweise ohne Last arbeitet, können Sie eine entsprechend geplante Aktion erstellen. Wenn die Anwendung außerhalb der Geschäftszeiten heruntergefahren werden muss, ändern Sie MaxSize auf 0.

option_settings: ScheduledPeriodicScaleDown.aws:autoscaling:scheduledaction: MinSize: '0' MaxSize: '1' DesiredCapacity: '0' StartTime: '2015-05-14T07:00:00Z' EndTime: '2016-01-12T07:00:00Z' Recurrence: 0 18 * * *

Beispiel Scheduled-weekend-scale-down.config

Diese Konfigurationsdatei weist Elastic Beanstalk an, jeden Freitag um 18 Uhr herunterzuskalieren. Wenn Sie wissen, dass für die Anwendung am Wochenende nicht sehr viel Datenverkehr entsteht, können Sie eine ähnliche Aktion planen.

option_settings: ScheduledWeekendScaleDown.aws:autoscaling:scheduledaction: MinSize: '1' MaxSize: '4' DesiredCapacity: '1' StartTime: '2015-12-12T07:00:00Z' EndTime: '2016-01-12T07:00:00Z' Recurrence: 0 18 * * 5