Географічна маршрутизація DNS (Geo-DNS): Cloudflare, AWS, Nginx

Користувачі з віддалених регіонів скаржаться на повільне завантаження сайту, а ви втрачаєте клієнтів через високі затримки DNS. Ми налаштовуємо географічну маршрутизацію Geo-DNS на базі Cloudflare, AWS та Nginx, щоб трафік йшов через найближчий вузол. Наша команда реалізує проєкт під ключ — від аудиту поточної схеми до впровадження та подальшої підтримки, забезпечуючи стабільну роботу й масштабування разом із вашим бізнесом.

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

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

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

Послуги, які ми пропонуємо
Показано 1 з 1Усі 2062 послуг
Географічна маршрутизація DNS (Geo-DNS): Cloudflare, AWS, Nginx
Середній
від 1 дня до 3 днів
Часті запитання

Вступ

Уявіть: ваш сайт розташований у Європі, а користувачі з Австралії скаржаться на гальма. Поки DNS-резолвер не поверне IP, минає 200 мс — цей час можна скоротити до 50 мс за допомогою Geo-DNS (географічної маршрутизації). Ми вже багато років налаштовуємо географічну та latency-based маршрутизацію для проектів різного масштабу — від стартапів до enterprise. Наші інженери пройшли сертифікацію Cloudflare та AWS, що гарантує якість впровадження. У цій статті — практичні конфіги Cloudflare, AWS Route53 та Nginx GeoIP, які використовуються в продакшені. Окупність налаштування досягається за 3–6 місяців за рахунок зниження TTFB на 40–60%, а економія на DNS-трафіку та CDN може сягати сотень доларів на місяць. Отримайте консультацію інженера з Geo-DNS — оцінимо ваш проект.

Проблеми, які вирішує Geo-DNS

Без Geo-DNS користувачі відчувають високу затримку — DNS-запит іде на батьківський DNS за тисячі кілометрів, TTFB може перевищувати 500 мс для віддалених регіонів, що знижує конверсію на 20%. Трафік нерівномірно розподіляється на один сервер, створюючи зайве навантаження. При падінні дата-центру в регіоні користувачі залишаються без сервісу через відсутність failover. Geo-DNS вирішує все це на рівні DNS-розв'язання, до встановлення TCP-з'єднання.

Порівняння провайдерів Geo-DNS

Провайдер Тип маршрутизації Складність налаштування TTL за замовчуванням Failover Ціна
Cloudflare Load Balancing Geo + Latency Низька 30-300 с Автоматичний, з health checks Платно (Pro+)
AWS Route53 Geolocation Географічна Середня 60 с (можна менше) Health checks, ручне налаштування Платно за запити
AWS Route53 Latency За затримкою Середня 60 с Автоматичний Платно за запити
Nginx + GeoIP2 Географічна Висока N/A (на рівні застосунку) Залежить від upstream Безкоштовно (крім бази)

Cloudflare Load Balancing налаштовується в 2 рази швидше, ніж самостійна конфігурація Nginx, а TTFB знижується на 50%.

Як обрати між Cloudflare та AWS Route53?

Cloudflare Load Balancing простіший у налаштуванні та має вбудований моніторинг. Підходить для швидкого старту і невеликих проектів. AWS Route53 дає більше гнучкості з latency-based routing, дозволяючи маршрутизувати за реальною затримкою, а не за географією. Це особливо корисно при неоднорідній мережевій інфраструктурі. Якщо потрібен повний контроль — обирайте Nginx з GeoIP2, але знадобиться ручне оновлення бази MaxMind.

Налаштування Cloudflare Load Balancing (Geo-steering)

Cloudflare пропонує geo-steering з коробки. Ви вказуєте пули для регіонів (наприклад, ENAM — східне узбережжя США, WEU — Західна Європа), і балансувальник автоматично направляє трафік. Приклад конфігурації через API:

curl -X POST "https://api.cloudflare.com/client/v4/zones/{zone_id}/load_balancers" \
  -H "Authorization: Bearer {token}" \
  -H "Content-Type: application/json" \
  --data '{
    "name": "api.mysite.com",
    "fallback_pool": "us-east-1-pool",
    "default_pools": ["us-east-1-pool"],
    "region_pools": {
      "ENAM": ["us-east-1-pool"],
      "WNAM": ["us-west-2-pool"],
      "EEU": ["eu-central-1-pool"],
      "WEU": ["eu-west-1-pool"],
      "SEAS": ["ap-southeast-1-pool"],
      "NEAS": ["ap-northeast-1-pool"]
    },
    "steering_policy": "geo",
    "session_affinity": "ip_cookie",
    "session_affinity_ttl": 300
  }'

Документація Cloudflare рекомендує використовувати session affinity для збереження сесій користувача.

Налаштування AWS Route53

Geolocation Routing

Для точної маршрутизації за країнами або континентами використовуйте геолокаційні записи. Приклад Terraform:

resource "aws_route53_record" "api_eu" {
  zone_id = var.zone_id
  name = "api.mysite.com"
  type = "A"
  set_identifier = "eu-users"
  geolocation_routing_policy {
    continent = "EU"
  }
  alias {
    name = aws_lb.eu_west_1.dns_name
    zone_id = aws_lb.eu_west_1.zone_id
    evaluate_target_health = true
  }
}

