Je souhaite modifier les paramètres de la politique de nouvelles tentatives d'Amazon EventBridge et configurer une file d'attente de lettres mortes (DLQ) pour les appels qui ont échoué.
Résolution
Remarque : Si des erreurs surviennent lorsque vous exécutez des commandes de l'interface de la ligne de commande AWS (AWS CLI), consultez la section Résoudre des erreurs liées à l’AWS CLI. Vérifiez également que vous utilisez bien la version la plus récente de l'interface.
Modifier la durée pendant laquelle EventBridge effectue de nouvelles tentatives
EventBridge utilise les fonctionnalités de backoff exponentiel et de gigue ou un délai aléatoire pour renvoyer l'événement pendant 24 heures et jusqu'à 185 fois. Pour éviter les échecs d'invocation, vous pouvez modifier la durée et le nombre de nouvelles tentatives d'EventBridge dans les paramètres de politique de nouvelle tentative de la cible.
Remarque : EventBridge essaie de répondre uniquement avec un code de statut 5xx ou 429 HTTP pendant 24 heures maximum. EventBridge ne réessaie pas les autres codes de statut 4xx HTTP.
Pour utiliser la console EventBridge afin de configurer la politique de nouvelle tentative de la cible, procédez comme suit :
- Ouvrez la console EventBridge.
- Sélectionnez votre règle EventBridge.
- Choisissez l’onglet Cibles, puis Modifier.
- Développez l’onglet Paramètres supplémentaires.
- Pour Nouvelles tentatives, saisissez la valeur personnalisée.
Remarque : Pour les règles d’événement comportant plusieurs cibles, vous devez configurer individuellement la politique de nouvelles tentatives pour chaque cible.
Vous pouvez également exécuter la commande put-targets ou l’API RetryPolicy de l’interface de ligne de commande pour configurer une politique de nouvelles tentatives.
EventBridge gère les erreurs liées aux événements de différentes manières. Par exemple, EventBridge peut ne pas proposer d'événement lorsqu'une cible ne dispose pas des autorisations requises ou qu'une cible n'existe plus. Il se peut également qu'EventBridge n'essaie pas de renvoyer l'événement. À la place, EventBridge peut supprimer l'événement ou l'envoyer à un DLQ que vous avez configuré.
Configurer un DLQ EventBridge
Pour éviter la perte d'événements en raison d'un échec de diffusion, configurez un EventBridge DLQ. Le DLQ reçoit tous les événements ayant échoué pour les traiter ultérieurement.
Remarque : Avant de configurer un DLQ pour une cible, vous devez créer une file d'attente Amazon Simple Queue Service (Amazon SQS). Dans la politique de file d'attente Amazon SQS, ajoutez les autorisations nécessaires pour que la règle EventBridge invoque la file d'attente. Si vous chiffrez la file d'attente Amazon SQS, ajoutez les autorisations Decrypt et GenerateDataKey à la politique de clé AWS Key Management Service (AWS KMS).
Pour configurer un DLQ, procédez comme suit :
- Ouvrez la console EventBridge.
- Sélectionnez votre règle EventBridge.
- Choisissez l’onglet Cibles, puis Modifier.
- Développez l’onglet Paramètres supplémentaires.
- Dans la section File d'attente de lettres mortes, sélectionnez une option selon que votre DLQ SQS se trouve dans le même compte AWS ou dans un compte différent.
Vous pouvez également exécuter la commande put-targets de l'interface de ligne de commande AWS pour configurer un DLQ. Pour le paramètre DeadLetterConfig, utilisez l'ARN de la file d'attente SQS.
Récupérer les détails de l’erreur à partir d'un DLQ
Pour confirmer que la règle d’événement a envoyé le message à un DLQ, consultez la métrique InvocationSentToDLQ.
Si un message s’affiche, procédez comme suit :
- Ouvrez la console SQS.
- Choisissez la file d'attente que vous utilisez comme DLQ pour votre règle d'événement.
- Choisissez Envoyer et recevoir des messages, puis Rechercher des messages.
- Dans la section Messages, ouvrez le message.
- Choisissez Attributs pour déterminer pourquoi EventBridge n'a pas réussi à envoyer de message à la cible.
Remarque : Les données de l'onglet Corps sont la charge utile qu'EventBridge envoie à la cible lorsque la diffusion de l'événement n'échoue pas.
Informations connexes
Surveillance d'Amazon EventBridge
Métriques EventBridge