Grundlegende Zustandsberichte - AWS Elastic Beanstalk

Grundlegende Zustandsberichte

AWS Elastic Beanstalk nutzt Informationen aus verschiedenen Quellen, um zu bestimmen, ob Ihre Umgebung verfügbar ist und Anfragen aus dem Internet verarbeitet. Der Zustand einer Umgebung wird durch eine von vier Farben dargestellt und auf der Umgebungsübersichtsseite der Elastic Beanstalk-Konsole angezeigt. Er ist auch über die DescribeEnvironments-API und durch Aufruf von eb status mit der EB CLI verfügbar.

Vor Version 2-Linux-Plattformversionen gab es nur das grundlegende System für Zustandsberichte. Das grundlegende Zustandsberichtssystem bietet Informationen über den Zustand der Instances in einer Elastic Beanstalk-Umgebung basierend auf Zustandsprüfungen, die von Elastic Load Balancing für lastverteilte Umgebungen oder von Amazon Elastic Compute Cloud für Umgebungen mit einer Instance durchgeführt werden.

Zusätzlich zum Prüfen des Zustands Ihrer EC2-Instances überwacht Elastic Beanstalk außerdem die anderen Ressourcen in Ihrer Umgebung und meldet fehlende oder falsch konfigurierte Ressourcen, die dazu führen können, dass Ihre Umgebung nicht mehr für Benutzer verfügbar ist.

Metriken, die von den Ressourcen in Ihrer Umgebung gesammelt werden, werden in Fünf-Minuten-Intervallen in Amazon CloudWatch veröffentlicht. Dazu zählen Betriebssystemmetriken aus EC2, Anforderungsmetriken aus Elastic Load Balancing. Sie können Diagramme basierend auf diesen CloudWatch-Metriken auf der Seite Monitoring der Umgebungskonsole anzeigen. Für grundlegende Zustandsberichte werden diese Metriken nicht verwendet, um den Zustand einer Umgebung zu bestimmen.

Zustandsfarben

Elastic Beanstalk meldet den Zustand einer Webserverumgebung je nachdem, wie die Anwendung, die darin ausgeführt wird, auf die Zustandsprüfung reagiert. Elastic Beanstalk nutzt eine von vier Farben zum Beschreiben des Status, wie in der folgenden Tabelle gezeigt:

Farbe Beschreibung

Grau

Ihre Umgebung wird aktualisiert.

Grün

Ihre Umgebung ist die letzte Zustandsprüfung bestanden. Mindestens eine Instance in Ihrer Umgebung ist verfügbar und verarbeitet Anfragen.

Gelb

Ihre Umgebung hat eine oder mehrere Zustandsprüfungen nicht bestanden. Einige Anfragen in Ihrer Umgebung schlagen fehl.

Rot

Ihre Umgebung hat drei oder mehr Zustandsprüfungen nicht bestanden oder eine Umgebungsressource ist nicht mehr verfügbar. Anfragen schlagen durchgängig fehl.

Diese Beschreibungen gelten nur für Umgebungen, die grundlegende Zustandsberichte verwenden. Unter Farben und Status in Zustandsangaben finden Sie Details im Zusammenhang mit der erweiterten Zustandsprüfung.

Elastic Load Balancing-Zustandsprüfungen

In einer Umgebung mit Lastenausgleich sendet Elastic Load Balancing alle 10 Sekunden eine Anfrage an jede Instance in einer Umgebung, um zu bestätigen, dass diese stabil sind. Standardmäßig ist der Load Balancer so konfiguriert, dass er eine TCP-Verbindung auf Port 80 öffnet. Wenn die Instance die Verbindung anerkennt, wird sie als stabil eingestuft.

Sie können diese Einstellung überschreiben, indem Sie eine vorhandene Ressource in Ihrer Anwendung angeben. Wenn Sie einen Pfad angeben, wie /health, ist die Zustandsprüfungs-URL auf HTTP:80/health festgelegt. Die Zustandsprüfungs-URL sollte auf einen Pfad gesetzt sein, der immer von Ihrer Anwendung bedient wird. Wenn eine statische Webseite festgelegt ist, die vom Webserver vor Ihrer Anwendung bereitgestellt oder zwischengespeichert wird, zeigen Zustandsprüfungen keine Probleme mit dem Anwendungsserver oder Webcontainer. Anweisungen zum Ändern der Zustandsprüfungs-URL finden Sie unter Zustandsprüfung.

Wenn eine Zustandsprüfungs-URL konfiguriert ist, erwartet Elastic Load Balancing eine GET-Anfrage, auf die die Antwort 200 OK zurückgegeben werden soll. Die Anwendung besteht die Zustandsprüfung nicht, wenn sie nicht innerhalb von fünf Sekunden reagiert oder einen anderen HTTP-Statuscode zurückgibt. Nach 5 aufeinanderfolgenden Fehlern bei der Zustandsprüfung nimmt Elastic Load Balancing die Instanz außer Betrieb.

Weitere Informationen zu den Zustandsprüfungen von Elastic Load Balancing finden Sie unter Zustandsprüfungen im Elastic Load Balancing-Benutzerhandbuch.

Anmerkung

