Как подготовить инфраструктуру к отказу облачного региона 👀
Даже отказоустойчивая инфраструктура внутри одного дата-центра не гарантирует доступность сервисов при потере всей площадки.
Недавние инциденты с Яндексом — повод вспомнить, как устроено георезервирование и что важно учитывать при его проектировании.
Георезервирование — это размещение критичных компонентов инфраструктуры в разных регионах. Но одной репликации между ними недостаточно, важно продумать и другие аспекты:
⏺1. Active-Passive или Active-Active?
В Active-Passive резервная площадка принимает нагрузку при аварии. Важно предусмотреть достаточные мощности и механизм переключения.
В Active-Active обе площадки обслуживают трафик одновременно, что усложняет маршрутизацию, синхронизацию данных и защиту от split-brain.
⏺2. Репликация и согласованность данных
Для PostgreSQL и очередей сообщений критичны режим репликации и поведение системы при потере связи между регионами.
Асинхронная репликация допускает потерю последних записей, синхронная увеличивает задержки и может ограничить запись при сетевых проблемах.
Поэтому важно определить RPO — допустимую потерю данных — и RTO — допустимое время восстановления.
⏺3. Общие точки отказа (SPOF)
Даже две независимые площадки могут зависеть от общих компонентов: DNS, IAM, CI/CD, container registry или систем управления инфраструктурой.
Если эти зависимости недоступны при аварии, восстановить сервисы может не получиться.
⏺4. Ресурсы и эксплуатация резервной площадки
В Active-Passive необходимо учитывать время масштабирования резервной инфраструктуры и доступность свободных мощностей. В Active-Active — расходы на межрегиональный трафик, задержки и согласованность данных.
Terraform и GitOps упрощают воспроизводимое развёртывание, но не заменяют подготовленные процедуры восстановления и переключения.
⏺5. Тестирование Disaster Recovery
DR-тесты помогают проверить реальные RPO/RTO, целостность данных и переключение трафика. Важно также отрабатывать failback — безопасный возврат на основную площадку.
Без регулярных испытаний даже хорошо документированный сценарий восстановления может оказаться нерабочим.
Георезервирование — это способность пережить потерю целой площадки в рамках заданных требований к восстановлению.
Если вам нужна помощь с георезервированием, в НИКСИС можем помочь с проектированием и настройкой инфраструктуры.
devops георезервирование отказоустойчивость