Verwenden von Elastic Beanstalk mit Amazon EventBridge - AWS Elastic Beanstalk

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.

Verwenden von Elastic Beanstalk mit Amazon EventBridge

Mit Amazon EventBridge können Sie ereignisgesteuerte Regeln einrichten, die Ihre Elastic Beanstalk-Ressourcen überwachen und Zielaktionen initiieren, die andere AWS-Services nutzen. Sie können beispielsweise eine Regel für das Versenden von E-Mail-Benachrichtigungen festlegen, indem Sie ein Amazon-SNS-Thema signalisieren, wenn sich der Status einer Produktionsumgebung in einen Warnung ändert. Oder du kannst eine Lambda-Funktion einrichten, um eine Benachrichtigung an Slack zu übergeben, wenn sich der Zustand deiner Umgebung in den Status Schwach oder Schwerwiegend ändert.

Sie können in Amazon EventBridge Regeln erstellen, um auf eines der folgenden Elastic-Beanstalk-Ereignisse zu reagieren:

  • Statusänderungen für Umgebungsvorgänge (einschließlich Erstellen, Aktualisieren und Beenden von Vorgängen). Das Ereignis gibt an, ob die Statusänderung begonnen hat, erfolgreich war oder fehlgeschlagen ist.

  • Statusänderungen für andere Ressourcen. Neben Umgebungen umfassen andere Ressourcen, die überwacht werden, Load Balancer, Auto Scaling-Gruppen und Instances.

  • Integritätsübergang für Umgebungen. Das Ereignis gibt an, wo die Umgebungsintegrität von einem Integritätsstatus zu einem anderen übergegangen ist.

  • Statusänderung für verwaltete Updates. Das Ereignis gibt an, ob die Statusänderung begonnen hat, erfolgreich war oder fehlgeschlagen ist.

Um bestimmte Elastic-Beanstalk-Ereignisse zu erfassen, an denen Sie interessiert sind, definieren Sie ereignisspezifische Muster, mit denen EventBridge die Ereignisse erkennen kann. Ereignismuster haben dieselbe Struktur wie die Ereignisse, mit denen sie übereinstimmen. Das Muster zitiert die Felder, die Sie abgleichen möchten, und liefert die Werte, nach denen Sie suchen. Ereignisse werden auf bestmögliche Weise ausgegeben. Sie werden unter normalen Betriebsbedingungen nahezu in Echtzeit von Elastic Beanstalk an EventBridge geliefert. Es können jedoch Situationen auftreten, die die Durchführung eines Ereignisses verzögern oder verhindern können.

Eine Liste der Felder, die in Elastic-Beanstalk-Ereignissen enthalten sind, und deren möglichen Zeichenfolgenwerten finden Sie unter Elastic Beanstalk-Ereignisfeldzuordnung. Informationen darüber, wie EventBridge-Regeln mit Ereignismustern funktionieren, finden Sie unter Ereignisse und Ereignismuster in EventBridge.

Überwachen einer Elastic-Beanstalk-Ressource mit EventBridge

Mit EventBridge können Sie Regeln erstellen, die Aktionen definieren, die durchgeführt werden sollen, wenn Elastic Beanstalk Ereignisse für seine Ressourcen ausgibt. Sie können beispielsweise eine Regel erstellen, die Ihnen eine E-Mail-Nachricht sendet, wenn sich der Status einer Umgebung ändert.

Die EventBridge-Konsole verfügt über eine vordefinierte Musteroption zum Erstellen von Elastic-Beanstalk-Ereignismustern. Wenn Sie diese Option in der EventBridge-Konsole beim Erstellen einer Regel auswählen, können Sie schnell ein Elastic-Beanstalk-Ereignismuster erstellen. Sie müssen nur die Ereignisfelder und -werte auswählen. Während Sie eine Auswahl treffen, erstellt die Konsole das Ereignismuster und zeigt es an. Alternativ können Sie das von Ihnen erstellte Ereignismuster manuell bearbeiten und als benutzerdefiniertes Muster speichern. Die Konsole gibt Ihnen außerdem die Option, ein detailliertes Beispielereignis anzuzeigen, das Sie kopieren und in das von Ihnen errichte Ereignismuster einfügen können.

Wenn Sie es vorziehen, ein Ereignismuster einzugeben oder zu kopieren und in die EventBridge-Konsole einzufügen, können Sie die Option Benutzerdefiniertes Muster in der Konsole verwenden. Auf diese Weise müssen Sie nicht die Schritte zur Auswahl der zuvor beschriebenen Felder und Werte durchlaufen. Dieses Thema bietet Beispiele für Ereignisübereinstimmungsmuster und Elastic-Beanstalk-Ereignisse, die Sie verwenden können.

