DNS менеджменті және бағыттау
Қысқаша түйіндеме
DNS - «атаулар деңгейінің роутері». Сауатты TTL, аймақтар мен саясатқа байланысты пайдаланушылар қаншалықты тез және болжамды түрде қажетті фронттарға/шлюздерге түседі. Ең аз жиынтық: Anycast-провайдер, дені сау TTL, автоматты failover бар health-checks, DNSSEC + CAA, IaC-басқару және бақылау (жауаптар мен уақыт бойынша SLO).
Негізгі сәулет
Беделді серверлер (zones) - компанияның домендеріне жауап береді.
Рекурсивті резолверлер (clients/ISP/меншікті) - түбір → TLD → беделді сұрайды.
Anycast - PoP жиынында бір IP мекенжайы: жақын 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 с) - динамика үшін (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: сенімді CA TLS сертификаттарын шығаруды шектеңіз.
Рекурсорлар үшін 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): TTL 60 с кезінде 5 мин. ≤
Өлшемдер
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 кем.
Егер қол жетімді болмаса, serve-stale деген ыстық жазбаларды prefetch қосыңыз.
EDNS (0) және дұрыс буфер өлшемі, DNS Cookies, minimal-responses.
Қылқалам ағындарын және қолданбалар трафигін (QoS) бөліңіз.
Negative TTL-ді ескеріңіз: «сынған» клиенттен көптеген NXDOMAIN кэшті толтыруы мүмкін.
DDoS және тұрақтылық
Жаһандық PoP және бот-трафик агрегациясы бар Anycast-провайдер.
Response Rate Limiting (RRL) авторитативті, amplification-дан қорғау.
'ANY' -ге тыйым салу, EDNS буферін шектеу, «ауыр» түрдегі сүзгілер.
Аймақтардың сегментациясы: критикалық - үздік DDoS-қалқаны бар провайдерде; сыни емес - жеке.
Тіркеуші деңгейінде 'AXFR/IXFR' және NS автоматты фейловері бар резервтік провайдер (secondaries).
Операциялар мен процестер
Өзгерістер: PR-review, canary-жазбалар, кэш жылыту (төмен TTL → deploy → TTL қайтару).
DNSSEC ролловері: регламент, терезелер, валидтілік мониторингі (RFC 8901 KSK/ZSK).
Runbook: PoP құлауы, дұрыс емес NS-делегациясы, құлаған health-check, жаппай SERVFAIL.
DR-жоспар: баламалы DNS-провайдер, дайын аймақ үлгілері, тіркеушіге кіру, NS ауыстыруға SLA.
Енгізу парағы
- Екі тәуелсіз авторитативті провайдер/РоР (Anycast), тіркеушінің 'NS' түзетулері.
- TTL стратегиясы: динамика үшін қысқа, тұрақты жазбалар үшін ұзын; negative TTL бақылауда.
- Health-checks және саясат: failover/weighted/latency/geo.
- DNSSEC (KSK/ZSK/DS), 'CAA' сертификаттарды шығаруды шектейді.
- Аймақтар үшін IaC, K8s үшін ExternalDNS, жеке орта/аккаунттар.
- Мониторинг: rcode/QPS/latency/propagation, SERVFAIL/қолтаңбалар бойынша алерталар.
- DDoS: Anycast, RRL, EDNS шектеулері, тізімдер блогы/ACL.
- Домендердің көші-қон регламенттері және TTL төмендеуі 48-72 сағ.
- «Аспалы» тұрақты аудит CNAME/ALIAS, MX/SPF/DKIM/DMARC (егер пошта пайдаланылса).
Типтік қателер
Сыни 'A/AAAA' тым үлкен TTL - ұзақ көші-қон/фейловерлер.
Бір DNS/бір PoP провайдері - SPOF.
DNSSEC/CAA болмауы - ауыстыру/бақыланбайтын сертификаттар тәуекелі.
Сәйкессіз split-horizon → ішкі аттардың сыртқа жылыстауы.
GSLB-де ешқандай health-checks - қолмен ауыстырып қосу және кідірту.
Сыртқы қызметтерге ұмытылған CNAME → takeover тәуекелі.
Қолмен түзету кезінде IaC → «қар бүршігі» -конфига мен қателердің болмауы.
iGaming/финтех ерекшелігі
Өңірлік нұсқалар және PSP: geo/latency-routing, IP/ASN әріптестерінің ақ тізімдері, шлюздердің жылдам failover.
Шыңдар (матчтар/турнирлер): қысқа TTL, CDN жылыту, ('event-N. 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 және бақылау. Көші-қон процестерін және ролловерлерді тіркеңіз, резервтік провайдерді ұстаңыз, аймақты «аспалы» жазбаларға ұдайы тексеріңіз - және сіздің пайдаланушыларыңыз ең ыстық сағатта да қажетті фронттарға тұрақты түрде түседі.