Две аварии из-за конфигурации с разницей в год: CloudFront и 1.1.1.1
В прошлый четверг, 16 июля, AWS CloudFront начал возвращать ошибки 5xx для любой раздачи, использующей VPC Origins, и продолжал с 07:45 до 11:18 UTC — три часа тридцать три минуты. Первопричиной AWS назвала «внутреннее ограничение на парке машин, который управляет соединениями с приватными origin в VPC»: из-за него этот парк не смог загрузить обновлённую сетевую конфигурацию. 1 Раздачи с другими типами origin не пострадали, но CloudFront стоит перед такой частью интернета, что отказ одной функции сломал или ухудшил работу сервисов, включая Canvas, Blackboard, Hugging Face и Ubiquiti. 2
За два дня до этого, 14 июля, почти незамеченной прошла первая годовщина отказа ровно той же формы. В 2025 году публичный DNS-резолвер Cloudflare 1.1.1.1 пропал на 62 минуты. В начале июня предпродакшен-сервис Data Localization Suite по ошибке привязали к префиксам 1.1.1.1, и ошибка тихо пролежала, пока второе изменение не добавило офлайновую тестовую локацию и не запустило глобальное обновление конфигурации, разом отозвав эти префиксы из всех дата-центров Cloudflare. Вопреки тогдашним догадкам, это был не перехват BGP. В разборе Cloudflare прямо сказано, что маршруты отозвала её собственная автоматика. 3
Никакое волокно не рвали. Никакой дата-центр не горел. В обоих случаях машины были в порядке, а неверными оказались инструкции.
Теперь хрупкая часть — плоскость управления
Весь этот год мы писали о физических отказах: события AWS на Ближнем Востоке в марте, обрыв волокна Zayo, ухудшивший работу половины веб-приложений 22 июня, подводные кабели вообще. Их легко понять и, как ни странно, они даже успокаивают. Кабель — это предмет, а предметы можно зарезервировать.
С распространением конфигурации сложнее, и причины тут структурные, а не вопрос компетентности.
Оно глобально по замыслу. Вся ценность распределённой плоскости конфигурации в том, что изменение быстро доезжает повсюду, — и ровно это свойство заставляет неудачное изменение быстро доехать повсюду.
Оно же и путь восстановления. Если система конфигурации нездорова, механизм, которым вы обычно чините, и есть сломавшийся механизм. Физическое резервирование тут не помогает: у вас полно исправных серверов, и все они послушно делают не то.
И у него нет естественной границы радиуса поражения. Регионы и зоны доступности ограничивают физический отказ. Один парк машин внутри CloudFront не смог загрузить одну конфигурацию — и ошибки пошли по всему миру. Выкатка конфигурации эти границы не уважает, если только кто-то специально этого не заложил, а поэтапное развёртывание — та дисциплина, которая тихо размывается под давлением сроков.
С DNS та же история слоем выше. Отзыв маршрута — это заявление конфигурации. Резолвер был здоров; он перестал быть достижимым, потому что сети сказали, что его там нет.
Пять привычек, которые стоит перенять
Неприятная часть в том, что это две из самых зрелых в эксплуатации организаций интернета. Если распределённая конфигурация кусает их, то запуск Ansible обычной командой в пять вечера в пятницу безопаснее не становится.
Выкатывайте всё поэтапно, включая конфигурацию. Если изменение доезжает до 100 % парка разом, радиус поражения у вас глобальный, сколько бы регионов вы ни держали.
Держите путь восстановления, не проходящий через плоскость конфигурации: консоль, статичный запасной вариант, файл, который правится руками, — что-то, что работает, когда автоматика не работает.
Не покупайте авторитативный DNS у того же поставщика, за которым прячете origin. В его плохой день он одним движением отнимет и проблему, и вашу возможность её обойти.
Настройте второй рекурсивный резолвер — и публичный, и внутренний. Июль 2025 года — лучший аргумент: резолвер может быть совершенно здоров и всё равно недостижим, второй не стоит ничего, а если разрешение имён не работает, всё остальное построенное вами значения не имеет.
И знайте своё время отката — измеренное, а не прикинутое. «Мы можем откатиться» становится планом только после того, как кто-то это засёк по часам.
Вход, когда автоматика отказала
Мы небольшой провайдер и не станем делать вид, что наша плоскость конфигурации сложнее, чем у Cloudflare. Она меньше, и это меняет баланс компромиссов, а не решает вопрос; иногда это играет нам на руку: меньше движущихся частей и меньше мест, где глобальная выкатка станет по-настоящему глобальной.
Клиентам мы даём то, что важно именно при аварии такой формы, — вход, не зависящий от здоровья нашей автоматики.
У каждого VPS и VDS в нашем нынешнем каталоге есть консоль noVNC из личного кабинета, независимая от сети самой гостевой машины. Когда сетевая конфигурация неверна, фаервол закрыл вам вход или машина не дозагружается, вы получаете экран и клавиатуру. Без SSH, без тикета и без единого пароля, отправленного кому бы то ни было.
Полноценный KVM с root-доступом означает, что машину вы восстановите сами и не будете ждать, пока вендор выкатит исправление в панель, которую нельзя обойти. А looking glass позволяет проверить нашу маршрутизацию собственными глазами — из Тираны, Скопье, Амстердама и Дублина, — а не верить на слово странице статуса.
И ещё наш постоянный совет, который мы повторяем, потому что он раз за разом оказывается полезным. Поставьте VPS за 5 €/мес. там, где нет общей плоскости управления с вашей основной площадкой. Не другой регион того же провайдера, а другого провайдера в другой стране. В оба тех дня именно эта машина осталась бы способной рассказать вашим пользователям, что происходит.
Тенденция, за которой стоит следить
Большая часть новостей об авариях в этом году была про физику: сбой AWS на Ближнем Востоке в марте, обрыв волокна Zayo в июне. Четверговая авария не была ни тем, ни другим — как и та, с чьей годовщиной она почти совпала. Отрасль двадцать лет училась переживать отказы железа и заметно меньше занималась тем, как пережить собственные инструкции.
Хорошо спроектированная распределённая система всё чаще отказывает не тем, что ломается. А тем, что безупречно работает, повсюду, на неверных входных данных.