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 робочих дні.







