DNS ugrukdyryş we faýilover
1) Näsazlyga garşylykda DNS-iň roly
DNS ulanyjynyň ilkinji "marşrutizatorydyr". Onuň dizaýnyna bagly:- Elýeterlilik (çalt/ygtybarly failover);
- Öndürijilik (geo/latency-routing);
- Bahasy (sebitara egress we 3rd-party jaňlaryny azaltmak);
- Howpsuzlyk (DNSSEC, anti-hijack, CAA/DMARC/SPF gözegçiligi).
Açar: dinamika möhüm bolan ýerlerde gysga TTL we durnukly zonal binagärlik (public + private, split-horizon).
2) Ýazgylaryň we amallaryň görnüşleri
A/AAAA - esasy salgylary; IPv6-ny elmydama mümkin boldugyça çap ediň.
CNAME vs ALIAS/ANAME: Domen kökünde ALIAS/ANAME (ýa-da provayder apex-flattening) ulanyň.
TXT - SPF/DMARC/DKIM, barlaglar; CAA - şahadatnama berýänleriň çäklendirilmegi.
SRV/NS - hyzmat-diskaweri we tabşyrmak.
SVCB/HTTPS - ileri tutulýan we parametrleri bolan häzirki zaman alternatiw mehanizm (ALPN, portlar).
Maslahat: Synplar boýunça TTL standartlaryny düzüň (edge/API/statik).
3) Ugrukdyryş syýasaty
Weighted (deňagramly) - traffigiň gözegçilik edilýän paýlary (kanareýkalar/gök-ýaşyl).
Latency-based - gijä galmak üçin iň ýakyn howuzy saýlamak.
Geo-routing - ýurt/kontinent/sebit boýunça; data residency üçin möhümdir.
Failover (primary/secondary) - işjeň gözegçilik we geçiş.
Multi-value - birnäçe A/AAAA; müşderiniň özi saýlaýar (saglyk barlaglarynyň ornuny tutmaýar).
Proximity/ASN routing - käbir üpjün edijilerde: müşderiniň ulgamy boýunça.
Birleşdiriň: geo → latency → weight → health.
4) TTL, kesmek we wagyz etmek
TTL API/dinamikleri: 30-120 s (feýloweriň tizligi bilen ýüküň arasyndaky deňagramlylyk).
Static/CDN: 1–24 ч.
Negativearamaz TTL (SOA 'Minimum') - 60-300 s ≤, ýogsam NXDOMAIN "ýelmeşer".
Ýadyňyzda saklaň: rezolwerler derrew nagt pullary zyňmaga borçly däldir; "hapa guýrugy" göz öňünde tutuň.
5) Saglyk we endpointleri barlamak
Birnäçe sebitlerden Health-checks: TCP/443 + HTTP 2xx/3xx we lambda-iş ölçeglerini barlamak (mysal üçin, üstünlikli '/health? deep = true 'garaşlylyk barlagy bilen).
Sintetika (RUM/active): Esasy ugurlar boýunça API synaglary, TLS/OCSP barlagy, DNSSEC barlagy.
'/ready '(çuň) we '/live' (ýerüsti) görkeziň; DNS howuzyny/ready bilen baglanyşdyryň.
6) Köpçülige açyk vs hususy DNS (split-horizon)
Public zone - müşderi girişi.
Private zone - private endpoints (VPC/VNet, on-prem) üçin içerki karar.
Conditional forwarding между on-prem ↔ cloud, region ↔ region.
Ady: 'api. <brand>.<region>.internal. corp` и `api. <brand>.com`.
7) Howpsuzlyk: DNSSEC we domen syýasaty
DNSSEC: zonanyň goluny (KSK/ZSK) goşuň, açarlaryň aýlanmagyna we ynam zynjyryna gözegçilik ediň.
CAA: Rugsat berilýän CA sanap geçiň; Alertler üçin 'iodef' -i açyň.
SPF/DMARC/DKIM: poçta abraýy we fişingden goramak.
DNS üpjün edijisiniň hasaba alynmagy üçin Registrar-lok we MFA; üýtgetmek magazineurnaly (WORM-ammar).
8) Failover dizaýny
8. 1 Modeller
Active-Active: iki sagdyn howuz; latency/weight, health-checks arkaly balans sagdyn däl.
Active-Passive: esasy howuz + ätiýaçlyk (0% awariýadan öňki agram).
Sebit halkasy: ýerli heläkçilikde "goňşy" sebite ulag.
Degraded mode: "aňsat" sahypa ýazylmak/baglanşyk ýok bolsa.
8. 2 Ädimme-ädim sahna
1. Gözegçilik '/ready 'degradasiýasyny düzedýär.
2. DNS jogaplary üýtgedýär (howuzy ýok edýär ýa-da agramy üýtgedýär).
3. Traffik sagdyn sebite gidýär, TTL tizligi kesgitleýär.
4. Durnuklaşandan soň - grace-döwür (15-30 minut) we diňe tereziniň gaýdyp gelmegi.
9) Konfigurasiýa mysallary
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 we failover pool (pikir)
Health-checks (HTTP/TCP) bilen "Load Balancer Pools", Geo Steering (yklymlar/ýurtlar) we Session affinity bilen "Load Balancer".
Fallback: Page Rule/Transform Rule 5xx piklerde ýönekeýleşdirilen arka tarapa.
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) Synlamak we SLO DNS
SLI: success-rate rezolýus, 95-nji percentil rezolýus wagty, TTL-iň içinde täze (stale däl) jogaplaryň paýy.
SLO: Mysal üçin '99. Üstünlikli jogaplaryň 95% -i ≤ 100 ms.
Metrikler: NXDOMAIN-rate, SERVFAIL-rate, health-state howuzlar, sebitler boýunça traffigiň paýy, kanareýalaryň paýy.
Exemplars: SLI-ni sintetikdäki 'trace _ id' arkaly HTTP yzarlamalary bilen baglanyşdyryň.
11) Synag we ekspluatasiýa
Dürli ASN/sebitlerden sintetika (RIPE Atlas, Catchpoint, k6-DNS).
DNSSEC-i barlamak üçin dnsviz/' delv '; anomaliýalarda' dig + trace '.
Staging zonasy ('stg. example. com ') feýloweriň repetisiýalary üçin; rehearsal-script agramy/ileri tutulýan ugurlary üýtgedýär we yzyna gaýtarýar.
Runbook: kim we nädip el bilen agramyny ýokarlandyrýar/azaldar, howuzy nädip öçürmeli, "freeze" -ni nädip ýerine ýetirmeli.
12) Antipatternler
TTL = 3000 kritik A/AAAA → haýal/bulam-bujar feýlower.
Health-checks ýa-da diňe TCP portuny iş üýtgemeleri bolmazdan barlamak.
Bir topar CNAME zynjyry → haýal hereketler, keş-bulam.
secondary/axfr-ätiýaçlygy bolmadyk ýeke-täk DNS-üpjün ediji.
DNSSEC talaby boýunça gol çekilmedik zona; ähmiýetsiz CAA.
Hususy bekendleriň köpçülige IP-sini görkezýän ýazgylar/DB.
13) iGaming/Maliýe aýratynlyklary
Ýurisdiksiýalar: Talaplary ýerine ýetirmek üçin geo-/country-routing (ýerli domen/front ugrukdyrmak).
PSP/KYC: aýratyn TTL we Feylower syýasatlary bilen bölünen alt domenler; ätiýaçlyk PSP-e çalt geçirmek.
Jogapkär oýun: kanuny sahypaly subtomenler elmydama elýeterlidir (ätiýaçlyk statikleri/CDN).
Audit: WORM-ammardaky zolagyň üýtgemegi, üýtgeşmeleriň goly we yzygiderli gykylyk.
Blok sahypalary: Sebitler boýunça DNS-laýyklyk düzgünleri (edge-süzgüç + DNS-marşrut).
14) Prod-taýynlyk çek-sanawy
- Synplar boýunça TTL profilleri; negatiw TTL ≤ 300 s.
- Iki sany garaşsyz DNS (primary/secondary), MFA/registrator-lok.
- Syýasatlar: geo/latency/weight + health-checks.
- DNSSEC goşuldy, CAA/DMARC/DKIM/SPF aktual.
- Split-horizon (public/private), içerki traffik üçin hususy zones.
- Feýler/gaýdyp geliş Runbook, rehearsal skript, kanar domenleri.
- SLI/SLO gözegçiligi, NXDOMAIN/SERVFAIL/RTT ösüşi.
- Stajing zonasy we yzygiderli "maşklar".
- iGaming üçin: ýurisdiksiýa boýunça marşrut, PSP/KYC üçin aýry-aýry domenler, üýtgemeýän audit.
15) TL; DR
Birleşdirilen syýasaty guruň: geo/latency + health-checks + agram, TTL 30-120 s dinamikada. public/private (split-horizon) bölüň, DNSSEC we CAA-ny açyň, ikinji DNS-ni saklaň. Rehearsal feýlower ediň we SLI/SLO DNS-e gözegçilik ediň. iGaming üçin aýry-aýry düzgünler we WORM-daky üýtgeşmeleri logirlemek bilen PSP/KYC domenleriniň ýurisdiksiýalaryny we ätiýaçlyklaryny göz öňünde tutuň.