Direkt zum Inhalt

Wie behebe ich Fehler in EventBridge Scheduler?

Lesedauer: 2 Minute
0

Ich möchte Fehler in Amazon EventBridge Scheduler beheben.

Lösung

EventBridge-Scheduler-Metriken überwachen

Verwende Amazon CloudWatch, um EventBridge-Scheduler-Metriken zu überwachen. Du kannst beispielsweise Metriken überprüfen wie TargetErrorCount, InvocationDroppedCount und TargetErrorThrottledCount.

Eine DLQ konfigurieren

Um Nutzdaten abzurufen, die Aufrufdetails enthalten, wenn ein Zeitplan sein Ziel nicht aufruft, konfiguriere eine Warteschlange für unzustellbare Nachrichten.

Sicherstellen, dass EventBridge Scheduler über die erforderlichen Berechtigungen verfügt

Stelle sicher, dass die AWS Identity and Access Management (IAM)-Ausführungsrolle es EventBridge Scheduler erlaubt, die Rolle zu übernehmen. Die Richtlinie, die du der Rolle zuordnest, muss auch über die Berechtigung zum Aufrufen der Ziele verfügen.

Die Vertrauensstellung überprüfen

Gehe wie folgt vor, um zu überprüfen, ob EventBridge Scheduler die Rolle übernehmen kann:

  1. Öffne die EventBridge-Konsole.
  2. Wähle Zeitpläne und dann den Zeitplan.
  3. Wähle die Registerkarte Ziel.
  4. Wähle die Ausführungsrolle aus.
  5. Wähle Trust relationships (Vertrauensstellungen).
  6. Stelle sicher, dass Prinzipal auf scheduler.amazonaws.com gesetzt ist.
  7. Stelle sicher, dass Aktion auf sts:AssumeRole gesetzt ist.

Hinweis: Es hat sich bewährt, eine Vertrauensrichtlinie für Ausführungsrollen zu verwenden, die dabei hilft, das Confused-Deputy-Problem zu vermeiden.

Zielberechtigungen überprüfen

Um zu überprüfen, ob EventBridge Scheduler das Ziel aufrufen kann, identifiziere den API-Vorgang für den AWS-Service, den EventBridge Scheduler aufrufen soll. Stelle anschließend sicher, dass die IAM-Richtlinie, die der Ausführungsrolle zugeordnet ist, die Berechtigung zum Aufrufen des API-Vorgangs des Service enthält.

Damit EventBridge Scheduler beispielsweise eine AWS-Lambda-Funktion aufruft, musst du die lambda:InvokeFunction-Berechtigung in deine IAM-Richtlinie aufnehmen:

{
    "Version":"2012-10-17",
    "Statement": [
        {
            "Action": [ "lambda:InvokeFunction" ],
            "Effect": "Allow",
            "Resource": "*"
        }
     ]
}

Hinweis: Es hat sich bewährt, bestimmte Amazon-Ressourcennamen (ARNs) anstelle eines Platzhalters (*) zu verwenden.

AWS OFFICIALAktualisiert vor 8 Monaten