More than DNS: Learnings from the 14 hour AWS outage
14-часовой сбой в AWS us-east-1 стал худшим за 10 лет, затронув 140 сервисов включая критический EC2, что привело к нарушению SLA и многомиллионным убыткам. Автор, работающий в Modal, оказался в центре событий во время выездного мероприятия в Италии. Хотя многие пытаются объяснить инцидент упрощенно ("всегда DNS" или "утечка мозгов"), реальная причина оказалась сложнее: гонка условий (race condition) в системе управления DNS DynamoDB, где один из DNS Enactor в одном из доступных зон стал чрезвычайно медленным.
Медленный Enactor привел к тому, что активный DNS-план выпал из окна безопасности механизма сборки мусора и был удален. Это превратило деградацию DNS-плана в полный сбой. Поскольку AWS активно использует собственные сервисы ("dogfooding"), проблема в DynamoDB, одном из базовых сервисов ("layer one"), вызвала цепную реакцию, затронувшую около 70% всех сервисов в регионе. Инцидент наглядно демонстрирует, как одна уязвимость в критической инфраструктуре может привести к катастрофическим последствиям даже в таком опытном провайдере, как AWS.