Масштабный сбой Amazon Web Services на 15 часов вызван одной ошибкой в ПО
Крупный сбой в работе интернета на прошлой неделе, который обернулся многомиллиардными убытками из-за проблем с Amazon Web Services, был вызван всего одной ошибкой в программном обеспечении. Как сообщает Ars Technica, сбой, произошедший в понедельник, был шокирующе спровоцирован единственным программным сбоем, эффект от которого каскадно распространился по системам AWS.
Виновником оказалась программная ошибка в DynamoDB, системе управления DNS от AWS. DNS или «Система доменных имен» часто сравнивается с телефонной книгой интернета, поскольку преобразует доменные имена, удобные для людей, в IP-адреса, понятные автоматизированным системам. В современном интернете многие сервисы, такие как облачные вычисления или стриминг, должны иметь возможность назначать один домен нескольким IP-адресам в сети, что позволяет эффективно использовать географически распределенные серверы.
Компонент DNS Enactor, отвечающий в DynamoDB за обновление этих таблиц, «столкнулся с необычно высокими задержками, потребовавшими повторных попыток обновления на нескольких DNS-конечных точках». Пока Enactor пытался наверстать упущенное, DynamoDB продолжал генерировать новые планы для него, которые другой, работавший в срок DNS Enactor попытался реализовать.
В результате свежая DNS-конфигурация была перезаписана значительно устаревшей, когда задержавшийся Enactor наконец догнал. При этом был обойден механизм защиты, предназначенный для предотвращения именно таких ошибок, который также испытывал задержки. Второй, работавший вовремя Enactor, затем полностью удалил устаревший план, определив его как неактуальный. Эта ситуация вызвала цепную реакцию по всей системе AWS, потребовав от инженеров ручной диагностики проблемы и ее устранения.
Это еще одно напоминание о том, насколько хрупок интернет — он уязвим для странных внутренних сбоев логики и подвержен рискам, начиная от перегрызенных подводных кабелей и заканчивая единичными программными ошибками. Интересно, что подобные масштабные сбои демонстрируют, насколько сложно поддерживать работоспособность глобальной инфраструктуры, от которой сегодня зависит огромное количество сервисов — от банковских операций до игровых платформ.










0 комментариев