So erstellen Sie eine Regel für ein Ressourcenereignis
  1. Melden Sie sich bei AWS mit einem Konto an, das über Berechtigungen zur Verwendung von EventBridge und Elastic Beanstalk verfügt.

  2. Öffnen Sie die Amazon EventBridge-Konsole unter https://console.aws.amazon.com/events/.

  3. Wählen Sie im Navigationsbereich Rules aus.

  4. Wählen Sie Create rule (Regel erstellen) aus.

  5. Geben Sie für die Regel einen Name (Namen) und optional eine Beschreibung ein.

  6. Bei Event bus (Ereignisbus) wählen Sie default (Standard) aus. Wenn ein AWS-Service in Ihrem Konto ein Ereignis ausgibt, wird es stets an den Standardereignisbus Ihres Kontos weitergeleitet.

  7. Bei Rule type (Regeltyp) wählen Sie Rule with an event pattern (Regel mit einem Ereignismuster) aus.

  8. Wählen Sie Next (Weiter).

  9. Wählen Sie für Event source (Ereignisquelle) AWS events or EventBridge partner events (-Ereignisse oder EventBridge-Partnerereignisse).

  10. (Optionl) Wählen Sie für Beispielereignis AWS-Ereignisse aus. Geben Sie Elastic Beanstalk im Suchfeld ein. Dadurch erhalten Sie eine Liste von Elastic Beanstalk-Beispielereignissen, aus denen Sie auswählen können, ob Sie sie anzeigen möchten. In diesem Schritt wird lediglich ein Beispielereignis angezeigt, auf das Sie verweisen können. Es hat keinen Einfluss auf das Ergebnis der Regelerstellung. Der Abschnitt Beispiel für Elastic Beanstalk-Ereignisse weiter unten in diesem Thema enthält Beispiele für die gleiche Art von Ereignissen.

  11. Wählen Sie im Abschnitt Ereignismuster die Option Ereignismusterformular aus.

    Anmerkung

    Wenn Sie bereits Text für ein Ereignismuster haben und die EventBridge-Konsole nicht benötigen, um es für Sie zu erstellen, wählen Sie Benutzerdefiniertes Muster (JSON-Editor) aus. Sie können dann entweder manuell Text in das Feld Ereignismuster eingeben oder kopieren und einfügen. Klicken Sie auf Weiter, und fahren Sie mit dem Schritt zur Eingabe eines Ziels fort.

  12. Als Event source (Ereignisquelle) wählen Sie AWS-Services aus.

  13. Wählen Sie als AWS-Service Elastic Beanstalk aus.

  14. Wählen Sie als Ereignistyp die Option Statusänderung aus.

  15. In diesem Schritt wird beschrieben, wie Sie mit den Ereignisfeldern Detailtyp, Statusund Schweregrad für Elastic Beanstalk arbeiten können. Wenn Sie diese Felder und die übereinstimmenden Werte auswählen, erstellt die Konsole das Ereignismuster und zeigt es an.

    • Wenn Sie nur einen Wert für Bestimmte(r) Detailtyp(en) auswählen, können Sie einen oder mehrere Werte für das nächste Feld in der Hierarchie wählen.

    • Wenn Sie mehr als einen Wert für Bestimmte(r) Detailtyp(en) auswählen, wählen Sie keine bestimmten Werte für die nächsten Felder in der Hierarchie aus. Dies verhindert mehrdeutige Übereinstimmungslogik über Felder in Ihrem Ereignismuster hinweg.

    Das Ereignisfeld Umgebung wird von dieser Hierarchie nicht beeinflusst und wird daher wie im nächsten Schritt beschrieben angezeigt.

  16. Wählen Sie als Umgebung Beliebige Umgebung oder Bestimmte Umgebung(en) aus.

    • Wenn Sie Bestimmte Umgebung(en) auswählen, können Sie eine oder mehrere Umgebungen aus der Dropdown-Liste auswählen. EventBridge fügt alle Umgebungen, die Sie in der Liste EnvironmentName[ ] im Detailbereich des Ereignismusters auswählen, hinzu. Dann filtert Ihre Regel alle Ereignisse so, dass sie nur die von Ihnen ausgewählten spezifischen Umgebungen enthalten.

    • Wenn Sie Beliebige Umgebung auswählen, werden Ihrem Ereignismuster keine Umgebungen hinzugefügt. Aus diesem Grund filtert Ihre Regel keines der Elastic-Beanstalk-Ereignisse basierend auf der Umgebung.

  17. Wählen Sie Next (Weiter).

  18. Bei Target types (Zieltypen) wählen Sie AWS-Service aus.

  19. Wählen Sie unter Ziel auswählen die durchzuführende Zielaktion aus, wenn ein Ereignis zur Änderung des Ressourcenstatus von Elastic Beanstalk empfangen wird.

    Sie können beispielsweise ein Amazon Simple Notification Service (SNS)-Thema verwenden, um eine E-Mail oder SMS zu senden, wenn ein Ereignis eintritt. Dazu müssen Sie mit der Amazon SNS-Konsole ein Amazon SNS-Thema erstellen. Weitere Informationen finden Sie unter Verwenden von Amazon SNS für Benutzerbenachrichtigungen.

    Wichtig

    Einige Zielaktionen erfordern möglicherweise die Nutzung anderer Services und verursachen zusätzliche Gebühren, wie z. B. der Amazon-SNS- oder Lambda-Service. Weitere Informationen zu den Preisen von AWSerhalten Sie unter https://aws.amazon.com/pricing/. Einige Services sind im Umfang des kostenlosen Nutzungskontingents für AWS enthalten. Als Neukunde können Sie diese Services kostenlos testen. Weitere Informationen finden Sie unter https://aws.amazon.com/free/.

  20. (Optional) Wählen Sie Weiteres Ziel hinzufügen aus, um eine zusätzliche Zielaktion für die Ereignisregel anzugeben.

  21. Wählen Sie Next (Weiter).

  22. (Optional) Geben Sie ein oder mehrere Tags für die Regel ein. Weitere Informationen finden Sie unter Amazon-EventBridge-Tags im Benutzerhandbuch zu Amazon EventBridge.

  23. Wählen Sie Next (Weiter).

  24. Überprüfen Sie die Details der Regel und wählen Sie dann Create rule (Regel erstellen) aus.

