GH GambleHub

DNS-менеджмент і маршрутизація

Коротке резюме

DNS - це «роутер рівня імен». Від грамотного TTL, зон і політик залежить, наскільки швидко і передбачувано користувачі потраплять на потрібні фронти/шлюзи. Мінімальний набір: Anycast-провайдер, здорові TTL, health-checks з автоматичним failover, DNSSEC + CAA, IaC-управління і спостережуваність (SLO за відповідями і часу резолву).


Базова архітектура

Авторитетні сервери (zones) - відповідають за домени компанії.
Рекурсивні резолвери (clients/ISP/власні) - запитують корінь → TLD → авторитетні.
Anycast - одна і та ж IP-адресація на множині PoP: ближній PoP відповідає швидше і переживає аварії.

Зони та делегування

Коренева зона домену →'NS'на провайдерів авторитетних серверів.
Піддомени (наприклад,'api. example. com') можна делегувати на окремі'NS '/провайдери для незалежності.


Типи записів (мінімум)

'A '/' AAAA'- IPv4/IPv6 адреси.
'CNAME'- псевдонім на ім'я; не використовуйте на корені зони (замість цього ALIAS/ANAME у провайдерів).
'TXT'- верифікації, SPF, custom-мітки.
«MX» - пошта (якщо використовується).
SRV - сервіси (SIP, LDAP і т.п.).
«CAA» - хто може випускати сертифікати для домену.
'NS '/' SOA'- делегування/параметри зони.
'DS'- ключі DNSSEC на батьківський TLD.

Приклад зони (фрагмент)


$TTL 300
@    IN SOA ns1.dns.example. noc.example. (2025110501 3600 600 604800 300)
IN NS ns1.dns.example.
IN NS ns2.dns.example.
@    IN A  203.0.113.10
@    IN AAAA 2001:db8::10 api   IN CNAME api-prod.global.example.
_www  IN CNAME cdn.example.net.
_caa  IN CAA 0 issue "letsencrypt.org"

TTL і кешування

Короткий TTL (30-300 c) - для динаміки (API-фронти, failover).
Середній TTL (300-3600 c) - для CDN/статики.
Довгий TTL (≥ 1 день) - для рідкісних змін (MX/NS/DS).
Плануючи міграції, знизьте TTL за 24-72 години заздалегідь.
Враховуйте Negative Caching TTL (NXDOMAIN): управляється'SOA MINIMUM'.


Політики маршрутизації (GSLB-рівень)

Failover (active/passive) - віддаємо основний IP до фейла health-check'ом, потім резерв.
Weighted (traffic-split) - розподіл трафіку (наприклад, canary 5/95).
Latency-based - найближчий по мережевій затримці РоР/регіон.
Geo-routing - по країні/континенту; корисно для локальних законів/PCI/PII.
Multivalue - кілька'A/AAAA'з перевірками здоров'я кожного.

Поради

Для критичних API з'єднуйте latency-based + health-checks + короткий TTL.
Для плавних релізів - weighted і поступове зростання частки.
Для регіональних обмежень - geo і списки дозволених провайдерів.


Здоров'я та автоматичне перемикання

Health-checks: HTTP (S) (200 OK, тіло/заголовок), TCP (порт), ICMP.
Репутація/фінгерпринт: перевіряйте не тільки порт, але і коректність backend'a (версія, build-id).
Поріг чутливості: 'N'успішних/неуспішних перевірок підряд, щоб уникати флапінгу.
Знімаємо метрик: частка healthy-ендпоінтів, час реакції, кількість перемикань.


Приватні зони і split-horizon

