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

Вступление

Разработка и обслуживание любых видов сайтов:

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

Это лишь некоторые из технических типов сайтов, с которыми мы работаем, и каждый из них может иметь свои специфические особенности и функциональность, а также быть адаптированным под конкретные потребности и цели клиента

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

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

Часто задаваемые вопросы

Последние работы

  • image_website-b2b-advance_0.webp
    Разработка сайта компании B2B ADVANCE
    1422
  • image_web-applications_feedme_466_0.webp
    Разработка веб-приложения для компании FEEDME
    1288
  • image_websites_belfingroup_462_0.webp
    Разработка веб-сайта для компании БЕЛФИНГРУПП
    984
  • image_ecommerce_furnoro_435_0.webp
    Разработка интернет магазина для компании FURNORO
    1250
  • image_crm_enviok_479_0.webp
    Разработка веб-приложения для компании Enviok
    988
  • image_bitrix-bitrix-24-1c_fixper_448_0.webp
    Разработка веб-сайта для компании ФИКСПЕР
    1001

Вступление

Представьте: ваш сайт расположен в Европе, а пользователи из Австралии жалуются на тормоза. Пока 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-схемы и узнайте, сколько можно сэкономить.