Beispiel für Elastic-Beanstalk-Ereignisse

Ereignismuster haben dieselbe Struktur wie die Ereignisse, mit denen sie übereinstimmen. Das Muster zitiert die Felder, die Sie abgleichen möchten, und liefert die Werte, nach denen Sie suchen.

  • Änderung des Zustands für Umgebungen

    { "source": [ "aws.elasticbeanstalk" ], "detail-type": [ "Health status change" ] }
  • Änderung des Zustands für die folgenden Umgebungen: myEnvironment1 und myEnvironment2. Dieses Ereignismuster filtert nach diesen beiden spezifischen Umgebungen, während das vorherige Beispiel für die Änderung des Zustands, das nicht filtert, Ereignisse für alle Umgebungen sendet.

    {"source": [ "aws.elasticbeanstalk" ], "detail-type": [ "Health status change" ], "detail": { "EnvironmentName": [ "myEnvironment1", "myEnvironment2" ] } }
  • Änderung des Elastic Beanstalk-Ressourcenstatus für alle Umgebungen

    { "source": [ "aws.elasticbeanstalk" ], "detail-type": [ "Elastic Beanstalk resource status change" ] }
  • Änderung des Elastic Beanstalk-Ressourcenstatus mit Status Umgebungsaktualisierung fehlgeschlagen und Severity ERROR für die folgenden Umgebungen: myEnvironment1 und myEnvironment2

    {"source": [ "aws.elasticbeanstalk" ], "detail-type": [ "Elastic Beanstalk resource status change" ], "detail": { "Status": [ "Environment update failed" ], "Severity": [ "ERROR" ], "EnvironmentName": [ "myEnvironment1", "myEnvironment2" ] } }
  • Statusänderung anderer Ressourcen für Load Balancer, Auto Scaling-Gruppen und Instances

    { "source": [ "aws.elasticbeanstalk" ], "detail-type": [ "Other resource status change" ] }
  • Statusänderung verwalteter Updates für alle Umgebungen

    { "source": [ "aws.elasticbeanstalk" ], "detail-type": [ "Managed update status change" ] }
  • So erfassen Sie alle Ereignisse aus Elastic Beanstalk (schließen Sie den Abschnitt detail-type aus)

    { "source": [ "aws.elasticbeanstalk" ] }

Beispiel für Elastic Beanstalk-Ereignisse

Es folgt ein Beispiel eines Elastic Beanstalk-Ereignisses für eine Statusänderung der Ressourcen:

