GH GambleHub

Disaster Recovery и cold-backups

Коротке резюме

DR - це здатність відновити функції бізнесу після великої аварії. Cold-backups - «остання лінія оборони»: незмінні/ізольовані копії, придатні для відновлення при повному знеструмленні майданчика або компрометації. Стратегія будується навколо RTO/RPO, пріоритизації систем, щорічних DR-навчань і суворої операційної дисципліни (каталоги, ключі, перевірки).

Терміни та цілі

RPO (Recovery Point Objective) - максимально допустима втрата даних (наприклад, ≤ 15 хв).
RTO (Recovery Time Objective) - максимально допустимий час відновлення (напр., ≤ 2 год).
Black-start - відновлення «з нуля»: залізо/кластер/секрети/дані/DNS.
Air-gap - фізична/логічна ізоляція копій (стрічка/відключений аккаунт/офлайн-носій).
Immutability (WORM) - незмінне зберігання (стрічка/об'єктка з Lock/Retention).

Рівні DR-готовності

Cold Site - інфраструктура відсутня/заморожена; RTO: години-дні; найдешевший CAPEX/OPEX.
Warm Site - шаблони/образи/частково готові сервіси; RTO: десятки хвилин-години.
Hot Site - активні репліки; RTO: хвилини; дорожче і складніше.
Гібрид: ядро → hot/warm, все інше → cold (з пріоритезацією при запуску).

Де cold-backups незамінні

Масове криптозараження/компрометація домену.
Корупція даних, що виїхала на всі репліки.
Втрата регіону/ЦОДу, форс-мажор (пожежа, повінь).
Навмисне видалення/саботаж з привілейованих обліків.

Топологія cold-backups

1. Медіа/класи зберігання

Стрічки (LTO-8/9): дешевизна, air-gap за замовчуванням, висока ємність, послідовний доступ.
Offline-диски/NAS: «сейф-кейси», підключаються тільки на вікно бекапа/restore.
Архівні класи об'єктки (Glacier-подібні): низька ціна зберігання, більш високий час вилучення.

2. Розміщення

Інший майданчик/регіон; інший провайдер/аккаунт; окремі ключі/адміністратори.

3. Іммутабельність

Стрічки WORM/Object Lock (Compliance/Governance) з ретеншном і Legal Hold.

Політика 3-2-1-1-0 (з фокусом на cold)

3 копії даних (прод + локальна резервна + офсайт).
2 різних носія (диск/стрічка/об'єктка).
1 офсайт (інший майданчик/хмара).
1 незмінна (WORM/air-gap).
0 помилок перевірок (checksum/періодичні тест-відновлення).

Каталоги, метадані та контроль цілісності

Каталог бекапів: що, де, коли, версія, ключі, чек-суми, термін ретеншна.
Каталог активів: сервіс → залежності → тому/бакети → пріоритет.
Checksums і manifest-файли: звірка на запис і на відновленні.
Canary-файли: регулярний restore для раннього детекту проблем носіїв.

Шифрування та ключі

Шифрування в спокої (стрічка/об'єктка) і в польоті (копіювання).
KMS/Vault з dual-control, оффлайн-сейфи для майстер-ключів, ротація.
Роздільні ключі для прод/бекапів/архівів (мінімізація blast-радіуса).
Документований процес доступу до ключів при DR (вимоги, ролі, журнал).

План DR: пріоритезація та послідовність

Карта пріоритетів (приклад):

1. Ідентифікація та доступ: IdP (мінімальна зона), Vault/KMS, мережеве ядро.

2. Дані та керуючі площини: etcd K8s, конфіги, секrets, реєстри образів, артефакти деплоїв.

3. Транзакційні БД/гаманець: журнали + останні full/incremental.

4. Платіжні/інтеграційні шлюзи: ключі, сертифікати, IP/DNS.

5. Веб/апі-фронти: канарний запуск, статичний контент з об'єктки.

6. Аналітика/звітність: по завершенні ядра.

Послідовність відновлення (black-start):

1. Інфраструктура: мережа, DNS/Anycast, IAM ядра, базові образи/кластер.

2. Секрети/сертифікати: відновити Vault/KMS з cold-backup, роздати bootstrap-секрети.

3. Контрольна площина: etcd/Control Plane/регістри/репозиторії.

4. Дані: розгорнути БД з cold-backup + PITR з журналів (по RPO).

5. Додатки: запуск залежностей по дереву, прогрів кешів/CDN.

6. Тести та валідація: health-проби, консистентність, контрольні суми.

7. Перемикання трафіку: DNS/маршрутизація/балансувальники (поетапно/канарно).

8. Пост-перевірки: відсутність витоків/боргів, логування та акт DR.

Процедури cold-restore (типові)

Стрічки: інвентар, завантаження, паралельні стріми, map файлів → каталоги → таски на відновлення; облік часу пошуку і перемотування.
Архів-класи: запит на витяг (minutes→hours), staging в гаряче сховище, відновлення по маніфесту.
Offline-диски: підключення read-only, перевірки checksum → копіювання.
Практика: ізольована «пісочниця» для відновлення, потім перенесення в прод-середовище.

Комунікації та орг. структура при DR

Ролі: Incident Commander, Tech Lead (Infra), DB Lead, App Lead, Comms, Security.
Канали: резервні (поза корпоративного домену), голос/чат, SecureDocs.
Шаблони повідомлень: клієнтам/партнерам/регуляторам; частота апдейтів; єдине «джерело правди».
Єдиний журнал подій: таймлайн, рішення, власники.

DNS, мережі та трафік

Split-brain-захист: прапори «DR-режим» в конфігурації; feature-flags для обмеженого функціоналу.
DNS-стратегія: низькі TTL заздалегідь, незалежний провайдер DNS; поетапна зміна A/AAAA/CNAME, прогрів CDN.
Маршрутизація: Anycast/Geo, BGP-анонс з DR-сайту; ACL/файрволли пересобираються з IaC.

SLO для DR

RPO дотриманий ≥ 99% часу (лаг журналів/інкрементів в межах мети).
RTO black-start (повний сценарій) ≤ цільового (наприклад, 4 години) на тестах раз на квартал.
Успіх DR-навчань - 100% критичних завдань виконані у вікні.
Іммутабельність - частка бекапів з Retention/Lock = 100%.
Перевірки цілісності - 100% за графіком; відмова носія → тікет на міграцію.

Тести та навчання

Table-top: сценарії, ролі, чек-листи, контакт-лист.
Технічні: вибіркові відновлення БД/файлів/секретів в «пісочницю» з перевіркою контрольних сум і консистентності.
Black-start-drill: раз/квартал (або раз/півроку) - повний запуск ядра в DR-сайті.
Post-mortem: факти, вузькі місця, план поліпшень (SLO/процеси/автоматизація).

Автоматизація та артефакти

IaC: кластери, мережі, стеки - в коді; DR-гілки/параметри.
Runbooks: покомпонентно (Vault/KMS, etcd, БД, шлюзи, фронти).
DR-пакет: офлайн-копія ключових доків (контакти, схеми, паролі сейф-фраз), інструкції фіздоступу.
Canary-restore: щоденний невеликий restore і звірка checksum.
Теги/мітки: «DR-critical», «Warm-only», «Cold-only» для сервісів/томів.

Чек-лист впровадження

  • Класи даних та їх RPO/RTO узгоджені з бізнесом; пріоритети відновлення визначені.
  • Реалізовані cold-backups: носії, іммутабельність (WORM/Object Lock), офсайт/air-gap.
  • Каталоги: активів, бекапів, ключів; чек-суми і контроль версій.
  • Процедури black-start: мережі/DNS, IdP/Vault/KMS, контрольна площина, дані, апп-шар.
  • Навчання: table-top щокварталу; канарні restore щодня; black-start раз/квартал-півроку.
  • Комунікації та регуляторні шаблони; окремі канали зв'язку.
  • SLO/метрики/алерти для DR; звіти керівництву.
  • Домовленості з провайдерами (стрічки/архів-класи/DNS/CDN), SLA підтверджені.
  • Фінанси: бюджет носіїв/архіву, логістика, заміна носіїв за термінами.

Типові помилки

«Є репліка - бекап не потрібен» → логічна помилка/шифрувальник поїдуть скрізь.
Немає іммутабельності/air-gap → єдиний вектор компрометації всіх копій.
Відсутність каталогів/чек-сум → відновили «щось», але не те.
TTL DNS занадто великий → багатоденна міграція трафіку.
Ключі/KMS в тому ж домені/акаунті → блокування доступу при інциденті.
Навчання тільки «на папері» → RTO/RPO не підтверджені.

Специфіка для iGaming/фінтех

Гаманець/платіжне ядро: строгий RPO (≤ 1-5 хв) і RTO (≤ 15-60 хв); журнали в об'єктку з WORM; DR-функція «read-only баланс» для прозорої комунікації.
PSP/провайдери контенту: заздалегідь узгоджені DR-IP/домен, whitelists, сертифікати, HMAC/мTLS ключі - копії в DR-пакеті.
Звітність/регулятори: шаблони повідомлень, незмінні архіви, доказова цілісність, журнал дій.
Піки та івенти: DR-готовність перевіряється до великих турнірів/акцій; канарні restore і прогрів CDN.

Міні-runbook-шаблони

1) Vault/KMS black-start (концепт):

1. Ініціалізація DR-кластера, завантаження ключів unseal (dual-control).

2. Відновлення storage-бекапа (cold-copy).

3. Перевірка політик, видача bootstrap-секретів для CI/CD/K8s.

2) PostgreSQL DR (PITR из cold-backup):

1. Розгорнути порожній інстанс, відновити full з cold.

2. Підкласти WAL-журнали (інкременти) до цільового моменту.

3. Перевірка консистентності, включити реплікацію, відкрити read-only, потім read-write.

3) DNS/трафік:

1. Знизити TTL за 24-72 год до планових ризиків (або тримати низький постійно).

2. Перемикання A/AAAA/CNAME за чек-листом, моніторинг помилки/латентності.

3. Поступове зростання трафіку (канарка 5% → 25% → 100%).

Підсумок

Надійний DR з опорою на cold-backups - це: іммутабельні ізольовані копії, формалізовані black-start-процедури, чіткі RPO/RTO, регулярні навчання, продумана DNS/мережева стратегія і дисципліна ключів. Зафіксуйте все в IaC і runbook-ах, автоматизуйте перевірки цілісності і канарські restore - і у вас завжди буде контрольований шлях до відновлення навіть після найгіршого сценарію.

Contact

Зв’яжіться з нами

Звертайтеся з будь-яких питань або за підтримкою.Ми завжди готові допомогти!

Telegram
@Gamble_GC
Розпочати інтеграцію

Email — обов’язковий. Telegram або WhatsApp — за бажанням.

Ваше ім’я необов’язково
Email необов’язково
Тема необов’язково
Повідомлення необов’язково
Telegram необов’язково
@
Якщо ви вкажете Telegram — ми відповімо й там, додатково до Email.
WhatsApp необов’язково
Формат: +код країни та номер (наприклад, +380XXXXXXXXX).

Натискаючи кнопку, ви погоджуєтесь на обробку даних.