Meine AWS-Elastic-Beanstalk-Umgebung skaliert nicht so, wie ich es erwarte.
Lösung
Voraussetzungen:
- Sie verfügen über ausreichend Kapazität für Ihre Amazon Elastic Compute Cloud (Amazon EC2)-Instances, um in Ihrer AWS-Region zu skalieren. Diese Kapazität basiert auf der maximalen Anzahl von Instances, die Sie in der Konfiguration Ihrer AWS-Auto-Scaling-Gruppe definiert haben.
- Sie haben eine Ruhephase entsprechend den Installations- und Konfigurationsanforderungen Ihrer Anwendung festgelegt.
- Sie haben Amazon-CloudWatch-Standardmetriken oder Locust verwendet, um einen Auslastungstest durchzuführen und die beste Metrik für die Initiierung der Skalierung zu ermitteln.
Verwenden Sie entweder die Elastic-Beanstalk-Konsole oder die Optionseinstellungen, um Ihre Skalierungsauslöser zu konfigurieren.
Konfigurieren von Skalierungsauslösern in der Elastic-Beanstalk-Konsole
- Öffnen Sie die Elastic-Beanstalk-Konsole und wählen Sie dann Ihre Umgebung aus.
- Wählen Sie im Navigationsbereich Konfiguration aus.
- Wählen Sie für die Kategorie Kapazität die Option Ändern aus.
- Wählen Sie im Abschnitt Skalierungsauslöser Ihre Auslöseroptionen und dann Anwenden aus.
**Hinweis:**Elastic Beanstalk bietet Konfigurationsoptionen für Auto-Scaling-Einstellungen im Namespace aws:autoscaling:trigger. Die Einstellungen in diesem Namespace sind nach der Ressource organisiert, für die sie gelten.
Konfigurieren von Skalierungsauslösern mit Optionseinstellungen
Ändern Sie Ihre Skalierungskonfigurationen mithilfe von .ebextensions in den Optionseinstellungen. Informationen zum Zugriff auf die Konfigurationsdatei, die zur Konfiguration Ihrer Skalierungsauslöser verwendet wird, finden Sie 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 aller Instances in drei aufeinander folgenden Zwei-Minuten-Zeiträumen über 80 Prozent liegt, wird eine Instance zur Auto-Scaling-Gruppe hinzugefügt. Wenn die CPU-Auslastung aller Instances im gleichen Zeitraum unter 20 Prozent liegt, wird eine Instance aus der Auto-Scaling-Gruppe entfernt.
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
Verwandte Informationen
Auto-Scaling-Auslöser