Wenn Sie eine URL für die Zustandsprüfung konfigurieren, ändert dies das Verhalten einer Auto Scaling-Gruppe in der Umgebung nicht. Eine fehlerhafte Instance wird aus dem Load Balancer gelöscht, aber nicht automatisch durch Amazon EC2 Auto Scaling ersetzt, es sei denn, Amazon EC2 Auto Scaling wird für die Verwendung der Elastic Load Balancing-Zustandsprüfung als Basis für das Ersetzen von Instances konfiguriert. Informationen zum Konfigurieren von Amazon EC2 Auto Scaling zum Ersetzen von Instances, die eine Zustandsprüfung durch Elastic Load Balancing nicht bestehen, finden Sie unter Zustandsprüfungseinstellung für Auto-Scaling

Zustandsprüfungen für Umgebungen mit einer einzelnen Instance oder Worker-Ebene

In einer Umgebung mit einer einzelnen Instance oder Worker-Ebene bestimmt Elastic Beanstalk den Zustand einer Instance durch Überwachung des Amazon EC2-Instance-Status. Einstellungen der Elastic Load Balancing-Zustandsprüfung, einschließlich HTTP-Zustandsprüfungs-URLs, können in diesen Umgebungstypen nicht verwendet werden.

Weitere Informationen zu Statusprüfungen von Amazon EC2-Instances finden Sie auf der Seite über das Überwachen von Instances mittels Statusprüfungen im Amazon EC2-Benutzerhandbuch für Linux-Instances.

Zusätzliche Prüfungen

Zusätzlich zu den Elastic Load Balancing -Zustandsprüfungen überwacht Elastic Beanstalk-Ressourcen in Ihrer Umgebung und ändert den Status in Rot, wenn sie nicht bereitgestellt werden, nicht korrekt konfiguriert sind oder nicht mehr verfügbar sind. Diese Prüfungen bestätigen, dass:

  • Die Auto Scaling-Gruppe der Umgebung verfügbar ist und über mindestens eine Instance verfügt.

  • Die Sicherheitsgruppe der Umgebung ist verfügbar und so konfiguriert, dass eingehender Datenverkehr auf Port 80 zulässig ist.

  • Der Umgebungs-CNAME ist vorhanden und weist auf den rechten Load Balancer.

  • In einer Worker-Umgebung wird die Amazon Simple Queue Service (Amazon SQS)-Warteschlange mindestens einmal alle drei Minuten abgefragt.

Amazon-CloudWatch-Metriken

Bei grundlegenden Zustandsberichten veröffentlicht der Elastic Beanstalk-Service keine Metriken in Amazon CloudWatch. Die CloudWatch-Metriken, die zum Erstellen von Diagrammen auf der Seite Monitoring der Umgebungskonsole verwendet werden, werden von den Ressource in Ihrer Umgebung veröffentlicht.

Beispiel: EC2 veröffentlicht die folgenden Metriken für die Instances in der Auto Scaling-Gruppe Ihrer Umgebung:

CPUUtilization

Prozentsatz der Recheneinheiten, die zurzeit verwendet werden.

DiskReadBytes
DiskReadOps
DiskWriteBytes
DiskWriteOps

Anzahl der gelesenen und geschriebenen Bytes und die Anzahl der Lese- und Schreibvorgänge.

NetworkIn
NetworkOut

Anzahl der gesendeten und empfangenen Bytes.

Elastic Load Balancing veröffentlicht die folgenden Metriken für den Load Balancer Ihrer Umgebung:

BackendConnectionErrors

Anzahl der fehlgeschlagenen Verbindung zwischen dem Load Balancer und den Umgebung-Instances.

HTTPCode_Backend_2XX
HTTPCode_Backend_4XX

Anzahl der erfolgreichen (2XX) und Client-Fehler-Antwortcodes (4XX), die von Instances in Ihrer Umgebung generiert wurden.

Latency

Anzahl der Sekunden zwischen dem Zeitpunkt, an dem der Load Balancer eine Anfrage an eine Instance weiterleitet, und dem Zeitpunkt, zu dem die Antwort empfangen wird.

RequestCount

Anzahl der abgeschlossenen Anfragen.

Diese Listen sind nicht vollständig. Eine vollständige Liste der Metriken, die für diese Ressourcen gemeldet werden können, finden Sie in den folgenden Themen im Amazon CloudWatch-Entwicklerhandbuch:

Metriken
Namespace Topic
AWS::ElasticLoadBalancing::LoadBalancer Elastic Load Balancing-Metriken und -Ressourcen
AWS::AutoScaling::AutoScalingGroup Amazon Elastic Compute Cloud-Metriken und -Ressourcen
AWS::SQS::Queue Amazon SQS-Metriken und -Ressourcen
AWS::RDS::DBInstance Amazon RDS-Dimensionen und -Metriken

Worker-Umgebung – Zustandsmetrik

Nur für Worker-Umgebungen veröffentlicht der SQS-Daemon eine benutzerdefinierte Metrik für den Umgebungszustand in CloudWatch, wobei ein Wert von 1 grün bedeutet. Sie können die CloudWatch-Zustandsmetrikdaten in Ihrem Konto mithilfe des ElasticBeanstalk/SQSD-Namespace überprüfen. Die Metrikdimension ist EnvironmentName und der Metrikname lautet Health. Alle Instances veröffentlichen ihre Metriken auf dem gleichen Namespace.

Damit der Daemon Metriken veröffentlichen kann, muss das Instance-Profil der Umgebung die Berechtigung zum Aufrufen von cloudwatch:PutMetricData haben. Diese Berechtigung ist im Standard-Instance-Profil enthalten. Weitere Informationen finden Sie unter Elastic Beanstalk Instance-Profile verwalten.