Wiki
Сеть

GeoDNS — что это простыми словами

GeoDNS — DNS-сервер отдаёт разные A-записи в зависимости от геолокации клиента (по IP). Основа географической маршрутизации без anycast. Route53, PowerDNS, dnsdist.

GeoDNS — DNS-резолвер, который отдаёт разные IP-адреса в зависимости от географии клиента, спрашивающего домен. Клиент из Германии получает 5.6.7.8 (сервер в Falkenstein), клиент из США — 1.2.3.4 (сервер в NYC). Более дешёвая альтернатива anycast — не нужны свой ASN и BGP.

Как работает: (1) resolver клиента отправляет запрос к authoritative-серверу (иногда с EDNS Client Subnet), (2) сервер по IP клиента (через MaxMind GeoIP DB) определяет регион, (3) возвращает соответствующую A-запись, (4) клиент подключается к региональному серверу.

Провайдеры: Route53 Latency Routing (AWS), Cloudflare Load Balancer, PowerDNS (self-host), dnsdist (self-host), NS1. Настройка обычно через веб-UI: указываете, какой IP на какой континент.

Ограничения: (1) точность до страны/континента, не города (публичные IP-DB редко точнее), (2) если resolver клиента далеко от него (Google 8.8.8.8 из Африки может резолвиться в Ирландию), то без EDNS Client Subnet — неправильный регион. Большие resolver'ы (Google, Cloudflare) поддерживают ECS.

Частые вопросы

GeoDNS или Anycast?
Anycast — быстрее и стабильнее (BGP-based), но дорого. GeoDNS — дёшево, работает 90 % как надо, для стартапа хватит.
Cloudflare Free GeoDNS?
Нет, Free plan — только proxied (через anycast CDN CF). Load Balancer с GeoDNS — с $10/мес.

Смотрите также