DNS багыттоо жана failover
1) ката туруктуулугу DNS ролу
DNS - колдонуучунун биринчи "роутери". Анын дизайны көз каранды:- Жеткиликтүү (тез/ишенимдүү failover);
- Performance (geo/latency-routing);
- Наркы (аймактар аралык egress жана 3rd-партиялык чалууларды азайтуу);
- Коопсуздук (DNSSEC, анти-hijack, CAA/DMARC/SPF көзөмөлдөө).
ачкыч: динамикасы маанилүү болгон жерде кыска TTL, жана туруктуу зоналык архитектура (коомдук + жеке, split-horizon).
2) Жазуу түрлөрү жана практикасы
A/AAAA - негизги даректери; ар дайым мүмкүн болгон жерде IPv6 жарыялоо.
CNAME vs ALIAS/ANAME: домендин түбүндө ALIAS/ANAME (же провайдердик apex-flattening) колдонуңуз.
TXT - SPF/DMARC/DKIM, текшерүү; CAA - күбөлүк чыгаруучулардын чектөө.
SRV/NS - кызмат Discovery жана өткөрүп берүү.
SVCB/HTTPS - артыкчылыктуу жана параметрлери менен заманбап альтернативдик механизм (ALPN, порттор).
Сунуш: класстары боюнча TTL стандарттарын чечүү (edge/API/статикалык).
3) Багыттоо саясаты
Салмактуу (салмактанып алынган) - көзөмөлдөнүүчү трафик үлүштөрү (канарейка/көк-жашыл).
Latency-based - кечигүү көлмөнүн жакын тандоо.
Geo-routing - өлкө/континент/аймак боюнча; data residency үчүн маанилүү.
Failover (primary/secondary) - активдүү мониторинг жана которуу.
Multi-value - бир нече A/AAAA; кардар өзү тандайт (health-checks ордуна эмес).
Proximity/ASN routing - кээ бир провайдерлерде: кардар тармагы аркылуу.
Айкалыштыруу: geo → latency → weight → health.
4) TTL, кэш жана пропаганда
TTL API/динамиктер: 30-120 с (Feylover ылдамдыгы менен жүктүн ортосундагы баланс).
Static/CDN: 1–24 ч.
Терс TTL (SOA 'Minimum') - ≤ 60-300 с, антпесе NXDOMAIN "жабышчаак" болот.
Эсиңизде болсун: резолверлер дароо кэш ыргытууга милдеттүү эмес; эске алуу "кир куйругу".
5) Ден соолук жана эндпоинттерди текшерүү
Ден соолук-текшерүү бир нече аймактардан: TCP/443 + HTTP 2xx/3xx жана lambda-текшерүү бизнес критерийлери (мисалы, ийгиликтүү '/ден соолук? deep = true 'менен көз карандылыкты текшерүү).
синтетика (RUM/active): негизги жолдор боюнча API-тесттер, TLS/OCSP текшерүү, DNSSEC текшерүү.
Экспонат '/ready '(терең) жана '/live' (үстүртөн); DNS-бассейн/ready байлап.
6) Коомдук Vs жеке DNS (split-horizon)
Public zone - кардар жетүү.
Private zone - private endpoints (VPC/VNet, on-prem) үчүн ички чечим.
Conditional forwarding между on-prem ↔ cloud, region ↔ region.
Аталышы: 'api. <brand>.<region>.internal. corp` и `api. <brand>.com`.
7) Коопсуздук: DNSSEC жана домен саясаты
DNSSEC: аймактын кол тамгасын (KSK/ZSK) күйгүзүү, ачкычтардын айлануусун жана ишеним чынжырын көзөмөлдөө.
CAA: алгылыктуу CA тизмеси; Алерттер үчүн 'iodef' киргизиңиз.
SPF/DMARC/DKIM: почта аброю жана фишинг коргоо.
Registrar-lok жана MFA боюнча DNS провайдери; өзгөртүү журналы (WORM-сактоо).
8) Дизайн failover
8. 1 моделдер
Active-Active: эки + дени сак бассейн; latency/weight аркылуу балансты, ден соолук-текшерүү ден соолукка зыян жок.
Active-Passive: негизги бассейн + камдык (0% кырсык чейин салмагы).
Аймактык ring: жергиликтүү кырсыкка "кошуна" аймакка жол.
Degraded режими: "жеңил" сайтта жазылуу/lending, эгерде backend жеткиликтүү эмес.
8. 2 Этап-этабы
1. Мониторинг '/ready 'деградациясын белгилейт.
2. DNS жоопторду өзгөртөт (бассейнди жокко чыгарат же салмагын өзгөртөт).
3. Traffic дени сак аймакка барат, TTL ылдамдыгын аныктайт.
4. турукташтыруу кийин - grace-мезгил (15-30 мин) жана андан кийин гана кайра салмагы.
9) Конфигурация мисалдары
9. 1 AWS Route 53 — latency + health + weighted
hcl
Two latency aliases for different regions resource "aws_route53_record" "api_latency_eu" {
zone_id = var. zone_id name = "api. example. com"
type = "A"
set_identifier = "eu1"
latency_routing_policy { region = "eu-central-1" }
alias { name = aws_lb. api_eu. dns_name zone_id = aws_lb. api_eu. zone_id evaluate_target_health = true }
health_check_id = aws_route53_health_check. api_eu. id ttl = 60
}
resource "aws_route53_record" "api_latency_us" {
zone_id = var. zone_id name = "api. example. com"
type = "A"
set_identifier = "us1"
latency_routing_policy { region = "us-east-1" }
alias { name = aws_lb. api_us. dns_name zone_id = aws_lb. api_us. zone_id evaluate_target_health = true }
health_check_id = aws_route53_health_check. api_us. id ttl = 60
}
Canary in EU: 10% of the weight of the resource "aws_route53_record" "api_weighted_canary" {
zone_id = var. zone_id name = "api. example. com"
type = "A"
set_identifier = "eu1-canary"
weighted_routing_policy { weight = 10 }
alias { name = aws_lb. api_eu_canary. dns_name zone_id = aws_lb. api_eu_canary. zone_id evaluate_target_health = true }
ttl = 30
}
9. 2 Cloudflare - гео/ASN жана failover pool (идея)
Load Balancer Pools c health-checks (HTTP/TCP), Geo Steering менен Load Balancer (континенттер/өлкөлөр) жана Session affinity.
Fallback: Page Руль/Transform Руль 5xx чокуларда жөнөкөйлөштүрүлгөн арткы боюнча.
9. 3 Azure/GCP
Azure Traffic Manager: Priority/Weighted/Performance/Geographic.
Google Cloud Load Balancing + Cloud DNS policy: geo-policy + health-checks через External HTTP(S) LB.
10) Байкоо жана SLO DNS
SLI: success-rate кайчылаш, 95-перцентил убакыт кайчылаш, TTL ичинде жаңы (stale эмес) жооп үлүшү.
SLO: Мисалы, '99. 95% ийгиликтүү жооптор ≤ 100 ms.
Метриктер: NXDOMAIN-rate, SERVFAIL-rate, health-state бассейндер, региондор боюнча трафиктин үлүшү, канарейлердин үлүшү.
Exemplars: SLIди синтездеги 'trace _ id' аркылуу HTTP трассалары менен байланыштырыңыз.
11) тестирлөө жана иштетүү
ар кандай ASN/региондордо синтетика (RIPE атлас, Catchpoint, k6-DNS).
dnsviz/' delv 'DNSSEC текшерүү үчүн;' dig + trace 'аномалиялар менен.
Staging зонасы ('stg. example. com ') фейловердин репетициялары үчүн; rehearsal-скрипт салмагын/артыкчылыктарын өзгөртүп, артка кайтарат.
Runbook: ким жана кантип кол менен көтөрөт/салмагын азайтат, кантип бассейнди өчүрөт, кантип "freeze" аткарат.
12) Антипаттерндер
TTL = 3000 + боюнча критикалык A/AAAA → жай/башаламан Feylover.
Жок ден соолук текшерүүлөр же текшерүү гана TCP-порт бизнес инварианттар жок.
Бир топ CNAME чынжыр → жай толкундары, кэш-хаос.
secondary/axfr-камдык жок жалгыз DNS-провайдер.
DNSSEC талабы боюнча кол коюлбаган аймак; маанисиз CAA.
коомдук IP жеке Backends/DD көрсөтүү жазуулар.
13) iGaming/каржы өзгөчөлүктөрү
Юрисдикциялар: geo-/country-routing (жергиликтүү доменге/фронтко багыттоо).
PSP/KYC: өзүнчө TTL жана Failover саясаты менен бөлүнгөн поддомендер; камдык PSP тез которуу.
Жоопкерчиликтүү оюн: Юридикалык беттер менен поддомендер ар дайым жеткиликтүү (резервдик статиктер/CDN).
Аудит: WORM-сактоо зонасын өзгөртүү журналы, өзгөрүүлөрдүн кол тамгасы жана үзгүлтүксүз ревю.
Блок-барактар: Региондор боюнча DNS-комплаенс эрежелери (edge-чыпкалоо + DNS-багыттоо).
14) Prod-даярдык чек тизмеси
- Класс боюнча TTL профилдери; терс TTL ≤ 300 б.
- Эки көз карандысыз anycast тармак DNS (primary/secondary), MFA/регистратор-лок.
- Саясат: geo/latency/weight + health-checks бир нече аймактардан.
- DNSSEC кирет, CAA/DMARC/DKIM/SPF актуалдуу болуп саналат.
- Split-horizon (public/private), ички жол үчүн жеке зоналар.
- Runbook Feylover/кайтаруу, rehearsal-скрипт, канарейка домендери.
- Мониторинг SLI/SLO, NXDOMAIN/SERVFAIL/RTT өсүшү боюнча алерт.
- Stajing зонасы жана үзгүлтүксүз "машыгуу" failover.
- iGaming үчүн: юрисдикциялар боюнча роутинг, PSP/KYC үчүн өзүнчө домендер, өзгөрүлбөгөн аудит.
15) TL; DR
айкалыштырылган саясат куруу: geo/latency + ден соолук-текшерүү + салмагы, динамикасы боюнча TTL 30-120 менен. public/private (split-horizon) бөлүү, DNSSEC жана CAA кирет, экинчи DNS сактоо. rehearsal-Feylover жана SLI/SLO DNS байкоо жүргүзүү. iGaming өзүнчө эрежелер жана WORM өзгөрүүлөрдү логин менен PSP/KYC домендердин юрисдикцияларын жана камдоону эске алуу.