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:
- Öffne die EventBridge-Konsole.
- Wähle Zeitpläne und dann den Zeitplan.
- Wähle die Registerkarte Ziel.
- Wähle die Ausführungsrolle aus.
- Wähle Trust relationships (Vertrauensstellungen).
- Stelle sicher, dass Prinzipal auf scheduler.amazonaws.com gesetzt ist.
- 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.