Една грешка в DNS и половината интернет се срина: Amazon разкри подробности за най-големия срив в историята на AWS

Най-четени

Емил Василев
Емил Василев
Емил Василев редовно превежда сложни научни теми на достъпен език — от въпроси като „Какво е имало преди Големия взрив?" до практическото приложение на биотехнологиите в лечението на болести. Тази комбинация от технологична и научна журналистика го прави един от най-разностранните автори в екипа на Kaldata.

Amazon публикува подробен технически доклад за повредата, която парализира основните онлайн платформи и предизвика каскадна верига от неизправности в облачната услуга AWS. Проблемът възникна в една от най-критичните части на инфраструктурата – системата за управление на DNS на услугата DynamoDB. Поради грешка в механизма за автоматизация услугата е загубила записи на собствените си адреси, което е предизвикало масови сривове в различни зависими компоненти – от EC2 и Lambda до контейнерните платформи ECS и EKS.

Десетки компании и правителствени организации бяха засегнати от инцидента, а анализаторите изчисляват, че икономическите щети могат да достигнат стотици милиарди долари.

Прекъсването започна в 23:48 ч. тихоокеанско време на 19 октомври (07:48 ч. UTC на 20 октомври), когато клиентите започнаха да регистрират повишена честота на грешките за API DynamoDB в района на Северна Вирджиния (US-EAST-1). Основната причина беше състезание за състояние – рядка грешка при синхронизация, която възниква в автоматичната DNS система на DynamoDB. В резултат на това един от нейните компоненти е оставил празен DNS запис за регионалната крайна точка на услугата, което е довело до загуба на способността на системата да разрешава правилно имена и да пренасочва заявки.

Системата за управление на DNS в DynamoDB е изградена от две независими части, за да се подобри устойчивостта на грешки. Първата е DNS Planner, която следи състоянието на балансьорите на натоварване и генерира DNS планове. Втората са двойка DNS Enactor-и, които прилагат тези промени чрез услугата Route 53 на Amazon. По време на инцидента Planner продължава да генерира нови конфигурации, докато първият Enactor се забавя. Когато вторият Enactor започнал да изпълнява по-новите планове, той почти едновременно започнал процедура за изчистване на остарелите данни – в този момент първият Enactor завърши забавената актуализация. Системата погрешно разпознала предишния план като „остарял“ и изтрила всички IP адреси на регионалния възел, оставяйки инфраструктурата в непоследователно състояние, при което по-нататъшните автоматични актуализации вече не се прилагали.

Преди намесата на инженерите свързаността на DynamoDB спря да работи не само за клиентите, но и за вътрешните услуги на AWS. В доклада се отбелязва, че сред засегнатите са процесите за стартиране на екземпляри EC2 и механизмът за конфигуриране на мрежата. Прекъсването е оказало особено въздействие върху Droplet Workflow Manager (DWFM) – компонент, който управлява отдаването под наем на физически сървъри за виртуални екземпляри EC2. Тъй като DWFM зависи от DynamoDB, DNS грешките му попречиха да извършва проверки на състоянието: „дроплетите“ не можеха да подновяват наема или да инициират промени в състоянието и услугата на практика блокирала.

След като DynamoDB успя да възстанови работата си в 2:25 ч. тихоокеанско време (09:25 ч. UTC), DWFM започна да преинсталира лизинги за целия парк от EC2 сървъри. Мащабът беше толкова голям, че процесът отне часове, а някои лизингови договори изтекоха, преди да могат да бъдат подновени. Системата премина в състояние, което инженерите описаха като „конгестивен колапс“ – претоварване поради лавинообразни прекъсвания, които можеха да бъдат разрешени само ръчно едва в 5:28 часа тихоокеанско време (12:28 UTC).

Последвалото възстановяване на DynamoDB предизвика лавина от чакащи мрежови операции. Network Manager започна да прилага натрупаните промени в конфигурацията, което доведе до забавяне на конфигурирането на мрежите за новостартираните инстанции EC2. Тези забавяния на свой ред нарушиха работата на Network Load Balancer: системата за проверка на състоянието маркира новите инстанции като „дефектни“ и ги премахваше от пула, докато друга проверка не ги върне обратно. В резултат на това бяха засегнати всички зависими от EC2 услуги – AWS Lambda, Elastic Container Service, Elastic Kubernetes Service и Fargate – при които при разгръщането на контейнери и функции се получаваха грешки или забавяния.

От Amazon заявиха, че временно са деактивирали автоматизацията на DNS Planner и DNS Enactor в световен мащаб, докато не бъдат въведени предпазни мерки, за да се предотврати повторение на ситуацията. Компанията се извини на клиентите, като отбеляза, че продължава да анализира подробностите за инцидента във всички засегнати услуги на AWS и планира да преразгледа процедурите за възстановяване, за да намали времето за реакция при подобни сривове.

Инцидентът, който продължи почти цяло денонощие наруши работата на уебсайтове, онлайн платформи и правителствени системи в цял свят. Анализаторите изчисляват, че общите щети – от прекъсването на облачните услуги и загубата на трансакции до нарушаването на веригите за доставки и платежните системи могат да достигнат стотици милиарди долари. Този случай показа колко крехка може да бъде цифровата инфраструктура, дори и да е изградена от най-големия доставчик на облачни услуги на планетата, и как една повреда в механизма на DNS може да се разпространи в целия технологичен пейзаж за броени минути.

АбонаментВсичко важно от света на технологиите, директно в пощата ти.

С абонирането приемате нашите Условия и Политика за поверителност. Може да се отпишете с един клик по всяко време.


Коментирайте статията в нашите Форуми. За да научите първи най-важното, харесайте страницата ни във Facebook, и ни последвайте в Google Новини, TikTok, Telegram и Viber или изтеглете приложението на Kaldata.com за Android, iPhone, Huawei, Google Chrome, Microsoft Edge и Opera!

5 Коментара
стари
нови оценка

Нови ревюта

Подобни новини