Private DNS: внутрішні зони в VPC/VNet/On-prem (наприклад,'svc. local. example`).
Split-horizon: різні відповіді для внутрішніх і зовнішніх клієнтів (внутрішній IP vs публічний).
Захист від витоків: не використовуйте «внутрішні» імена зовні; перевірте, що приватні зони не резолвятся через публічних провайдерів.


Безпека DNS

DNSSEC: підписи зон (ZSK/KSK), публікація'DS'в батьківській зоні, ролловер ключів.
CAA: обмежте випуск TLS-сертів довіреним CA.
DoT/DoH для рекурсорів - шифрування запитів клієнтів.
ACL/Rate-limit на авторитативних: захист від відображаючих DDoS/ANY-запитів.
Subdomain Takeover: регулярно скануйте «висячі» CNAME/ALIAS на віддалені сервіси (видалений ресурс - CNAME залишився).
NS/Glue-записи: консистентність між реєстратором і провайдером DNS.


SLO і спостережуваність

SLO (приклади)

Доступність авторитативних відповідей: ≥ 99. 99 %/30 днів.
Час відповіді рекурсору (p95): ≤ 50 мс локально/ ≤ 150 мс глобально.
Успішність health-checks: ≥ 99. 9%, помилкових спрацьовувань - ≤ 0. 1%.
Час сходження після зміни (propagation): ≤ 5 хв при TTL 60 с.

Метрики

RCODE (NOERROR/NXDOMAIN/SERVFAIL), QPS, p50/p95 часу відповіді.
Частки IPv6/IPv4, EDNS розмір, Truncated (TC) відповіді.
Кількість перемикань по health-check, флапінг, помилки підписів DNSSEC.
Частки DoH/DoT запитів (якщо контролюєте рекурсор).

Логи

Запити (qname, qtype, rcode, client ASN/geo), аномалії (ANY-шторми, часті NXDOMAIN по одному префіксу).


IaC та автоматизація

Terraform/Провайдери DNS: тримайте зони в репозиторії, PR-рев'ю, план/апрув.
ExternalDNS (K8s): автоматичне створення/видалення записів з Ingress/Service.
Проміжні оточення: префікси'dev. '/' stg.'і окремі акаунти DNS-провайдера.

Terraform (спрощений приклад)

hcl resource "dns_a_record_set" "api" {
zone = "example.com."
name = "api"
addresses = ["203.0.113.10","203.0.113.20"]
ttl = 60
}

resource "dns_caa_record" "caa" {
zone = "example.com."
name = "@"
ttl = 3600 record {
flags = 0 tag  = "issue"
value = "letsencrypt.org"
}
}

Резолвери, кеш і продуктивність

Власні рекурсори (Unbound/Knot/Bind) ближче до додатків → менше p95.
Вмикайте prefetch гарячих записів, serve-stale при недоступності авторитету.
EDNS (0) і правильний розмір буфера, DNS Cookies, minimal-responses.
Розділяйте потоки резолву і трафік додатків (QoS).
Враховуйте Negative TTL: багато NXDOMAIN від «битого» клієнта може забити кеш.


DDoS і стійкість

Anycast-провайдер з глобальними PoP і агрегацією бот-трафіку.
Response Rate Limiting (RRL) на авторитативних, захист від amplification.
Заборона'ANY', обмеження EDNS-буфера, фільтри на «важкі» типи.
Сегментація зон: критичне - у провайдера з кращим DDoS-щитом; менш критичне - окремо.
Резервний провайдер (secondaries) з'AXFR/IXFR'і автоматичним фейловером NS на рівні реєстратора.


Операції та процеси

Зміни: PR-review, canary-записи, прогрів кешів (низький TTL → deploy → повернути TTL).
Ролловер DNSSEC: регламент, вікна, моніторинг валідності (RFC 8901 KSK/ZSK).
Runbook: падіння PoP, некоректна NS-делегація, що відвалився health-check, масовий SERVFAIL.
DR-план: альтернативний DNS-провайдер, готові шаблони зон, доступ до реєстратора, SLA на зміну NS.


Чек-лист впровадження

  • Два незалежних авторитативних провайдера/РоР (Anycast), коректні'NS'у реєстратора.
  • TTL-стратегія: короткий для динаміки, довгий для стабільних записів; negative TTL під контролем.
  • Health-checks і політики: failover/weighted/latency/geo за профілем сервісів.
  • DNSSEC (KSK/ZSK/DS),'CAA'обмежує випуск сертів.
  • IaC для зон, ExternalDNS для K8s, окремі оточення/акаунти.
  • Моніторинг: rcode/QPS/latency/propagation, алерти за SERVFAIL/підписами.
  • DDoS: Anycast, RRL, обмеження EDNS, блок списки/ACL.
  • Регламенти міграцій доменів і зниження TTL за 48-72 год.
  • Регулярний аудит «висячих» CNAME/ALIAS, MX/SPF/DKIM/DMARC (якщо використовується пошта).

Типові помилки

Занадто великий TTL на критичних'A/AAAA'- довгі міграції/фейловери.
Один провайдер DNS/один PoP - SPOF.
Відсутність DNSSEC/CAA - ризик підміни/неконтрольованих сертів.
Непослідовний split-horizon → витоку внутрішніх імен назовні.
Ніяких health-checks на GSLB - перемикання руками і затримки.
Забуті CNAME на зовнішні сервіси → ризик takeover.
Відсутність IaC → «сніжинка» -конфіги і помилки при ручних правках.


Специфіка для iGaming/фінтех

Регіональні версії та PSP: geo/latency-routing, білі списки IP/ASN партнерів, швидкий failover шлюзів.
Піки (матчі/турніри): короткий TTL, прогрів CDN, окремі імені для івентів ('event-N. ru). example. com') з керованою політикою.
Юридична коректність: фіксуйте час і версію зон при критичних змінах (журнал для аудиту).
Антифрод/БОТ-захист: окремі імена для tiebreakers/капчі/чек-ендпоінтів; швидке відведення на «чорну діру» (sinkhole) при атаках.


Міні-плейбуки

Канарний реліз фронту (weighted):

1. `api-canary. example. com'→ 5% трафіку; 2) моніторимо р95/р99/помилки; 3) підвищуємо до 25/50/100%; 4) згортаємо при деградації.

Екстрений failover:

1. TTL 60 с; 2) health-check позначив регіон down → GSLB зняв з відповідей; 3) перевірка зовнішніх резолверів; 4) комунікація статусу.

Міграція провайдера DNS:

1. Імпорт зони в нового провайдера; 2) Включаємо синхронний secondary у старого; 3) Міняємо'NS'у реєстратора в «тихе» вікно; 4) Спостерігаємо SERVFAIL/val-помилки.


Підсумок

Надійний DNS-контур - це Anycast-авторитети + розумні TTL + маршрутизація по здоров'ю/затримці + DNSSEC/CAA + IaC і спостережуваність. Зафіксуйте процеси міграцій і ролловерів, тримайте резервного провайдера, регулярно перевіряйте зону на «висячі» записи - і ваші користувачі стабільно потраплять на потрібні фронти навіть в самий «гарячий» час.

Contact

Зв’яжіться з нами

Звертайтеся з будь-яких питань або за підтримкою.Ми завжди готові допомогти!

Розпочати інтеграцію

Email — обов’язковий. Telegram або WhatsApp — за бажанням.

Ваше ім’я необов’язково
Email необов’язково
Тема необов’язково
Повідомлення необов’язково
Telegram необов’язково
@
Якщо ви вкажете Telegram — ми відповімо й там, додатково до Email.
WhatsApp необов’язково
Формат: +код країни та номер (наприклад, +380XXXXXXXXX).

Натискаючи кнопку, ви погоджуєтесь на обробку даних.