2023. október 19-én az Amazon Web Services (AWS) egyik kulcsfontosságú szolgáltatása, a DynamoDB, kritikus hibát szenvedett el, amely több órán át tartó kimaradást eredményezett, és számos nagy weboldalt, valamint szolgáltatást érintett világszerte. Az incidens részleteit az Amazon egy alapos postmortem jelentésben tette közzé, amely feltárja a hiba okait, következményeit és az azóta megtett lépéseket.
A hiba kezdete és alapvető okai
Az esemény 2023. október 19-én 23:48-kor (PDT időzóna szerint), vagyis október 20-án 7:48 UTC-kor kezdődött, amikor az ügyfelek jelenteni kezdték a megnövekedett DynamoDB API hibaarányokat az Egyesült Államok keleti partján található Northern Virginia régióban (US-EAST-1).
A probléma gyökere egy versenyhelyzet (race condition) volt a DynamoDB automatizált DNS-kezelő rendszerében, amelynek következtében egy üres DNS rekord maradt fenn a szolgáltatás regionális végpontjához. Ez a DNS rekord hiánya megakadályozta a megfelelő hálózati elérést, ami láncreakcióként további problémákat okozott.
A DynamoDB DNS-kezelő rendszer felépítése
Az Amazon DNS-kezelő rendszere két független komponensből áll a magas rendelkezésre állás érdekében:
- DNS Planner: Ez a komponens figyeli a terheléselosztók egészségi állapotát, és létrehozza a szükséges DNS-terveket.
- DNS Enactor: Ez felelős azért, hogy az Amazon Route 53-on keresztül végrehajtsa a DNS-változtatásokat.
Az incidens során egy „rejtett hiba” (latent defect) aktiválódott az automatizált DNS-kezelő rendszerben, amelyet az Amazon postmortem jelentése részletesen ismertet.
A versenyhelyzet kialakulása és következményei
A versenyhelyzet akkor alakult ki, amikor az egyik DNS Enactor szokatlanul nagy késedelmet tapasztalt a végrehajtás során, miközben a DNS Planner továbbra is új terveket generált. Egy második DNS Enactor elkezdte alkalmazni ezeket az új terveket, és éppen akkor hajtotta végre a takarítási folyamatot, amikor az első Enactor befejezte késleltetett futását.
Ez a takarítási folyamat törölte az idősebb tervet mint elavultat, ami az összes IP-cím eltávolítását eredményezte a regionális végpontról. Így a rendszer inkonzisztens állapotba került, ami megakadályozta bármely további automatikus frissítés alkalmazását bármelyik DNS Enactor által.
Közvetlen hatások: DNS hibák és AWS szolgáltatások leállása
Mielőtt manuális beavatkozás történt volna, számos rendszer tapasztalt DNS-hibákat, beleértve 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ójára is.
A Droplet Workflow Manager (DWFM), amely felelős az EC2 fizikai szerverek bérleti jogainak kezeléséért, szintén függött a DynamodDB-től. A DNS-hibák miatt a DWFM állapotellenőrzései meghiúsultak, így nem tudtak új bérleti jogokat létrehozni az EC2 szerverek állapotváltozásaihoz.
A helyreállítás folyamata és további problémák
A DynamoDB 2023. október 20-án 2:25-kor (PDT) helyreállt. Ezt követően a DWFM megpróbálta újra létrehozni a bérleti jogokat az egész EC2 flottán belül. Azonban a hatalmas méret miatt ez a folyamat olyan hosszúra nyúlt, hogy sok bérleti jog lejárt még mielőtt befejeződött volna – ez „torlódási összeomláshoz” vezetett (congestive collapse), amely manuális beavatkozást igényelt egészen 5:28-ig (PDT).
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.
Kiterjedt hatások más AWS szolgáltatásokra
A hálózati késedelmek negatívan érintették a Network Load Balancer (NLB) szolgáltatást is. Az NLB egészségellenő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 sikeres ellenőrzések után.
Mivel az EC2 példányok indítása akadályozott volt, számos rájuk épülő szolgáltatás – mint például az AWS Lambda, Elastic Container Service (ECS), Elastic Kubernetes Service (EKS) és Fargate – szintén problémákat tapasztalt.
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 addig, amíg olyan biztonsági intézkedéseket nem vezetnek be, amelyek megakadályozzák hasonló versenyhelyzetek kialakulását.
„Ahogy tovább dolgozunk ezen esemény részletein minden AWS szolgáltatásban, további módokat keresünk arra, hogy elkerüljük hasonló események hatását a jövőben, valamint hogyan csökkentsük még inkább a helyreállítási időt.” – nyilatkozta az Amazon hivatalosan.
A kimaradás gazdasági és társadalmi hatásai
A több órán át tartó kimaradás jelentős fennakadásokat okozott számos weboldal és online szolgáltatás működésében világszerte. Nemcsak kereskedelmi platformok szenvedtek kárt, hanem kormányzati szolgáltatások is érintettek voltak.
Egyes becslések szerint az ebből fakadó károk összege akár több száz milliárd dollárra is rúghat – figyelembe véve mindazt az üzleti veszteséget és társadalmi zavart, amit ez az incidens előidézett.
Összegzés
Az Amazon DynamoDB-nél bekövetkezett kritikus DNS-kezelési hiba jól mutatja, milyen komplex rendszerek esetén milyen könnyen alakulhat ki láncreakciós probléma egyetlen rejtett szoftverhiba miatt. Az eset rávilágít arra is, hogy még a legnagyobb felhőszolgáltatók infrastruktúrája sem mentes teljesen ilyen jellegű kockázatoktól.
Fontos tanulságok:
- A komplex automatizált rendszerekben rejlő versenyhelyzetek gondos kezelése elengedhetetlen.
- A gyors manuális beavatkozás kritikus lehet egy ilyen incidens kezelésében.
- A folyamatos fejlesztés és biztonsági intézkedések segíthetnek megelőzni hasonló jövőbeli problémákat.
- A felhasználóknak érdemes felkészülniük arra is, hogy még nagy szolgáltatók rendszereiben is előfordulhatnak váratlan kimaradások.
Forrás: https://www.theregister.com/2025/10/23/amazon_outage_postmortem/?td=rt-3a