Ongoing service disruptions
For the most recent update on ongoing service disruptions affecting the AWS Middle East (UAE) Region (ME-CENTRAL-1), refer to the AWS Health Dashboard. For information on AWS Service migration, see How do I migrate my services to another region?
Come posso risolvere i problemi di una regola EventBridge in Amazon ECS?
La mia regola Amazon EventBridge non invoca la mia attività Amazon Elastic Container Service (Amazon ECS).
Breve descrizione
Quando utilizzi una regola EventBridge per invocare un'attività Amazon ECS, EventBridge chiama l'API RunTask per eseguire le attività.
La regola EventBridge potrebbe non riuscire a invocare l'attività ECS per i seguenti motivi:
- La configurazione della regola EventBridge non è corretta.
- La configurazione della destinazione della regola EventBridge non è corretta.
- Il ruolo AWS Identity and Management (AWS IAM) non ha le autorizzazioni per eseguire le attività.
Risoluzione
Nota: se ricevi errori quando esegui i comandi dell'Interfaccia della linea di comando AWS (AWS CLI), consulta Risoluzione degli errori per AWS CLI. Inoltre, assicurati di utilizzare la versione più recente di AWS CLI.
Controlla la configurazione della regola EventBridge
Controlla se la regola EventBridge è nello stato ENABLED. Se lo stato è DISABLED, riattiva la regola ed esegui alcuni test per determinare se la regola riesce a creare un'attività.
Per verificare lo stato della regola, puoi utilizzare la console EventBridge o AWS CLI.
Console EventBridge
Completa i seguenti passaggi:
- Apri la console EventBridge.
- Nel pannello di navigazione, scegli Regole.
- In Seleziona bus di eventi, seleziona il router di eventi associato alla regola.
- Scegli la regola per visualizzarne lo stato.
AWS CLI
Esegui questo comando describe-rule:
aws events describe-rule --name "DailyLambdaFunction" --region "us-east-1"
Nota: sostituisci us-east-1 con la tua Regione AWS.
Nell'output del comando, controlla il parametro State per identificare lo stato della regola. Se lo stato della regola è DISABLED, controlla i log di AWS CloudTrail per identificare il motivo per cui è stata disattivata.
Assicurati che il modello di eventi sia corretto e corrisponda agli eventi che provengono dall'origine dell'evento. Per verificare il modello di eventi, utilizza EventBridge Sandbox.
Controlla la configurazione della destinazione della regola EventBridge
Intraprendi le seguenti azioni:
- Controlla i parametri di configurazione ECS Cluster, TaskDefinition e Network configuration della destinazione della regola EventBridge per assicurarti che siano corretti.
- Verifica che il ruolo IAM di EventBridge abbia le autorizzazioni necessarie per eseguire l'attività.
Utilizza le seguenti metriche di Amazon CloudWatch per comprendere meglio il problema:
- Controlla la metrica TriggeredRules. CloudWatch mostra la metrica solo quando un evento attiva una regola.
- Utilizza la metrica Invocations per verificare quante volte EventBridge ha invocato una regola e poi ha tentato di a eseguire l'attività ECS.
- Utilizza la metrica FailedInvocations per determinare il numero di invocazioni non riuscite. Se il valore è alto, la destinazione potrebbe essere configurata in modo errato.
Nota: la statistica Sum potrebbe essere la statistica più utile per verificare la metrica FailedInvocations.
Determina il motivo per il quale la chiamata API RunTask ha avuto esito negativo
Completa i seguenti passaggi:
- Apri la console CloudTrail.
- Nel pannello di navigazione, scegli Cronologia eventi.
- Nell'elenco a discesa Attributi di ricerca, scegli Nome evento.
- Nella casella di testo, inserisci RunTask per filtrare gli eventi correlati all'API RunTask.
- Filtra l'intervallo di tempo in base al runtime previsto dell'attività ECS.
Nota: i valori predefiniti per l'intervallo di tempo sono 30 minuti, 1 ora, 3 ore e 12 ore. Per specificare un intervallo di tempo personalizzato, scegli Intervallo assoluto. - Scegli l'evento, quindi esamina il record dell'evento JSON nella sezione Record di eventi. Cerca un motivo dell'errore in ErrorCode e ErrorMessage.
Utilizza una coda DLQ in EventBridge
Le regole EventBridge supportano le code DLQ. Le code DLQ utilizzano Amazon Simple Queue Service (Amazon SQS) per memorizzare gli eventi di invocazione con esito negativo in una coda standard specificata dall'utente. Quando la regola dell'evento non invoca la sua destinazione, EventBridge distribuisce un payload JSON che contiene i dettagli dell'invocazione e le risposte della destinazione alla coda DLQ. Puoi analizzare l’esito negativo della distribuzione dell’evento nella coda DLQ per risolvere il problema.
Informazioni correlate
Come faccio a risolvere i problemi relativi alle regole di Amazon EventBridge?
How can I use a dead-letter queue to troubleshoot FailedInvocations for EventBridge rules? (Come posso utilizzare una coda DLQ per risolvere l’errore FailedInvocations di una regola EventBridge?)
- Argomenti
- ServerlessApplication Integration
- Lingua
- Italiano
