Développement5 juillet 2026· via DEV Community

Pourquoi une mauvaise configuration AWS Lambda et SQS duplique discrètement le travail

Pourquoi une mauvaise configuration AWS Lambda et SQS duplique discrètement le travail

Image : DEV Community

Quand les e-mails de confirmation arrivent deux fois, les coupables habituels sont des bogues ou des doublons de messages. Mais chez AWS, la cause est souvent un décalage invisible entre deux paramètres de délai. Si le temps d’exécution de votre Lambda dépasse le délai de visibilité de la file SQS, le système suppose que la fonction a échoué et redélivre le message—entraînant un travail en double, sans aucun journal d’erreur.

Ce scénario se produit lorsque le temps d’exécution d’une fonction dépasse la fenêtre par défaut de 30 secondes. Par exemple, une Lambda récente de traitement de commandes a vu son temps d’exécution passer de 25 à 45 secondes après l’ajout de vérifications anti-fraude. Avec la file toujours réglée à 30 secondes, SQS a commencé à redélivrer des messages tandis que la Lambda d’origine était encore en cours d’exécution. Résultat ? Deux invocations simultanées ont traité la même commande, toutes deux ont réussi, et toutes deux ont envoyé des e-mails. Aucun erreur n’est apparu—seulement une duplication silencieuse.

La configuration qui cache le problème

Trois facteurs rendent cette mauvaise configuration particulièrement difficile à détecter. D’abord, elle passe tous les tests. En environnement de staging ou local, les messages synthétiques sont traités rapidement, donc le délai de 30 secondes n’est jamais atteint. Ensuite, les valeurs par défaut créent un piège. Les files SQS commencent avec un délai de visibilité de 30 secondes, tandis que les fonctions Lambda voient souvent leurs délais étendus à 60, 120, voire 900 secondes à mesure que la charge augmente. Ces paramètres vivent dans des consoles et des ressources IaC distinctes, rarement mis à jour de manière synchronisée. Enfin, les symptômes pointent ailleurs. Le traitement en double ressemble à un bogue applicatif, poussant les équipes à auditer les gestionnaires ou les producteurs avant de vérifier les valeurs de délai.

Une ligne de code IaC pour corriger le problème

La solution est simple : aligner le délai de visibilité de la file SQS sur celui de la Lambda. Des outils comme Infrawise automatisent cette vérification en traçant un graphique des ressources AWS et en comparant les délais de visibilité avec les déclencheurs des Lambdas. Quand le délai d’une file est plus court que celui de la fonction, le système signale une alerte de haute gravité—avant que les utilisateurs ne remarquent les doublons. L’essentiel est la précision : seules les files activement liées à des Lambdas sont analysées, évitant ainsi le bruit des mappings désactivés.


Source : DEV Community. Synthèse éditoriale assistée par IA — TechnoExpress.

Lire la source originale sur DEV Community →

← Retour à l'accueil