Log in to leave a comment
No posts yet
En octobre 2025, le cœur du monde cloud, la région AWS US-EAST-1, s'est arrêté. EC2 a cessé de créer des instances et Lambda a refusé de répondre. Au bout de tous les dominos se trouvait DynamoDB. AWS a qualifié cet incident de race condition potentielle dans son rapport officiel. Mais était-ce simplement un problème de timing malchanceux ? Pour un ingénieur senior, cet événement est une catastrophe née d'un défaut logique dans un système distribué et de l'absence de mécanismes de récupération.
DynamoDB utilise une structure arborescente DNS et des enregistrements basés sur le poids pour garantir une haute disponibilité. Le trafic est géré par trois composants clés.
| Composant | Rôle | Mode de fonctionnement |
|---|---|---|
| DNS Planner | Calcul du ratio de distribution du trafic | Génération de plans d'optimisation au niveau régional |
| DNS Enactor | Mise à jour des enregistrements Route 53 | Exécution indépendante dans 3 AZ |
| DWFM | Coordination de l'ensemble du workflow | Orchestration de la propagation des mises à jour |
Le système a été conçu pour bloquer le trafic en mettant le poids à 0 si un segment spécifique rencontre un problème. La théorie était parfaite, mais des variables imprévues ont surgi lors de l'exploitation réelle.
Le jour de l'incident, face à une surcharge, le traitement de l'Enactor 1 a été retardé. Entre-temps, l'Enactor 2 a appliqué la version la plus récente, le Plan 102. C'est ici qu'une réaction en chaîne fatale s'est produite.
D'abord, l'Enactor 1, qui était retardé, s'est réveillé tardivement et a écrasé les informations récentes avec une donnée obsolète, le Plan 100. Lors de l'étape de nettoyage suivante, l'Enactor 2 a commencé à supprimer les anciens enregistrements qui ne figuraient pas dans le Plan 102 (sa référence actuelle). Les données que l'Enactor 1 venait de restaurer n'étaient, du point de vue de l'Enactor 2, que des cibles à supprimer. Finalement, les enregistrements DNS du endpoint principal de DynamoDB se sont volatilisés.
La plupart des analyses s'arrêtent ici, concluant que les données ont été effacées à cause d'un timing malencontreux. Cependant, la question centrale est : pourquoi le système n'a-t-il pas pu se rétablir de lui-même en voyant des enregistrements vides ?
Une fois le endpoint disparu, les systèmes chargés de la récupération ont déclenché une série d'exceptions d'exécution. Le code de l'Enactor n'avait pas prévu d'état où l'enregistrement n'existait pas. Tel un "Use-after-free" en gestion de mémoire, le système s'est effondré en tentant de référencer une cible déjà disparue.
La logique de rollback automatique a aggravé la situation. La base de données servant de référence pour la récupération était elle-même corrompue. Le système est entré dans une boucle infinie, et l'automatisation, au lieu d'être un outil de réparation, est devenue une arme de destruction.
AWS a annoncé l'introduction de fonctions de limitation de débit (rate limiting). Cela atténue les symptômes, mais n'est pas un remède fondamental. Si un système ne possède pas la capacité de reconnaître un état anormal et de s'auto-guérir, la même tragédie se répétera.
| Catégorie | Explication officielle | Vision senior |
|---|---|---|
| Cause de la panne | Conflit de mise à jour simultanée | Absence de validation au moment de l'écriture (CAS) |
| Phénomène de panne | Arrêt de l'automatisation | Conception de défaut sécurisé (Safe Default) insuffisante |
| Mesure de réponse | Limitation de la vitesse de mise à jour | Garantie de l'idempotence de la logique de récupération |
Cet incident de 2025 prouve le poids d'une seule ligne de code. Ce n'est pas un piratage grandiose qui a mis à terre une infrastructure de plusieurs milliards de dollars, mais une petite faille dans la gestion des exceptions, n'ayant pas défini comment agir face à un enregistrement DNS vide.
L'essence de l'ingénierie n'est pas de créer des fonctionnalités complexes. C'est la capacité de concevoir un système qui s'effondre avec élégance en cas d'échec imprévu et qui se rétablit de manière fiable.
Check-list essentielle pour la stabilité
Le véritable expert est celui qui demande avec insistance non seulement comment le système a explosé, mais pourquoi il ne s'est pas rétabli. Votre système est-il prêt, dès maintenant, à échouer en toute sécurité ?