DNS yoʻnalishi va failover
1) DNSning nosozlikka chidamliligidagi roli
DNS - foydalanuvchining birinchi «routeri». Uning dizayniga quyidagilar bog’liq:- Foydalanish imkoniyati (tezkor/ishonchli failover);
- Unumdorlik (geo/latency-routing);
- Qiymat (mintaqalararo egress va 3rd-party chaqiruvlarni minimallashtirish);
- Xavfsizlik (DNSSEC, anti-hijack, CAA/DMARC/SPF nazorati).
Kalit: dinamika muhim bo’lgan qisqa TTL va barqaror zonal arxitektura (public + private, split-horizon).
2) Yozuvlar va amaliyot turlari
A/AAAA - asosiy manzillar; iloji boricha har doim IPv6 ni nashr qiling.
CNAME vs ALIAS/ANAME: domen ildizida ALIAS/ANAME (yoki provayder apex-flattening) dan foydalaning.
TXT - SPF/DMARC/DKIM, verifikatsiyalash; CAA - sertifikat ishlab chiqaruvchilarni cheklash.
SRV/NS - servis-diskavyerlar va topshirish.
SVCB/HTTPS - ustuvorlik va parametrlarga ega zamonaviy muqobil mexanizm (ALPN, portlar).
Tavsiya: sinflar (edge/API/statik) boʻyicha TTL standartlarini belgilang.
3) Yo’naltirish siyosati
Weighted (tortilgan) - trafikning nazorat qilinadigan ulushlari (kanareykalar/blue-green).
Latency-based - kechikish bo’yicha eng yaqin hovuzni tanlash.
Geo-routing - mamlakat/qitʼa/mintaqa boʻyicha; data residency uchun muhim.
Failover (primary/secondary) - faol monitoring va almashtirish.
Multi-value - bir nechta A/AAAA; mijoz o’zi tanlaydi (health-checks o’rnini bosmaydi).
Proximity/ASN routing - ba’zi provayderlarda: mijoz tarmog’i orqali.
geo → latency → weight → health.
4) TTL, keshlash va targ’ibot
TTL API/dinamiklar: 30-120 s (feylover tezligi va yuk o’rtasidagi balans).
Static/CDN: 1–24 ч.
Salbiy TTL (SOA’Minimum’) - 60-300 s ≤, aks holda NXDOMAIN «yopishqoq» bo’ladi.
Esingizda bo’lsin: rezolverlar keshni zudlik bilan tashlashi shart emas; «iflos dumni» hisobga oling.
5) Sog’liq va endpointlarni tekshirish
Bir nechta mintaqalardan Health-checks: TCP/443 + HTTP 2xx/3xx va lambda-tekshirish biznes mezonlari (masalan, muvaffaqiyatli ’/health? deep = true’bilan bog’liqlikni tekshirish).
Sintetika (RUM/active): asosiy yo’nalishlar bo’yicha API-sinov, TLS/OCSP tekshiruvi, DNSSEC tekshiruvi.
’/ready’(chuqur) va ’/live’(yuzaki) ko’rgazmalarini ko’rsating; DNS-pulni/ready bilan bogʻlang.
6) Ommaviy vs xususiy DNS (split-horizon)
Public zone - mijozlarga kirish.
Private zone - private endpoints (VPC/VNet, on-prem) ning ichki rezolyutsiyasi.
Conditional forwarding между on-prem ↔ cloud, region ↔ region.
Nomi:’api. <brand>.<region>.internal. corp` и `api. <brand>.com`.
7) Xavfsizlik: DNSSEC va domen siyosati
DNSSEC: zonaning imzosini (KSK/ZSK) kiriting, kalitlarning aylanishini va ishonch zanjirini kuzating.
CAA: ruxsat etilgan CAlarni sanab oʻting; Alertlar uchun’iodef’ni yoqing.
SPF/DMARC/DKIM: pochta obro’si va fishingdan himoya qilish.
Registrar-lok va MFA DNS provayderi hisobiga; oʻzgarishlar jurnali (WORM-saqlash).
8) Failover loyihalash
8. 1 Modellar
Active-Active: ikkita + sog’lom hovuz; latency/weight, health-checks orqali balans nosog’lom bo’lishini istisno qiladi.
Active-Passive: asosiy pul + zaxira (avariyaga qadar 0% og’irlik).
Regional ring: mahalliy avariya sodir bo’lganda «qo’shni» mintaqaga trafik.
Degraded mode: «engil» sayt/lendingga yozish.
8. 2 Bosqichma-bosqich sahna
1. Monitoring ’/ready’degradatsiyasini qayd etadi.
2. DNS javoblarni oʻzgartiradi (pulni yoʻq qiladi yoki ogʻirlikni oʻzgartiradi).
3. TTL tezlikni aniqlaydi.
4. Barqarorlashgandan keyin grace-davr (15-30 daqiqa) va shundan keyingina tarozilar qaytariladi.
9) Konfiguratsiya namunalari
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 - geo/ASN va failover pool (g’oya)
Load Balancer Pools c health-checks (HTTP/TCP), Load Balancer c Geo Steering (qitʼalar/mamlakatlar) va Session affinity.
Fallback: Page Rule/Transform Rule 5xx choʻqqida soddalashtirilgan bekendga.
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) Kuzatuv va SLO DNS
SLI: success-rate rezolva, 95-percentil rezolv vaqti, TTL doirasida yangi (stale bo’lmagan) javoblar ulushi.
SLO: masalan,’99. 95% muvaffaqiyatli javoblar ≤ 100 ms.
Metriklar: NXDOMAIN-rate, SERVFAIL-rate, health-state pullar, hududlar bo’yicha trafik ulushi, kanareykalar ulushi.
Exemplars: SLIni sintetikada’trace _ id’orqali HTTP izlari bilan bogʻlang.
11) Test sinovlari va ulardan foydalanish
Turli ASN/mintaqalardan sintetika (RIPE Atlas, Catchpoint, k6-DNS).
DNSSECni tekshirish uchun dnsviz/’ delv’; anomaliyalarda’dig + trace’.
Staging zona (’stg. example. com’) feylover mashqlari uchun; rehearsal skript vazn/ustuvorlikni oʻzgartiradi va orqaga qaytaradi.
Runbook: kim va qanday qilib qo’lda og’irlikni oshiradi/kamaytiradi, pulni qanday o’chirib qo’yadi, «freeze» ni qanday bajaradi.
12) Antipatternlar
TTL = 3000 + kritik A/AAAA → sekin/xaotik feylover.
Health-checks yoki faqat biznes invariantlarsiz TCP portini tekshirish mavjud emas.
Bir nechta CNAME zanjirlari → sekin rezolvlar, kesh-xaos.
secondary/axfr zaxirasiz yagona DNS provayderi.
DNSSEC talabida imzolanmagan zona; dolzarb bo’lmagan CAA.
Ommaviy IP xususiy bekendlar/DBni ko’rsatuvchi yozuvlar.
13) iGaming/Moliya xususiyatlari
Yurisdiksiyalar: talablarga rioya qilish uchun geo-/country-routing (mahalliy domen/frontga qayta yo’naltirish).
PSP/KYC: alohida TTL va feylover siyosati bilan ajratilgan poddomenlar; zaxira PSPga tezkor o’tkazish.
Mas’uliyatli o’yin: yuridik sahifali pastki domenlar har doim mavjud (zaxira statik/CDN).
Audit: WORM-ombordagi zonadagi o’zgarishlar daftari, o’zgarishlar imzosi va muntazam revyu.
Blok-varaqlar: Mintaqalar bo’yicha DNS-qoidalar (edge-filtrlash + DNS-yo’naltirish).
14) Prod-tayyorlik chek-varaqasi
- Sinflar bo’yicha TTL profillari; salbiy TTL ≤ 300 s
- Ikkita mustaqil DNS (primary/secondary), MFA/registrator-lok.
- Siyosatlar: geo/latency/weight + health-checks.
- DNSSEC kiritilgan, CAA/DMARC/DKIM/SPF dolzarbdir.
- Split-horizon (public/private), ichki trafik uchun private zones.
- Feylover/qaytish Runbook, rehearsal skript, kanareya domenlari.
- SLI/SLO monitoringi, NXDOMAIN/SERVFAIL/RTT o’sishi.
- Stajing zonasi va muntazam failover «mashqlari».
- iGaming uchun: yurisdiksiyalar bo’yicha routing, PSP/KYC uchun alohida domenlar, o’zgarmas audit.
15) TL; DR
Geo/latency + health-checks + og’irlik, TTL 30-120 s dinamikada. public/private (split-horizon) ni ajrating, DNSSEC va CAAni yoqing, secondary DNSni saqlang. Rehearsal feylover qiling va SLI/SLO DNSni kuzating. iGaming uchun PSP/KYC domenlarining yurisdiktsiyalari va zaxira qilinishini alohida qoidalar va WORMdagi o’zgarishlarni hisobga oling.