Многомиллиардный 15-часовой сбой AWS, парализовавший интернет на прошлой неделе, оказался вызван всего одной программной ошибкой.

Многомиллиардный 15-часовой сбой AWS, парализовавший интернет на прошлой неделе, оказался вызван всего одной программной ошибкой.

Когда случаются крупные сбои в интернете, как на прошлой неделе с многомиллиардной аварией Amazon Web Services, я шучу на работе: "Случайно задел сервер стойкой и отключил, надеюсь, никто не заметит!" На этот раз шутка оказалась близка к правде: как сообщает Ars Technica, неполадка в понедельник была вызвана всего лишь одним программным сбоем, последствия которого распространились по системам AWS, хотя человеческий фактор тут ни при чем.

Виновником стал программный баг в DynamoDB, системе управления DNS от AWS. DNS, или "Система доменных имен", часто сравнивают с телефонной книгой интернета, переводящей доменные имена, удобные для людей, в IP-адреса, необходимые автоматизированным системам. В современном интернете многие сервисы, такие как облачные вычисления или стриминг, должны уметь присваивать один и тот же домен нескольким IP-адресам в сети, что позволяет эффективно использовать географически распределенные серверы.

DNS Enactor, компонент DynamoDB, ответственный за обновление этих таблиц, "столкнулся с необычно высокими задержками, вынуждающими его повторять обновления на нескольких DNS-узлах." Пока Enactor пытался наверстать упущенное, DynamoDB продолжала генерировать новые планы для него, которые другой, работающий вовремя DNS Enactor пытался внедрить.

Новая конфигурация DNS была перезаписана значительно устаревшей, когда отстающий Enactor наконец догнал, обойдя защиту, предназначенную для предотвращения такой ошибки, которая также испытывала задержки. Второй, работающий вовремя Enactor затем полностью удалил устаревший план, обнаружив, что он неактуален. Эта ситуация вызвала цепную реакцию по всему AWS, потребовав от инженеров ручной диагностики и решения проблемы.

Это еще одно напоминание о том, насколько хрупок интернет, подверженный странным внутренним сбоям логики и находящийся в опасности от глубинных акул, думающих "ммм, я люблю оптоволоконные кабели." Возможность выпрыгнуть из истребителя, поразить цель, а затем вернуться в кабину и продолжить полет в Battlefield 6 — это поистине дерзкий инженерный подвиг, сопоставимый с высадкой человека на Луну.

Оставить коментарий
Комментарий:
Комментарии
  1. user

    Интересно, как такие мелкие ошибки могут вызвать такие масштабные сбои. Это показывает, насколько важно тщательно тестировать системы и предусматривать возможные сбои. Надеюсь, AWS учтут этот инцидент и улучшат свои процессы.

  2. user

    Удивительно, что один баг может вызвать такую большую проблему. Это напоминает о том, как важно иметь резервные системы и механизмы для предотвращения подобных инцидентов. Надеюсь, что инженеры извлекли урок из этого опыта.