Cloudflare роняет интернет
Днём 18 ноября прилёг Cloudflare. Причём прилёг масштабно. Трудности у так называемой всемирной паутины начались около четырёх часов по Москве: массово отвалились сайты и платформы, завязанные на Cloudflare — выдают 500 или просто не грузятся. Прилегли также и панели Cloudflare вместе с API.
На странице статуса компания сообщила, что у неё, извините, случилась деградация внутренних сервисов. Восстановлением занимаются, сервисы понемногу поднимаются, но пока апдейты по статусу идут в формате “Мы расследуем проблему”. По итогам, конечно, дорасследуют, отчёт будет интересным, но на деле и так уже всё понятно с оглядкой на недавнее падение AWS. Плохие новости, парни: никакой всемирной паутины давно нет, это просто 3,5 гигантских сетевых кластера, на которых держится вообще всё. Так и живём.
Как и следовало ожидать, постинцидентный отчёт Cloudflare прекрасен. Сбой был вызван… изменением в контроле доступа к базе данных. Если кратко, сменили разрешения в одной из систем, управляющих базами данных, и база выдала несколько дублирующихся записей в файл функций. Число функций в нём вышло за 200 — захардкоженное число для предотвращения чрезмерного потребления памяти.
Кривой файл конфигурации залетел в систему, и они прилегла, пока рутила трафик через сеть Cloudflare. Каждые пять минут шла генерация новых конфигов, кривых и рабочих, шатая сеть. Бонусом запаниковал модуль на Rust’е и положил основные прокси, обрабатывающие трафик. В итоге всё лежало под 6 часов, пока отлавливали первопричину. Какая хрупкая система: рушится из-за горсти кривых конфигов! Но такова цена современной сетевой инфраструктуры.