Cloudflare «уронила» BYOIP из-за ошибки автоматизации

В компании объяснили, что проблема коснулась пользователей Bring Your Own IP (BYOIP) — у них BGP отозвал маршруты к адресам, из-за чего сервисы и приложения становились недоступны извне, а соединения обрывались по тайм-ауту.

Cloudflare «уронила» BYOIP из-за ошибки автоматизации
© It-world

На стороне пользователей это выглядело как «охота за маршрутом» (BGP Path Hunting): подключение пытается найти путь к нужному IP через разные сети, но так и не находит стабильный маршрут и в итоге падает. Параллельно сайт рекурсивного резолвера Cloudflare one.one.one.one отдавал 403 с сообщением “Edge IP Restricted”. При этом сам публичный DNS-резолвер 1.1.1.1 (включая DNS over HTTPS) продолжал работать — проблема была не в DNS-разрешении, а в доступности конкретных адресов клиентов BYOIP.

Инцидент продолжался 6 часов 7 минут. Причиной стал не внешний фактор, а изменение конфигурации. Cloudflare пыталась автоматизировать типичную клиентскую операцию — удаление префиксов из BYOIP (раньше это делалось вручную). Функцию реализовали как регулярную «уборку», которая должна была находить префиксы на удаление и убирать их. Но подзадача обращалась к API с ошибкой, и система начала непреднамеренно отзывать клиентские префиксы. До отката изменения успели пропасть около 1 100 префиксов, это примерно четверть всей BYOIP-емкости. Часть клиентов восстановилась быстрее, просто повторно анонсировав адреса через панель управления Cloudflare.

По сообщениям, сбой задел, в том числе, Uber, Workday, Minecraft, Wikipedia и Microsoft Outlook; Bet365 публично подтвердила проблему и извинилась перед пользователями.

После инцидента Cloudflare пообещала усилить контроль изменений в Addressing API — добавить поэтапные проверки и более строгую валидацию, а также продолжить программу Code Orange: Fail Small, которая предполагает максимально малые и контролируемые раскатки в продакшене. Компания отдельно подчеркнула, что хотя инцидент не носил глобального характера, его масштаб и «радиус поражения» оказались слишком большими.

Источник