Настройка Geo-DNS для маршрутизации трафика по регионам
Geo-DNS определяет географическое положение DNS-клиента и отвечает на запрос IP-адресом ближайшего или наиболее подходящего сервера. Результат — сниженная задержка, соблюдение требований локального законодательства к хранению данных, региональные A/B тесты.
Как работает Geo-DNS
Стандартный DNS отвечает одним IP для всех. Geo-DNS провайдер анализирует IP DNS-резолвера запрашивающего и выбирает ответ из заранее настроенных правил:
DNS Query: api.example.com
↓
Geo-DNS Provider
├── IP в AS России → 185.10.1.1 (VPS в Москве)
├── IP в Европе → 94.20.2.2 (VPS в Амстердаме)
├── IP в США → 44.30.3.3 (AWS us-east-1)
└── Default → 185.10.1.1
Провайдеры Geo-DNS
| Провайдер | Особенности |
|---|---|
| Cloudflare | Бесплатный базовый Geo-DNS, интеграция с WAF |
| AWS Route 53 | Latency-based routing + Geo routing |
| NS1 | Гибкие правила, filter chain |
| Gcore | Хорошее покрытие СНГ |
| DNSimple | Простой интерфейс, RegGeo-маршрутизация |
Настройка в Cloudflare (Load Balancing)
Cloudflare Load Balancer с Geo-routing через pools:
{
"name": "api.example.com",
"pools": ["pool-russia", "pool-europe", "pool-usa"],
"region_pools": {
"ENAM": ["pool-usa"],
"EEU": ["pool-russia"],
"WEU": ["pool-europe"],
"SEAS": ["pool-europe"]
},
"fallback_pool": "pool-russia"
}
Настройка в AWS Route 53
Latency-based routing — Route 53 измеряет задержку с каждым регионом и направляет к ближайшему:
{
"Name": "api.example.com",
"Type": "A",
"SetIdentifier": "eu-west-1",
"Region": "eu-west-1",
"TTL": 60,
"ResourceRecords": [{"Value": "52.18.1.2"}]
}
Geolocation routing — явная привязка по стране/континенту:
{
"SetIdentifier": "Russia",
"GeoLocation": {"CountryCode": "RU"},
"ResourceRecords": [{"Value": "185.10.1.1"}]
}
Мониторинг Health Checks
Geo-DNS должен автоматически исключать недоступные сервера. Cloudflare и Route 53 поддерживают health checks: если сервер не отвечает, трафик переключается на следующий в списке.
Сроки
Настройка Geo-DNS с 2–3 регионами и health checks: 1–2 рабочих дня.







