Одна ошибка в DNS — и рухнуло пол-интернета. Amazon раскрыла детали крупнейшего сбоя в истории AWS

leer en español

Одна ошибка в DNS — и рухнуло пол-интернета. Amazon раскрыла детали крупнейшего сбоя в истории AWS

Одна пустая строчка — сотни миллиардов убытков для крупнейших компаний.

image

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, применяющая эти изменения через службу Amazon Route 53. В ходе инцидента 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 способен за считанные минуты распространиться по всему технологическому ландшафту.