Налаштування Multi-Region Failover для глобального веб-застосунку

Наша компанія займається розробкою, підтримкою та обслуговуванням сайтів будь-якої складності. Від простих односторінкових сайтів до масштабних кластерних систем, побудованих на мікро сервісах. Досвід розробників підтверджено сертифікатами від вендорів.

Розробка та обслуговування будь-яких видів сайтів:

Інформаційні сайти або веб-програми
Сайти візитки, landing page, корпоративні сайти, онлайн каталоги, квіз, промо-сайти, блоги, ресурси новин, інформаційні портали, форуми, агрегатори
Сайти або веб-програми електронної комерції
Інтернет-магазини, B2B-портали, маркетплейси, онлайн-обмінники, кешбек-сайти, біржі, дропшиппінг-платформи, парсери товарів
Веб-програми для управління бізнес-процесами
CRM-системи, ERP-системи, корпоративні портали, системи управління виробництвом, парсери інформації
Сайти або веб-програми електронних послуг
Дошки оголошень, онлайн-школи, онлайн-кінотеатри, конструктори сайтів, портали надання електронних послуг, відеохостинги, тематичні портали

Це лише деякі з технічних типів сайтів, з якими ми працюємо, і кожен із них може мати свої специфічні особливості та функціональність, а також бути адаптованим під конкретні потреби та цілі клієнта.

Пропоновані послуги
Показано 1 з 1 послугУсі 2065 послуг
Налаштування Multi-Region Failover для глобального веб-застосунку
Складна
~5 робочих днів
Часті питання

Наші компетенції:

Етапи розробки

Останні роботи

  • image_website-b2b-advance_0.png
    Розробка сайту компанії B2B ADVANCE
    1262
  • image_web-applications_feedme_466_0.webp
    Розробка веб-додатків для компанії FEEDME
    1171
  • image_websites_belfingroup_462_0.webp
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    874
  • image_ecommerce_furnoro_435_0.webp
    Розробка інтернет магазину для компанії FURNORO
    1094
  • image_crm_enviok_479_0.webp
    Розробка веб-додатків для компанії Enviok
    831
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Розробка веб-сайту для компанії ФІКСПЕР
    851

Налаштування Multi-Region Failover для глобальних веб-додатків

Multi-region failover захищає від катастроф цілого регіону: відключення дата-центру AWS us-east-1, аварії на підводному кабелі, блокування IP-адрес у конкретній країні. Це наступний рівень після одиничного server failover — складніше, дорожче, але необхідний для додатків з користувачами по всьому світу або жорсткими вимогами щодо доступності.

Стратегії розгортання

Active-Passive. Основний регіон обслуговує весь трафік. Резервний регіон гарячий стендбай, дані реплікуються, але трафік не приймається. При падінні основного — Route 53 / Cloudflare переключує DNS.

Переваги: простіше управління, дешевше (резервний регіон може працювати на зменшеній потужності). Недоліки: RTO 1-5 хвилин, користувачі у резервному регіоні отримують підвищену затримку.

Active-Active. Обидва (або всі) регіони обслуговують трафік одночасно. GeoDNS спрямовує користувачів до найближчого регіону. При падінні одного — трафік перерозподіляється.

Переваги: краща глобальна затримка, RTO близько до нуля для користувачів непостраждалих регіонів. Недоліки: складна синхронізація даних між регіонами, конфлікти записів у розподіленій базі даних.

DNS-маршрутизація з геолокацією

AWS Route 53 Latency-Based Routing + Health Checks:

Route 53 → Latency policy
  us-east-1: ALB endpoint + Health check
  eu-west-1: ALB endpoint + Health check
  ap-southeast-1: ALB endpoint + Health check

При падінні health check регіону →
  трафік автоматично на залишені регіони

Cloudflare Load Balancing з Traffic Steering: Geo Steering або Dynamic Steering (на основі реального RTT). Виявлення сбою за 10-60 секунд, переключення — секунди.

Репліцірування даних між регіонами

Головна проблема multi-region — дані. Користувач записав дані у us-east-1, при failover потрапив у eu-west-1 — даних немає.

Для PostgreSQL: AWS Aurora Global Database — реплікація з лагом < 1 секунди, просування резервного регіону за ~1 хвилину. Або CockroachDB / Spanner як нативно geo-розподілена БД.

Для stateless-даних: S3 Cross-Region Replication — файли реплікуються автоматично. CloudFront з кількома origin.

Для сесій: Redis з репліцією між регіонами (AWS ElastiCache Global Datastore) або JWT-токени (stateless за природою).

Для черг: AWS SQS не реплікується між регіонами автоматично — потрібен дизайн з урахуванням регіональної ізоляції або використання Kafka з MirrorMaker 2.

Тестування: Chaos Engineering на регіональному рівні

Перевірка multi-region failover без реальної аварії регіону:

  1. Блокування трафіку на рівні ALB — цільова група отримує 0 здорових інстансів
  2. AWS Fault Injection Simulator — симуляція затримок і збоїв компонентів регіону
  3. Route 53 Health Check → forced failure — перевести health check у unhealthy вручну через API

Фіксувати: час виявлення сбою (повинен бути < 60s), час переключення DNS (TTL-залежно, зазвичай 60-120s), поведінка активних користувачів (скинулися ли сесії, втрачені ли дані in-flight).

Управління конфігурацією

Кожен регіон повинен бути ідентично налаштований. Infrastructure as Code — обов'язково:

  • Terraform з workspace per region або окремі state files
  • Одні й ті ж Docker-образи (ECR replication або private registry per region)
  • Secrets Manager replication (AWS Secrets Manager multi-region)

Конфігураційний дрейф між регіонами — основна причина того, що failover працює на тестах, але ламається в продакшені.

Вартість та компромиси

Active-passive: +40-60% до вартості інфраструктури одного регіону. Active-active: +80-120% (повна копія кожного регіону + cross-region трафік).

Для більшості проектів — active-passive з hot standby достатньо. Active-active потрібен при: > 100k RPS, глобальна аудиторія з вимогами щодо затримки, SLA 99.99%+.

Терміни реалізації

  • Active-passive (2 регіони, DNS failover) — 1-2 тижні
  • Aurora Global Database + додаток — 2-3 тижні
  • Active-active з синхронізацією даних — 4-8 тижнів
  • Повне тестування + runbook + моніторинг — +1 тиждень