Настройка резервного дата-центра (DR Site) для веб-приложения
DR Site — это полноценная копия инфраструктуры в отдельном физическом или облачном дата-центре, готовая принять трафик при катастрофическом сбое основной площадки. Термин «резервный дата-центр» охватывает разный уровень готовности: от cold standby (несколько часов на поднятие) до hot standby (минуты).
Классификация DR Site по готовности
Cold Standby. Инфраструктура не запущена. Данные реплицируются, конфигурация хранится в IaC. При сбое: поднять окружение из Terraform → восстановить данные из резервной копии → запустить приложение. RTO: 2-8 часов.
Warm Standby. Базовая инфраструктура запущена в уменьшенном размере (1 инстанс вместо 10). Данные актуальны через репликацию. При сбое: масштабировать до production-размера → переключить DNS. RTO: 15-60 минут.
Hot Standby. Полная копия инфраструктуры работает постоянно. Данные синхронизированы с лагом < 1 минуты. При сбое: переключить DNS/балансировщик. RTO: 1-5 минут.
Выбор местоположения DR Site
Ключевые требования:
- Физически независимая электросеть и интернет-каналы
- Минимум 100 км от основной площадки (защита от региональных катастроф)
- Соответствие законодательству (данные пользователей из РФ — в РФ, GDPR для Европы)
Варианты:
- Второй AWS/GCP/Azure регион (самое простое)
- Другой облачный провайдер (защита от vendor outage)
- Собственный или арендованный co-location (для regulated industries)
Репликация данных
PostgreSQL → DR Site: Streaming replication с асинхронным standby в DR. Для критических данных — synchronous_commit = remote_apply (гарантирует, что при сбое primary данные есть на standby, но увеличивает латентность записи).
Мониторинг лага репликации:
SELECT now() - pg_last_xact_replay_timestamp() AS replication_lag;
Алерт при лаге > 30 секунд.
Файловые хранилища:
- S3 Cross-Region Replication (AWS) — автоматически, RPO < 15 минут
- Rclone sync по расписанию — для объектов, которые редко меняются
- Lsyncd для realtime синхронизации файловой системы между серверами
Redis: Redis Sentinel с репликой в DR или Redis Cluster с geo-distribution.
Infrastructure as Code для DR
Весь DR Site описывается в Terraform. Основное и резервное окружение — разные workspace или отдельные директории конфигурации, параметризованные через переменные:
module "app_cluster" {
source = "./modules/app"
region = var.region
instance_type = var.dr_mode ? "t3.medium" : "c6i.2xlarge"
replica_count = var.dr_mode ? 1 : 5
}
Cold standby: terraform apply только при активации DR. Warm standby: terraform apply сразу с dr_mode = true.
Процедура активации DR Site
Документированный runbook с точными командами — не общими словами, а конкретными шагами:
- Подтвердить сбой основной площадки (не ложная тревога)
- Объявить DR-инцидент, назначить инцидент-менеджера
- Проверить лаг репликации БД перед переключением
- Если warm/hot: выполнить promote БД-реплики (
pg_promote()) - Обновить DNS (Route 53 / Cloudflare) на DR-адреса
- Проверить работоспособность через DR Site
- Уведомить команду и, при необходимости, пользователей
- Зафиксировать время RTO
Сетевая связность
Между основной площадкой и DR Site нужен выделенный канал для репликации данных:
- AWS VPC Peering или Transit Gateway (внутри AWS)
- AWS Direct Connect / GCP Interconnect (из on-premise в облако)
- Site-to-site VPN (бюджетный вариант, менее надёжный)
Канал репликации должен быть изолирован от пользовательского трафика — пиковая нагрузка приложения не должна влиять на репликацию.
Стоимость DR Site
| Тип | Постоянные затраты | Пример (AWS) |
|---|---|---|
| Cold Standby | Хранилище + репликация | $50-200/мес |
| Warm Standby | ~30% от prod | $500-2000/мес |
| Hot Standby | ~80-100% от prod | $2000-8000/мес |
Для большинства веб-приложений оптимален warm standby: разумная стоимость при RTO 30-60 минут.
Сроки реализации
- Анализ текущей инфраструктуры и выбор стратегии — 2-3 дня
- Настройка репликации данных — 3-7 дней
- Развёртывание DR-инфраструктуры в IaC — 5-10 дней
- Сетевая связность и безопасность — 2-5 дней
- Процедуры, runbook, тестирование — 3-5 дней
Итого: 2-5 недель в зависимости от сложности инфраструктуры и типа DR.







