Технологии
Amazon объяснил причины недавнего масштабного сбоя интернета
В техническом отчёте Amazon указано, что причиной сбоя стала некорректная DNS-конфигурация базы данных DynamoDB, случайно опубликованная в Route53 — системе DNS-сервисов компании.
Недавний сбой в работе Amazon Web Services (AWS) привел к масштабному нарушению работы интернета. Хотя распределённая архитектура облачных сервисов должна была защитить от подобных ситуаций, на этот раз произошёл крупный сбой, вызванный проблемами с DNS (системой доменных имён).
Инцидент начался ночью 20 октября и длился около трёх часов, но последствия ощущались гораздо дольше. В техническом отчёте Amazon указано, что причиной сбоя стала некорректная DNS-конфигурация базы данных DynamoDB, случайно опубликованная в Route53 — системе DNS-сервисов компании.
Из-за этого перестали работать зависимые сервисы, включая EC2 (виртуальные машины) и Network Load Balancer, который распределяет нагрузку. Падение DynamoDB затронуло миллионы ресурсов, так как база обслуживает огромное количество сайтов.
Технической причиной стала так называемая «race condition» — ситуация, когда два системных события происходят одновременно и поочередно отменяют действия друг друга. В данном случае один процесс обновления DNS ещё не завершил «старый план», когда другой уже применил новый и автоматически удалил старые записи. В результате таблица DNS для DynamoDB оказалась пустой, и сервис пришлось восстанавливать вручную.
Пока инженеры устраняли проблему, EC2 не мог запускать новые инстансы, что вызвало огромную очередь запросов и ограничение их обработки. Многие сайты оставались недоступными часами. Рассинхронизация данных также затронула Load Balancer: он ошибочно считал здоровые узлы «мертвыми» и удалял их из DNS, а затем снова добавлял.
После аварии Amazon временно остановил системы DNS Planner и DNS Enactor для DynamoDB и анонсировал новые механизмы тестирования для EC2, а также контрольные ограничения для Load Balancer, чтобы предотвратить повторение подобных сбоев.
Источник: Amazon