Direkt zum Inhalt

Wie behebe ich Probleme mit Skalierungsauslösern in Elastic Beanstalk?

Lesedauer: 2 Minute
0

Meine AWS-Elastic-Beanstalk-Umgebung skaliert nicht so, wie ich es erwarte.

Lösung

Voraussetzungen:

  • Du verfügst über ausreichend Kapazität für die Amazon Elastic Compute Cloud (Amazon EC2)-Instances, um in deiner AWS-Region zu skalieren. Diese Kapazität basiert auf der maximalen Anzahl von Instances, die du in der Konfiguration der AWS-Auto-Scaling-Gruppe definiert hast.
  • Du hast eine Ruhephase entsprechend den Installations- und Konfigurationsanforderungen der Anwendung festgelegt.
  • Du hast Amazon-CloudWatch-Standardmetriken oder Locust verwendet, um einen Auslastungstest durchzuführen und die beste Metrik für die Initiierung der Skalierung zu ermitteln.

Verwende entweder die Elastic-Beanstalk-Konsole oder die Optionseinstellungen, um die Skalierungsauslöser zu konfigurieren.

Konfigurieren von Skalierungsauslösern in der Elastic-Beanstalk-Konsole

  1. Öffne die Elastic-Beanstalk-Konsole und wähle dann die Umgebung aus.
  2. Wähle im Navigationsbereich für die Umgebung Konfiguration.
  3. Wähle unter Instance-Datenverkehr und Skalierung die Option Bearbeiten.
  4. Wähle unter Kapazität für Skalierungsauslöser die Auslöseroptionen aus und wähle dann Anwenden.

**Hinweis:**Elastic Beanstalk bietet Konfigurationsoptionen für Auto-Scaling-Einstellungen im Namespace aws:autoscaling:trigger. Die Ressource, für die eine Einstellung gilt, organisiert die Einstellungen in diesem Namespace für diese Ressource.

Konfigurieren von Skalierungsauslösern mit Optionseinstellungen

Ändere die Skalierungskonfigurationen mithilfe von .ebextensions in den Optionseinstellungen. Informationen zum Zugriff auf die Konfigurationsdatei, die zur Konfiguration der Skalierungsauslöser verwendet wird, findest du unter autoscaling-triggers-customize.config auf der GitHub-Website.

Die folgende Beispielkonfigurationsdatei ändert die Skalierungsauslöser, die auf der CPU-Auslastung basieren. Wenn die CPU-Auslastung Instances in drei aufeinander folgenden Zwei-Minuten-Zeiträumen über 80 Prozent liegt, dann fügt Auto Scaling eine Instance zur Auto-Scaling-Gruppe hinzu. Wenn die CPU-Auslastung Instances im gleichen Zeitraum unter 20 Prozent liegt, dann entfernt Auto Scaling eine Instance aus der Auto-Scaling-Gruppe.

option_settings:
  aws:autoscaling:trigger:
    MeasureName: CPUUtilization
    Statistic: Average
    Unit: Percent
    Period: '2'
    EvaluationPeriods: '3'
    UpperThreshold: '80'
    UpperBreachScaleIncrement: '1'
    LowerThreshold: '20'
    LowerBreachScaleIncrement: '-1'

Das folgende Beispiel zeigt die Struktur des Verzeichnisses .ebextensions und der Datei autoscaling-triggers-customize.config in der Zip-Datei der Anwendung:

~/my-app/
|-- .ebextensions/
|   |-- autoscaling-triggers-customize.config
|   `-- other.config
|-- other application files

Ähnliche Informationen

Auto Scaling-Auslöser für die Elastic Beanstalk-Umgebung

AWS OFFICIALAktualisiert vor 8 Monaten