Amazon обяви, че масовият срив на Amazon Web Services (AWS) в понеделник е бил причинен от сериозен DNS отказ, възникнал в резултат на проблем в системата за управление на DNS на базата данни DynamoDB. Аварията доведе до спиране на множество уебсайтове и онлайн услуги по света, включително в САЩ и Европа, като продължи над 14 часа.
Коренът на проблема – грешка в DNS системата на DynamoDB
Според публикувания пост-инцидентен доклад от четвъртък, сривът е бил предизвикан от „race condition“ – състояние, при което два или повече процеса едновременно опитват да достъпят и променят една и съща система. В случая това довело до грешка в DNS управлението на DynamoDB, която погрешно изтрила всички IP адреси, свързани с регионалната крайна точка на услугата в зоната US-EAST-1 (Северна Вирджиния).
„Коренната причина за инцидента беше латентно състояние в DNS системата на DynamoDB, което генерира некоректен празен DNS запис за регионалната крайна точка (dynamodb.us-east-1.amazonaws.com), който автоматизацията не успя да възстанови,“ съобщи Amazon.
Инцидентът започнал в 23:48 ч. PDT, когато всички системи, опитващи се да се свържат с DynamoDB в региона us-east-1, започнали да изпитват DNS грешки и пълна невъзможност за достъп. Засегнат бил както клиентският трафик, така и вътрешни AWS услуги, които разчитат на DynamoDB за своето функциониране.
Ефектът на доминото: каскадни откази в инфраструктурата на AWS
Проблемът с DNS записите предизвикал каскадни откази в инфраструктурата на AWS, като довел системата на DynamoDB в несъгласувано състояние, което автоматичните процеси за възстановяване не успели да коригират. Пълното възстановяване било възможно само след намеса на инженери от екипа на Amazon.
Компанията обяви, че е деактивирала дефектната DNS автоматизация в глобален мащаб и е предприела мерки за предотвратяване на подобни проблеми в бъдеще. Сред тях са:
-
въвеждане на допълнителни защитни проверки в DNS автоматизацията;
-
подобряване на механизмите за ограничаване на трафика (throttling);
-
разработване на нова тестова рамка за по-ранно откриване на подобни програмни дефекти.
Реакция и извинение от Amazon
„Извиняваме се за влиянието, което това събитие оказа върху нашите клиенти. Въпреки че поддържаме високи нива на надеждност и достъпност, знаем колко критични са нашите услуги за клиентите, техните приложения и бизнеси,“ заяви Amazon.
Компанията подчерта, че инцидентът ще бъде използван като възможност за усъвършенстване на процесите за устойчивост и надеждност на AWS инфраструктурата.









