Salta al contenuto

Come posso risolvere gli errori che riscontro nel Pianificatore EventBridge?

2 minuti di lettura
0

Riscontro errori nel Pianificatore Amazon EventBridge che desidero risolvere.

Risoluzione

Monitora le metriche del Pianificatore EventBridge

Utilizza Amazon CloudWatch per monitorare le metriche del Pianificatore EventBridge. Ad esempio, puoi controllare metriche come TargetErrorCount, InvocationDroppedCount e TargetErrorThrottledCount.

Configura una coda DLQ

Per ottenere un payload che contenga i dettagli dell'invocazione quando una pianificazione non riesce a invocare la sua destinazione, configura una coda DLQ.

Verifica che il Pianificatore EventBridge abbia le autorizzazioni necessarie

Verifica che il ruolo di esecuzione AWS Identity and Access Management (AWS IAM) consenta al Pianificatore EventBridge di assumere il ruolo. La policy collegata al ruolo deve inoltre disporre dell'autorizzazione per invocare le destinazioni.

Verifica la relazione di attendibilità

Per verificare che il Pianificatore EventBridge possa assumere il ruolo, completa i seguenti passaggi:

  1. Apri la console EventBridge.
  2. Scegli Pianificazioni, quindi seleziona la pianificazione.
  3. Scegli la scheda Destinazione.
  4. Seleziona il ruolo di esecuzione.
  5. Scegli Relazioni di attendibilità.
  6. Verifica che l'impostazione per Principale sia scheduler.amazonaws.com.
  7. Verifica che l'impostazione per Operazione sia sts:AssumeRole.

Nota: è consigliabile utilizzare una policy di attendibilità del ruolo di esecuzione che aiuti a evitare il problema del "confused deputy".

Verifica le autorizzazioni della destinazione

Per verificare se il Pianificatore EventBridge può invocare la destinazione, identifica l'operazione API per il servizio AWS che desideri che il Pianificatore EventBridge chiami. Quindi verifica che la policy IAM associata al ruolo di esecuzione includa l'autorizzazione a chiamare l'operazione API del servizio.

Ad esempio, per fare in modo che il Pianificatore EventBridge invochi una funzione AWS Lambda, devi includere l'autorizzazione lambda:InvokeFunction nella policy IAM:

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

Nota: è consigliabile utilizzare nomi della risorsa Amazon (ARN) specifici anziché un carattere jolly (\ *).

AWS UFFICIALEAggiornata 8 mesi fa