resource "aws_route53_record" "api_default" {
  zone_id = var.zone_id
  name = "api.mysite.com"
  type = "A"
  set_identifier = "default"
  geolocation_routing_policy {
    country = "*"
  }
  alias {
    name = aws_lb.us_east_1.dns_name
    zone_id = aws_lb.us_east_1.zone_id
    evaluate_target_health = true
  }
}

Чому latency-based routing краще?

Latency-based routing враховує не географічну відстань, а мережеві затримки — трафік з Європи може швидше йти в дата-центр у Вірджинії, ніж у Франкфурті, якщо магістралі перевантажені. AWS автоматично обирає найшвидший регіон. Цей підхід дає більш точне розподілення, особливо для мобільних користувачів.

Приклад конфігурації:

resource "aws_route53_record" "api_latency_eu" {
  zone_id = var.zone_id
  name = "api.mysite.com"
  type = "A"
  set_identifier = "eu-west-1"
  latency_routing_policy {
    region = "eu-west-1"
  }
  alias {
    name = aws_lb.eu.dns_name
    zone_id = aws_lb.eu.zone_id
    evaluate_target_health = true
  }
}

Налаштування Nginx з GeoIP2

Якщо ви хочете повний контроль над маршрутизацією, використовуйте Nginx з модулем geoip2 та базою MaxMind GeoLite2. Це безкоштовно і гнучко.

Конфігурація Nginx

Встановіть модуль та завантажте базу (оновлюється раз на місяць). Потім налаштуйте маппінг країн на бекенди:

load_module modules/ngx_http_geoip2_module.so;
http {
  geoip2 /etc/nginx/geoip/GeoLite2-Country.mmdb {
    $geoip2_country_code country iso_code;
    $geoip2_country_name country names en;
  }
  map $geoip2_country_code $backend {
    default http://us-backend:3000;
    RU http://ru-backend:3000;
    UA http://eu-backend:3000;
    "~^(DE|AT|CH)" http://eu-backend:3000;
    "~^(GB|IE|FR)" http://eu-backend:3000;
  }
  server {
    listen 80;
    location / {
      proxy_pass $backend;
      proxy_set_header X-Country-Code $geoip2_country_code;
      proxy_set_header X-Real-IP $remote_addr;
    }
  }
}

Також можна реалізувати автоматичний редирект на мовну версію по GeoIP.

TTL та кешування DNS

Рекомендований TTL Сценарій
30 с Критичні сервіси, миттєвий failover
300 с (5 хв) Універсальне значення
3600 с (1 год) Статичні ресурси

Cloudflare Load Balancing автоматично знижує TTL при health check failover.

Як Geo-DNS впливає на TTFB та Core Web Vitals?

Початкова затримка DNS безпосередньо впливає на TTFB, який є метрикою Core Web Vitals. Geo-DNS скорочує TTFB на 40-60%, покращуючи LCP та загальний користувацький досвід. Google враховує TTFB при ранжуванні, тому впровадження Geo-DNS може побічно підвищити позиції в пошуковій видачі. Особливо це важливо для сайтів з глобальною аудиторією — скорочення TTFB на 100 мс може збільшити конверсію на 5%.

Процес робіт з налаштування Geo-DNS

Ми підходимо системно:

  1. Аудит поточної DNS-зони, аналіз географії користувачів (з логів Nginx або CDN).
  2. Проектування — вибір провайдера, схеми пулів, TTL.
  3. Реалізація — конфігурація DNS через Terraform або Cloudflare API, налаштування health checks.
  4. Тестування — перевірка з різних точок (через VPN, AWS Lightsail у різних регіонах, dig з публічних DNS).
  5. Моніторинг — налаштування сповіщень при зміні затримки або збоях.

Що входить у результат

  • Працююча схема Geo-DNS з документацією.
  • Доступи до всіх провайдерів (Cloudflare, AWS, панель керування).
  • Навчання команди: як додавати нові регіони, змінювати TTL.
  • Підтримка протягом 14 днів після впровадження.

Наші інженери мають сертифікати Cloudflare та AWS, за плечима 50+ проектів з оптимізації доставки контенту. Окупність налаштування — 3–6 місяців за рахунок зниження TTFB на 40–60% та зменшення трафіку на CDN.

Як перевірити Geo-DNS

Використовуйте dig із зазначенням резолвера:

dig @8.8.8.8 api.mysite.com # США dig @1.1.1.1 api.mysite.com # Європа dig @77.88.8.8 api.mysite.com # Росія 

Якщо маршрутизація налаштована правильно, відповіді будуть відрізнятися IP-адресами.

Отримайте консультацію з Geo-DNS — наші інженери допоможуть обрати оптимальну схему маршрутизації. Замовте аудит поточної DNS-схеми та дізнайтеся, скільки можна заощадити.

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

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

  • Розробка сайту компанії B2B ADVANCE
    Розробка сайту компанії B2B ADVANCE
    1542
  • Розробка веб-додатків для компанії FEEDME
    Розробка веб-додатків для компанії FEEDME
    1394
  • Розробка веб-сайту для компанії БЕЛФІНГРУП
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    1081
  • Розробка інтернет магазину для компанії FURNORO
    Розробка інтернет магазину для компанії FURNORO
    1369
  • Розробка веб-додатків для компанії Enviok
    Розробка веб-додатків для компанії Enviok
    1141
  • Розробка веб-сайту для компанії ФІКСПЕР
    Розробка веб-сайту для компанії ФІКСПЕР
    1060