Что, собственно, случилось с Cloudflare на прошлой неделе?

Что именно произошло с Cloudflare на прошлой неделе?

Cloudflare на телефоне

2 ноября 2023 года, интерфейсы для клиентов Cloudflare, включая их веб-сайт и API, а также системы журналирования и аналитики перестали работать должным образом. Это было плохо. 

Более 7,5 миллиона веб-сайтов используют Cloudflare, и 3 280 из 10 000 наиболее популярных веб-сайтов в мире полагаются на его службы сети доставки контента (CDN). Хорошая новость в том, что CDN не отключился. Плохая новость в том, что Панель управления Cloudflare и связанные с ней программные интерфейсы приложений (API) были недоступны почти два дня. 

Также: Лучшие VPN-сервисы (и как выбрать подходящий для вас)

Это вроде бы не должно происходить – или во всяком случае не должно происходить с крупными интернет-сервисами. Итак, миллионный вопрос: “Что случилось?” Ответ, по словам генерального директора Cloudflare Мэтью Принса, был связан с инцидентом, связанным с электропитанием, произошедшим в трех основных дата-центрах компании в штате Орегон, которые управляются компанией Flexential, что привело к цепочке проблем. Тридцать шесть часов спустя Cloudflare наконец вернулся в норму.

Принс не ходил вокруг да около проблемы:

Во-первых, это не должно было произойти. Мы считали, что у нас есть системы высокой доступности, которые должны были предотвратить такое простой, даже если один из наших основных провайдеров центров обработки данных испытал катастрофическое отключение. И, хотя многие системы остались работать, как это было запланировано, некоторые критические системы имели неочевидные зависимости, что сделало их недоступными. Я сожалею и стыжусь за этот инцидент и ту боль, которую он причинил нашим клиентам и нашей команде.

Он прав – такое не должно было произойти. Контрольная плоскость Cloudflare и системы аналитики работают на серверах в трех дата-центрах в окрестностях Хиллсборо, штат Орегон. Они все независимы друг от друга; каждый из них имеет несколько электрических линий питания и несколько избыточных и независимых интернет-соединений.

Звучит отлично, не так ли? Однако это не то, что произошло.

Сначала произошел сбой питания в помещении компании Flexential. Portland General Electric (PGE) вынуждена была отключить одну из своих независимых электрических линий питания здания. У дата-центра есть несколько линий питания с некоторой степенью независимости, которые могут питать здание. Однако Flexential включили свои генераторы для дополнения отключенной линии питания.

Этот подход, кстати, для тех из вас, кто не знает лучших практик дата-центров, не правильный. Вы не должны использовать внешнее электроснабжение и генераторы одновременно. Вдобавок ко всему, Flexential не сообщили Cloudflare, что они, в какой-то мере, перешли на работу на генераторах.

Также: 10 способов ускорить ваше интернет-соединение сегодня

Затем произошла земляная неисправность на трансформаторе PGE, который шел в дата-центр. И когда я говорю о земляной неисправности, я не имею в виду короткое замыкание, как то, которое заставляет вас спуститься в подвал, чтобы починить предохранитель. Я говорю о плохом мальчике напряжением 12 470 вольт, который отключил соединение и все генераторы быстрее, чем вы прочитали эту фразу.

В теории, батареи банка ИБП должны были поддержать работу серверов в течение 10 минут, что в свою очередь должно было быть достаточным временем для запуска генераторов. Вместо этого ИБП начали зарываться примерно через четыре минуты, и генераторы так или иначе не смогли вернуться вовремя.

Упс…

Может быть, никто не смог бы спасти ситуацию, но когда “находившийся на месте, ночной персонал” состоял только из охраны и забытого техника, который был на работе всего неделю, ситуация была безнадежной.

Кроме того:

Лучшие VPN-сервисы для iPhone и iPad (да, вам нужно использовать один)

Тем временем Cloudflare обнаружил с трудом, что некоторые критические системы и новые службы еще не были интегрированы в свою систему повышенной доступности. Более того, решение Cloudflare не включать системы регистрации в кластер повышенной доступности, потому что задержки аналитики были приемлемы, оказалось неправильным. Поскольку сотрудники Cloudflare не могли хорошенько рассмотреть журналы, чтобы понять, что пошло не так, авария удлинялась.

Выяснилось, что, хотя три дата-центра были “в основном” избыточными, они не были полностью таковыми. Два других работающих в районе дата-центра приняли на себя ответственность за кластер повышенной доступности и поддержание критических служб в работе.

Пока все идет хорошо. Однако подмножество услуг, которые должны были работать на кластере повышенной доступности, зависели от служб, работающих исключительно в неработающем дата-центре.

В частности, две критические службы, обрабатывающие журналы и поддерживающие аналитику Cloudflare – Kafka и ClickHouse – были доступны только в оффлайн-центре обработки данных. Поэтому, когда службы в кластере повышенной доступности вызывали Kafka и Clickhouse, они не работали.

Cloudflare признает, что он “слишком небрежно относился к требованиям новых продуктов и связанных с ними баз данных для интеграции с кластером повышенной доступности”. Более того, слишком много его услуг зависят от доступности его основных учреждений.

Многие компании поступают так же, но Prince признал, что это “не играет на силы Cloudflare. Мы хорошо разбираемся в распределенных системах. В течение этого инцидента наша глобальная сеть продолжала работать ожидаемым образом, но слишком много упало, если сердце стало недоступным. Мы должны использовать продукты распределенных систем, которые мы предоставляем всем нашим клиентам для всех наших услуг, чтобы они продолжали функционировать почти нормально, даже если наши основные учреждения нарушены.”

Кроме того: Кибербезопасность 101: все о защите вашей конфиденциальности и безопасности в сети

Часы спустя, всё наконец-то было восстановлено и работало – и это было непросто. Например, почти все распределители питания сгорели, и Flexentailу пришлось пойти и купить новые, чтобы заменить их все.

Ожидая, что произошло несколько скачков напряжения, Cloudflare также решил, что “единственным безопасным процессом для восстановления является процесс полного приведения всего сооружения в исходное состояние”. Такой подход означал перестройку и перезагрузку всех серверов, что заняло несколько часов.

Инцидент, который продолжался до 4 ноября, в конечном итоге был устранен. Заранее принц заключает: “У нас есть правильные системы и процедуры, чтобы выдержать даже каскад цепных сбоев, которые мы видим у поставщика нашего дата-центра, но нам нужно быть более строгими в обеспечении их соблюдения и проверки неизвестных зависимостей. Этому будет уделяться мое полное внимание и внимание значительной части нашей команды в течение года. И боль от последних нескольких дней сделает нас лучше”.