DNS sunucularını nasıl health check ederim?
Kısa cevap
Check Type alanında DNS seçilen bir Health Checks profili oluşturulur: Query alanına sunucunun yanıtlaması gereken bir ad yazılır ve DNS Record Type seçilir (varsayılan A). Answer Check Mode ile cevapta belirli bir metin (Text Match (Contains)) ya da düzenli ifade (Regex Match) aranabilir; varsayılan None'da cevap alınması yeterlidir. Profil, adresi DNS sunucusunun IP'si ve 53 numaralı portu olan Kurum Servisinin Health Check alanında seçilir. Aynı ayarlar WEB-CLI'da lb hc add komutuyla checkType dns yazılarak yapılır.
Sorun: DNS Sunucusu Açık ama Doğru Yanıt Vermiyor
Bir DNS sunucusunun 53 numaralı portunun açık olması doğru yanıt verdiği anlamına gelmez: bölge yüklenmemiş, özyinelemeli çözümleme bozulmuş ya da yanlış kayıt dönüyor olabilir. Yalnızca port denetimi yapılırsa hatalı yanıt veren sunucu trafik almaya devam eder. Health check'in gerçek bir sorgu gönderip cevabı doğrulaması gerekir.
Çözüm: 2 Yöntem
İki yöntem aynı profili farklı arayüzlerden oluşturur.
| Durumunuz | Uygun yöntem |
|---|---|
| Profili arayüzden oluşturuyorum | Yöntem 1: DNS profili |
| Profili WEB-CLI'dan oluşturuyorum | Yöntem 2: WEB-CLI |
Yöntem 1: DNS Profili Önerilen
- Nasıl çalışır Kurum Servisinin adresine ve portuna belirtilen sorgu gönderilir; cevap alınamazsa, ad bulunamazsa (NXDOMAIN) ya da beklenen metin veya desen cevapta yoksa denetim başarısız olur.
- Nerede açılırLoad Balancer → Profiles → Health Checks → Add → Check Type: DNS
- Gereksinim Sorgulanan adın bu sunucuda çözülebilir olması; adresi DNS sunucusunun IP'si ve 53 numaralı portu olan bir Kurum Servisi
- vService tipi Tümü; DNS trafiği UDP ile dengelenecekse Network vService (UDP - L4) kullanılır ve sağlık durumu Port Range kapalıyken dağıtıma yansır
Adım adım yapılandırma
Sol alttaki TR7 logosuyla Configuration Menu açılır; Load Balancer → Profiles → Health Checks yolu izlenip Add'e tıklanır (Nasıl eklenir?).
Name alanına profil adı yazılır; Check Type alanında DNS seçilir. Tür kayıttan sonra değiştirilemez.
Query alanına sorgulanacak ad yazılır (ör. portal.example.com); DNS Record Type listesinden kayıt türü seçilir: A (varsayılan), AAAA, CAA, CNAME, MX, NAPTR, NS, PTR, SOA, SRV, TXT. Ters sorgu için Reverse DNS (PTR) açılır ve Query alanına IP yazılır; bu durumda kayıt türü alanı gizlenir.
Answer Check Mode alanında Text Match (Contains) seçilip Expected Answer Text alanına beklenen değer (ör. 192.0.2.21) yazılır; kesin eşleşme gerekiyorsa Regex Match seçilip Expected Answer Regex alanına desen (ör. "192\.0\.2\.21") yazılır. Varsayılan None'da cevap alınması yeterlidir.
Add butonuna tıklanır.
Load Balancer → Backend Services yolu izlenir; adresi DNS sunucusunun IP'si ve 53 numaralı portu olan Kurum Servisine sağ tıklanıp Edit seçilir.
Health Check alanında DNS profili seçilir.
Edit butonuna tıklanır. Cluster'da değişiklik varsayılan olarak eş cihaza kendiliğinden aktarılır; Manual Sync Mode açıksa Synchronize ile gönderilir.
Doğrulama
Önizlemenin Details sekmesindeki DNS Answers satırı son denetimde alınan cevabı gösterir (Details satırları).
DNS Answers: 192.0.2.21 · OK (yeşil)Önizlemedeki Health Checks sekmesinde kayıt özetinde denetim türü, süre ve DNS yanıtları yer alır; cevap değiştiğinde yeni kayıt yazılır.
OK · DNS / 2ms / 192.0.2.21Yöntem 2: WEB-CLI
- Nasıl çalışır DNS profili
lb hc addkomutuylacheckType dnsyazılarak oluşturulur velb backend updateile Kurum Servisine atanır;querydns türünde zorunludur,dnsTextToExpectise--dnsExpectType textyazıldığında zorunlu olur ve ikisi de öneksiz yazılır. - Nerede açılır WEB-CLI →
lb hc add·lb backend update(lb hc · DNS alanları) - Gereksinim WEB-CLI erişimi; Kurum Servisi kimliği (
lb backend list) - vService tipi Tümü
Adım adım yapılandırma
lb hc add checkType dns name dns-denetimi query portal.example.com --rrType A --dnsExpectType text dnsTextToExpect 192.0.2.21Profil kimliği lb hc list çıktısından alınır:
lb backend update id <backend-kimliği> --hc <profil-kimliği>Doğrulama
Backend Services listesinin Health kolonundaki gösterge kontrol edilir (Health durumu göstergesi).
OK (yeşil)Sık Yapılan Hatalar
- Kısmi eşleşmeyi gözden kaçırmak. Text Match (Contains) cevabın içinde arar;
192.0.2.2araması192.0.2.21cevabıyla da eşleşir. Kesin eşleşme için Regex Match'te değer tırnaklarıyla yazılır ("192\.0\.2\.21"); cevaplar["192.0.2.21"]biçiminde karşılaştırılır ve Regex Match büyük/küçük harfe duyarsızdır. - Sunucunun çözemeyeceği bir ad sorgulamak. Ad, sunucunun yetkili olduğu bir bölgede olmalı ya da sunucu TR7'nin kaynak adresine özyinelemeli çözümleme yapmalıdır.
- Kurum Servisi portunu 53 dışında bırakmak. Sorgu Kurum Servisinin portuna gider.
- Yalnızca port denetimiyle yetinmek. UDP ya da TCP port denetimi DNS hizmetinin doğru yanıt verdiğini göstermez.
Dokümantasyonda nasıl yapılır
