Yandex Cloud рассчитан на потерю одной зоны. Выпали две
С 8 по 11 октября атаки беспилотников вывели из строя три дата-центра Яндекса: в Сасово, Калуге и Владимире. Yandex Cloud, у которого около 64 000 клиентов, работает в ограниченном режиме и сам советует клиентам переносить ресурсы к другим провайдерам.
Что произошло по дням
— 8 октября. Сасово остановлен полностью, вместе с ним зона ru-central1-b. С перебоями работали поиск, Почта, Карты и Яндекс Go, жалобы шли на Циан, Авито и Т-Банк. — 9 октября. В Калуге несколько модулей выведены из строя. — 11 октября, ночью. Остановлен Владимир, это зона ru-central1-a. Облако объявило аварийный режим и написало: «Оставшуюся конфигурацию ресурсов считаем неустойчивой». — 13 октября. Яндекс отменил плату за Yandex Cloud и Яндекс 360 для текущих клиентов. В счёт за октябрь войдёт только то, что потрачено до 7 октября.
Отказоустойчивость облака рассчитана на потерю одной зоны, в документации это записано прямо. 8 октября всё так и сработало: за семь часов нагрузку переключили, остальные зоны работали штатно.
Проблемы начались со второй зоной. Отказоустойчивые кластеры баз данных и мастера Kubernetes часто стоят на трёх хостах в трёх разных зонах. Чтобы работать, им нужно большинство, то есть два хоста из трёх. Когда выпали a и b, у части кластеров остался один хост. Сделать его главным автоматика не может: если связь вернётся, получатся две главные базы с разными данными. Поэтому часть баз перешла в режим только для чтения, а часть встала.
Вдобавок закончился запас мощностей. С 10 октября квоты выдают вручную, а после Владимира выдачу новых ресурсов приостановили. То есть восстановиться из бэкапа внутри того же облака сейчас может просто не получиться.
Что из этого следует
Три зоны доступности защищают от аварии в одном дата-центре. От потери двух площадок у одного провайдера они не защищают. Поэтому даже для небольшого проекта: — держите копию бэкапов у другого провайдера, а не в соседней зоне; — хотя бы раз проверьте, что из бэкапа поднимается рабочая копия; — посмотрите, в каких зонах стоят хосты ваших баз и мастера Kubernetes; — закладывайте время на переезд: Terraform-модули под Yandex Cloud к Selectel или VK Cloud напрямую не применить, их придётся переписывать.
Для тех, кто переезжает уже сейчас: Яндекс договорился с Selectel, K2Cloud и VK Cloud, чтобы пострадавших клиентов размещали в ускоренном порядке.
Где лежит ваш последний бэкап и когда вы в последний раз из него восстанавливались?
#YandexCloud #Яндекс #DevOps #облака #бэкенд #ЦОД #отказоустойчивость