Az Amazon nemrégiben részletes postmortem jelentést tett közzé, amelyben feltárta, hogyan vezetett egy kritikus hiba a DynamoDB DNS-kezelő rendszerében egy egész napos szolgáltatáskimaradáshoz. Ez a hiba számos nagy weboldalt és szolgáltatást érintett több márka alatt, és a becslések szerint az okozott károk akár százmilliárd dolláros nagyságrendűek is lehetnek.
A hiba kezdete és alapvető okai
Az incidens 2023. október 19-én, helyi idő szerint 23:48-kor (2023. október 20-án 7:48 UTC) kezdődött, amikor az ügyfelek megnövekedett DynamoDB API hibaarányokat jeleztek az Egyesült Államok északi virginiai US-EAST-1 régiójában.
A probléma gyökere egy versenyhelyzet (race condition) volt a DynamoDB automatizált DNS-kezelő rendszerében, amelynek következtében üres DNS rekord maradt a szolgáltatás regionális végpontjához. Ez az állapot megakadályozta a rendszer további automatikus frissítéseit, ami láncreakciót indított el.
A DynamoDB DNS-kezelő rendszer felépítése
A DNS-kezelő rendszer két független komponensből áll az elérhetőség biztosítása érdekében:
- DNS Planner: Ez a komponens figyeli a terheléselosztók állapotát, és elkészíti a szükséges DNS-terveket.
- DNS Enactor: Ez hajtja végre a változtatásokat az Amazon Route 53-on keresztül.
Az Amazon postmortem jelentése szerint az API hibaarány növekedését egy „rejtett hiba” okozta az automatizált DNS-kezelő rendszerben.
A versenyhelyzet részletei
A versenyhelyzet akkor alakult ki, amikor az egyik DNS Enactor „szokatlanul nagy késéseket” tapasztalt, miközben a DNS Planner továbbra is új terveket generált. Egy második DNS Enactor elkezdte alkalmazni az újabb terveket, és egy takarítási folyamatot hajtott végre éppen akkor, amikor az első Enactor befejezte késedelmes futását.
Ez a takarítás törölte a régebbi tervet elavultként, ami azonnal eltávolította az összes IP-címet a regionális végpontról. Így a rendszer inkonzisztens állapotba került, amely megakadályozta bármelyik DNS Enactor további automatikus frissítéseinek alkalmazását.
Közvetlen hatások és manuális beavatkozás szükségessége
A manuális beavatkozás előtt a DynamoDB-hez kapcsolódó rendszerek DNS-hibákat tapasztaltak, amelyek érintették mind az ügyfélforgalmat, mind az AWS belső szolgáltatásait. Ez kihatott például EC2 példányok indítására és hálózati konfigurációkra is.
A Droplet Workflow Manager (DWFM) problémái
A DWFM felelős az EC2 példányokat kiszolgáló fizikai szerverek bérleti jogainak kezeléséért. Mivel ez a komponens erősen támaszkodik a DynamoDB-re, a DNS-hibák miatt nem tudta ellenőrizni állapotát megfelelően. Ennek következtében az EC2 szerverek („droplet”-ek) nem tudtak új bérleti jogokat létrehozni az állapotváltozásokhoz.
A helyreállítás folyamata és további problémák
DynamoDB 2023. október 20-án 2:25-kor PDT (9:25 UTC) helyreállt. Ezt követően a DWFM megpróbálta újra létrehozni a bérleti jogokat az egész EC2 flottánál. Az óriási méret miatt ez a folyamat olyan hosszúra nyúlt, hogy sok bérleti jog idő előtt lejárt, mielőtt befejeződött volna – ez „torlódási összeomláshoz” vezetett, amelyet csak kézi beavatkozással sikerült orvosolni 5:28-kor PDT (12:28 UTC).
Hálózati konfigurációk késedelmei és hatásaik
Ezt követően a Network Manager elkezdte feldolgozni az elmaradt hálózati konfigurációkat, ami késedelmeket okozott az újonnan indított EC2 példányok hálózati beállításaiban. Ezek a késedelmek hatással voltak a Network Load Balancer (NLB) szolgáltatásra is.
A NLB egészségügyi ellenőrző alrendszere eltávolította azokat az új EC2 példányokat, amelyek nem feleltek meg az egészségügyi ellenőrzéseknek hálózati késedelmek miatt, majd visszaállította őket, amikor későbbi ellenőrzések sikeresek voltak.
Kiszolgáltatott szolgáltatások és széleskörű hatások
Mivel az EC2 példányok indítása akadályozott volt, számos rájuk épülő szolgáltatás is problémákat tapasztalt:
- AWS Lambda
- Elastic Container Service (ECS)
- Elastic Kubernetes Service (EKS)
- Fargate
Ezek mindegyike részben vagy egészben működésképtelenné vált vagy jelentős teljesítménycsökkenést szenvedett el.
Amazon válasza és jövőbeli lépések
Az Amazon letiltotta világszerte a DynamoDB DNS Planner és DNS Enactor automatizációját mindaddig, amíg nem tudják bevezetni azokat a biztonsági intézkedéseket, amelyek megakadályozzák hasonló versenyhelyzetek ismétlődését.
„Ahogy folytatjuk ennek az eseménynek minden AWS szolgáltatásra kiterjedő részleteinek feldolgozását, további módszereket keresünk arra, hogy elkerüljük hasonló események hatását a jövőben, valamint hogy tovább csökkentsük a helyreállítási időt.”
Következtetések: A leállás súlyossága és tanulságai
A többórás kimaradás jelentős fennakadásokat okozott számos weboldal és szolgáltatás működésében egész nap folyamán. Kormányzati rendszereket is érintett ez az incidens. Az okozott károk becslései jelenleg is zajlanak, de egyes szakértők szerint akár százmilliárd dolláros nagyságrendű gazdasági veszteséget is jelenthet ez az esemény.
Ez az eset jól mutatja: még egy világméretű technológiai óriásnál is előfordulhatnak olyan rejtett hibák, amelyek láncreakcióként súlyos működési zavarokat idéznek elő. A jövőben kulcsfontosságú lesz még robosztusabb rendszerek tervezése és gyorsabb reagálási mechanizmusok kialakítása annak érdekében, hogy hasonló incidensek ne ismétlődjenek meg.
Forrás: https://www.theregister.com/2025/10/23/amazon_outage_postmortem/