Come posso risolvere i problemi relativi alle regole di EventBridge?

Ultimo aggiornamento: 15/04/2022

Si è verificato un evento corrispondente alla mia regola di Amazon EventBridge. Tuttavia, la mia regola non funziona correttamente. In che modo posso risolvere il problema?

Breve descrizione

Determina se il problema è che la regola non si sta attivando o se la destinazione non è stata richiamata. Dopo aver determinato la fonte del problema, è possibile convalidare l'evento in arrivo oppure è possibile convalidare la destinazione.

Risoluzione

Verifica se la regola non viene attivata o se la destinazione non viene richiamata

A tale scopo, utilizza i parametri EventBridge corrispondenti per esaminare le prestazioni della regola.

Il parametro TriggeredRules illustra il numero di volte in cui una regola ha corrisposto un evento o è stata eseguita. Questo parametro è utile per verificare se una regola pianificata è stata eseguita o se una regola ha corrisposto a un evento specifico. Dopo che la regola è stata attivata correttamente, EventBridge inoltra l'evento alla destinazione.

Quando una regola invoca una destinazione viene generato un datapoint Invocations. EventBridge effettua più tentativi se incontra difficoltà nel consegnare l'evento ala destinazione. Quando EventBridge non riesce a invocare la destinazione in modo permanente viene generato un datapoint FailedInvocations. FailedInvocations indica problemi con la configurazione di destinazione.

Esamina i parametri di Amazon CloudWatch per la regola EventBridge procedendo come segue:

  1. Apri la console CloudWatch.
  2. Seleziona Tutti i parametri.
  3. Seleziona lo spazio dei nomi AWS/Events.
  4. Seleziona i parametri TriggerRules,Invocations e FailedInvocations (se disponibili) per la regola in questione. Questi parametri possono essere visualizzati con la statistica SUM.

Convalida l'evento in arrivo

  • Per le regole basate sugli eventi, il modello di eventi deve essere configurato in modo che corrisponda all'evento desiderato. È possibile convalidare il modello di eventi utilizzando la console EventBridge durante la creazione della regola. EventBridge fornisce anche l'API TestEventPattern per la convalida del modello di eventi.
  • Se l'evento in questione viene acquisito da AWS CloudTrail, puoi recuperare l'evento da CloudTrail. Verifica quindi che il modello di eventi fornito sia corretto.
  • Tieni presente che alcuni servizi AWS sono disponibili solo nella regione us-east-1. Ad esempio, le chiamate API IAM vengono pubblicate solo in us-east-1. Ciò significa che la regola EventBridge corrispondente deve essere creata nella stessa regione.

Convalida la destinazione

  • Quando le regole vengono create utilizzando la console EventBridge, la console aggiunge automaticamente le autorizzazioni richieste ai seguenti elementi:
    Il ruolo IAM associato alla regola EventBridge.
    La policy delle risorse associata alla destinazione.
    Se la regola viene distribuita utilizzando SDK AWS, l'interfaccia a riga di comando di AWS o AWS CloudFormation, è necessario configurare in modo esplicito le autorizzazioni.
  • EventBridge deve avere l'accesso appropriato per richiamare la destinazione. A seconda della destinazione, verifica che il ruolo IAM o la policy delle risorse appropriati dispongano delle autorizzazioni corrette. I datapoint FailedInvocations vengono generati a causa di autorizzazioni di destinazione inadeguate.
  • Se non ci sono datapoint FailedInvocations, EventBridge ha consegnato l'evento alla destinazione con successo. Tuttavia, la destinazione potrebbe aver riscontrato i propri problemi. Ad esempio, una destinazione AWS Lambda potrebbe aver riscontrato errori o limitazioni della larghezza di banda della rete indipendentemente da EventBridge. Per il timestamp in cui la destinazione è stata richiamata dalla regola EventBridge, rivedi i parametri CloudWatch del target e tutti i log pertinenti.
  • Una coda di messaggi non recapitabili (DLQ) di Amazon Simple Queue Service (Amazon SQS) può essere associata alla destinazione. Tutti gli eventi che non sono stati consegnati alla destinazione vengono inviati alla coda dei messaggi non recapitabili. Questo è utile per vedere maggiori dettagli sugli eventi falliti. Ad esempio, una strutturazione errata dell'evento con Input Transformer può causare errori di convalida dell'input sulla destinazione.