Direkt zum Inhalt

Wie behebe ich eine EventBridge-Regel mit Amazon ECS?

Lesedauer: 4 Minute
0

Meine Amazon EventBridge-Regel ruft meine Amazon Elastic Container Service (Amazon ECS)-Aufgabe nicht auf.

Kurzbeschreibung

Wenn du eine EventBridge-Regel verwendest, um eine Amazon ECS-Aufgabe aufzurufen, ruft EventBridge die RunTask-API auf, um die Aufgaben auszuführen.

Die EventBridge-Regel kann die ECS-Aufgabe möglicherweise aus den folgenden Gründen nicht aufrufen:

  • Die EventBridge-Regelkonfiguration ist falsch.
  • Die Zielkonfiguration der EventBridge-Regel ist falsch.
  • Die Rolle AWS Identity and Management (IAM) verfügt nicht über die Berechtigungen zum Ausführen der Aufgaben.

Lösung

Hinweis: Wenn du beim Ausführen von AWS Command Line Interface (AWS CLI)-Befehlen Fehlermeldungen erhältst, findest du weitere Informationen dazu unter Problembehandlung bei der AWS CLI. Stelle außerdem sicher, dass du die neueste Version der AWS CLI verwendest.

EventBridge-Regelkonfiguration überprüfen

Prüfe, ob sich die EventBridge-Regel im Status AKTIVIERT befindet. Wenn sie den Status DEAKTIVIERT hat, reaktiviere die Regel und führe Tests durch, um festzustellen, ob die Regel eine Aufgabe erstellen kann.

Um den Status der Regel zu überprüfen, kannst du die EventBridge-Konsole oder die AWS-CLI verwenden.

EventBridge-Konsole

Führe die folgenden Schritte aus:

  1. Öffne die EventBridge-Konsole.
  2. Wähle im Navigationsbereich Regeln.
  3. Unter Event-Bus auswählen den Event-Bus auswählen, der der Regel zugeordnet ist.
  4. Wähle die Regel, um ihren Status anzuzeigen.

AWS CLI

Führe den folgenden Befehl describe-rule aus:

aws events describe-rule --name "DailyLambdaFunction" --region "us-east-1"

Hinweis: Ersetze us-east-1 durch die AWS-Region.

Überprüfe in der Befehlsausgabe den Status-Parameter, um den Status der Regel zu identifizieren. Wenn sich die Regel im Status DEAKTIVIERT befindet, überprüfe in den AWS CloudTrail-Protokollen, warum die Regel deaktiviert wurde.

Stelle sicher, dass das Ereignismuster korrekt ist und mit den Ereignissen übereinstimmt, die von der Ereignisquelle stammen. Verwende die EventBridge-Sandbox, um das Ereignismuster zu überprüfen.

Zielkonfiguration der EventBridge-Regel überprüfen

Ergreife die folgenden Maßnahmen:

  • Überprüfe die Parameter ECS-Cluster, TaskDefinition und Netzwerkkonfiguration für das Ziel der EventBridge-Regel, um sicherzustellen, dass sie korrekt sind.
  • Stelle sicher, dass die EventBridge-IAM-Rolle über die erforderlichen Berechtigungen zum Ausführen der Aufgabe verfügt.

Verwende die folgenden Amazon CloudWatch-Metriken, um dir bei der Fehlerbehebung zu helfen:

  • Suche nach der TriggeredRules-Metrik. CloudWatch zeigt die Metrik nur an, wenn ein Ereignis eine Regel auslöst.
  • Verwende die Metrik Aufrufe, um zu überprüfen, wie oft EventBridge eine Regel aufgerufen und dann versucht hat, die ECS-Aufgabe auszuführen.
  • Verwende die Metrik FailedInvocations, um die Anzahl fehlgeschlagener Aufrufe zu ermitteln. Wenn der Wert einen hohen Wert hat, ist das Ziel möglicherweise falsch konfiguriert.
    Hinweis: Die Summenstatistik ist möglicherweise die nützlichste Statistik, um nach der Metrik FailedInvocations zu suchen.

Ermitteln, warum der RunTask-API-Aufruf fehlgeschlagen ist

Führe die folgenden Schritte aus:

  1. Öffne die CloudTrail-Konsole.
  2. Wähle im Navigationsbereich die Option Ereignisverlauf aus.
  3. Wähle in der Dropdownliste Suchattribute die Option Ereignisname.
  4. Gib in das Textfeld RunTask ein, um die Ereignisse herauszufiltern, die sich auf die RunTask-API beziehen.
  5. Filtert den Zeitbereich auf der Grundlage der erwarteten ECS-Aufgabenlaufzeit.
    Hinweis: Die Standardwerte für den Zeitbereich sind 30 Minuten, 1 Stunde, 3 Stunden und 12 Stunden. Um einen benutzerdefinierten Zeitraum anzugeben, wähle Absoluter Bereich.
  6. Wähle das Ereignis und überprüfe dann den JSON-Ereignisdatensatz im Abschnitt Ereignisdatensatz. Suche unter errorCode und errorMessage nach einem Fehlergrund.

EventBridge DLQ verwenden

EventBridge-Regeln unterstützen Warteschlangen für unzustellbare Nachrichten (DLQs). DLQs verwendet den Amazon Simple Queue Service (Amazon SQS), um fehlgeschlagene Aufrufereignisse in einer von den angegebenen Standardwarteschlange zu speichern. Wenn die Ereignisregel ihr Ziel nicht aufruft, liefert EventBridge JSON-Nutzdaten, die Aufrufdetails und Antworten vom Ziel an den DLQ enthält. Du kannst die fehlgeschlagene Ereignisübermittlung im DLQ analysieren, um das Problem zu lösen.

Ähnliche Informationen

Wie kann ich Probleme mit den Amazon-EventBridge-Regeln beheben?

Wie kann ich eine Warteschlange für unzustellbare Nachrichten verwenden, um FailedInvocations für EventBridge-Regeln zu beheben?

AWS OFFICIALAktualisiert vor einem Jahr