{ "version":"0", "id":"1234a678-1b23-c123-12fd3f456e78", "detail-type":"Elastic Beanstalk resource status change", "source":"aws.elasticbeanstalk", "account":"111122223333", "time":"2020-11-03T00:31:54Z", "region":"us-east-1", "resources":[ "arn:was:elasticbeanstalk:us-east-1:111122223333:environment/myApplication/myEnvironment" ], "detail":{ "Status":"Environment creation started", "EventDate":1604363513951, "ApplicationName":"myApplication", "Message":"createEnvironment is starting.", "EnvironmentName":"myEnvironment", "Severity":"INFO" } }

Es folgt ein Beispiel eines Elastic Beanstalk-Ereignisses für eine Änderung des Integritätsstatus:

{ "version":"0", "id":"1234a678-1b23-c123-12fd3f456e78", "detail-type":"Health status change", "source":"aws.elasticbeanstalk", "account":"111122223333", "time":"2020-11-03T00:34:48Z", "region":"us-east-1", "resources":[ "arn:was:elasticbeanstalk:us-east-1:111122223333:environment/myApplication/myEnvironment" ], "detail":{ "Status":"Environment health changed", "EventDate":1604363687870, "ApplicationName":"myApplication", "Message":"Environment health has transitioned from Pending to Ok. Initialization completed 1 second ago and took 2 minutes.", "EnvironmentName":"myEnvironment", "Severity":"INFO" } }

Elastic Beanstalk-Ereignisfeldzuordnung

In der folgenden Tabelle werden Elastic Beanstalk-Ereignisfelder und ihre möglichen Zeichenfolgenwerte dem EventBridge-Feld detail-type zugeordnet. Weitere Informationen darüber, wie EventBridge mit Ereignismustern für einen Service funktioniert, finden Sie unter Ereignisse und Ereignismuster in EventBridge.

EventBridge-Feld detail-type Elastic Beanstalk-Feld Status Elastic Beanstalk-Feld Severity (Schweregrad) Elastic Beanstalk-Feld Message (Nachricht)

Statusänderung von Elastic Beanstalk-Ressourcen

Umgebungserstellung gestartet

INFO

createEnvironment wird gestartet.

Umgebungserstellung erfolgreich

INFO

createEnvironment wurde erfolgreich abgeschlossen.

Umgebungserstellung erfolgreich

INFO

Gestartete Umgebung: <Environment Name>. Es gab jedoch Probleme während des Starts. Einzelheiten finden Sie im Ereignisprotokoll.

Umgebungserstellung fehlgeschlagen

ERROR

Die Umgebung konnte nicht gestartet werden.

Umgebungs-Update gestartet

INFO

Das Umgebungs-Update wird gestartet.

Umgebungs-Update erfolgreich

INFO

Das Umgebungs-Update wurde erfolgreich abgeschlossen.

Umgebungs-Update fehlgeschlagen

ERROR

Die Konfiguration konnte nicht bereitgestellt werden.

Umgebungsbeendigung gestartet

INFO

terminateEnvironment wird gestartet.

Umgebungsbeendigung erfolgreich

INFO

terminateEnvironment wurde erfolgreich abgeschlossen.

Umgebungsbeendigung fehlgeschlagen

INFO

Der Schritt für die Umgebungsbeendigung ist fehlgeschlagen, da mindestens einer der Workflows zur Umgebungsbeendigung fehlgeschlagen ist.

Statusänderung anderer Ressourcen

Auto Scaling-Gruppe erstellt

INFO

createEnvironment wird gestartet.

Auto Scaling-Gruppe gelöscht

INFO

createEnvironment wird gestartet.

Instance hinzugefügt

INFO

Die Instance [i-123456789a12b1234] wurde Ihrer Umgebung hinzugefügt.

Instance entfernt

INFO

Die Instance [i-123456789a12b1234] wurde aus Ihrer Umgebung entfernt.

Load Balancer erstellt

INFO

Erstellter Load Balancer namens: <LB Name>

Load Balancer gelöscht

INFO

Gelöschter Load Balancer namens: <LB Name>

Statusänderung der Integrität

Umgebungsintegrität geändert

INFO/WARN

Die Umgebungsintegrität hat zu <healthStatus> gewechselt.

Umgebungsintegrität geändert

INFO/WARN

Die Umgebungsintegrität hat von <healthStatus> zu <healthStatus> gewechselt.

Statusänderung verwalteter Updates

Verwaltetes Update gestartet

INFO

Das verwaltete Plattform-Update wird durchgeführt.

Verwaltetes Update fehlgeschlagen

INFO

Das verwaltete Update ist fehlgeschlagen, Wiederholung in %s Minuten.