Buyukweb
DNS Yük Devretme: Yüksek Erişilebilirlik için DNS Failover

DNS Yük Devretme: Yüksek Erişilebilirlik için DNS Failover

DNS failover ile birincil sunucu çöktüğünde otomatik yönlendirme, sağlık kontrolleri ve multi-region yüksek erişilebilirlik mimarisi.

Büyükweb Teknik Ekibi23 Ekim 20247 dakika okuma

DNS Yük Devretme: Yüksek Erişilebilirlik için DNS Failover

DNS failover, birincil sunucunuzun çökmesi durumunda trafiği otomatik olarak yedek sunucuya yönlendirir. Bu rehberde farklı failover stratejilerini ve yapılandırmalarını inceliyoruz.

DNS Failover Neden Gerekli?

Senaryo: buyukweb.com'un tek sunucusu çöktü
Sonuç: Tüm müşteriler siteye erişemiyor
Çözüm: DNS Failover → Otomatik yedek sunucuya geçiş

SLA (Service Level Agreement) hedefleri:
%99.9 uptime  → Ayda 43 dakika kesinti
%99.99 uptime → Ayda 4.3 dakika kesinti
%99.999 uptime → Ayda 26 saniye kesinti

Tek sunucu ile %99.9+ uptime mümkün değil!

Failover Stratejileri

Aktif-Pasif (Hot Standby)

Normal durum:
trafik → Birincil (195.85.100.50) [AKTIF]
         Yedek (195.85.100.51) [BEKLEME]

Birincil çökünce:
trafik → Birincil (195.85.100.50) [DOWN]
       → Yedek (195.85.100.51) [AKTİF]

Avantaj: Basit, düşük maliyet
Dezavantaj: Yedek kaynak boşa gider

Aktif-Aktif (Load Balanced)

Normal durum:
trafik → Sunucu 1 (195.85.100.50) [AKTIF]
       → Sunucu 2 (195.85.100.51) [AKTIF]

Sunucu 1 çökünce:
trafik → Sunucu 1 (195.85.100.50) [DOWN]
       → Sunucu 2 (195.85.100.51) [TÜM TRAFİK]

Avantaj: Kaynaklar verimli kullanılır
Dezavantaj: Daha karmaşık, session management

Cloudflare Load Balancing Failover

# API ile Monitor oluştur
curl -X POST "https://api.cloudflare.com/client/v4/accounts/ACCOUNT_ID/load_balancers/monitors"   -H "Authorization: Bearer TOKEN"   -H "Content-Type: application/json"   --data '{
    "type": "http",
    "method": "GET",
    "path": "/health",
    "interval": 30,
    "timeout": 5,
    "retries": 2,
    "expected_codes": "200",
    "follow_redirects": true,
    "description": "HTTP health check"
  }'

# Pool oluştur
curl -X POST "https://api.cloudflare.com/client/v4/accounts/ACCOUNT_ID/load_balancers/pools"   -H "Authorization: Bearer TOKEN"   -H "Content-Type: application/json"   --data '{
    "name": "primary-pool",
    "origins": [
      {
        "name": "primary",
        "address": "195.85.100.50",
        "weight": 1,
        "enabled": true
      }
    ],
    "monitor": "MONITOR_ID",
    "minimum_origins": 1,
    "notification_email": "admin@buyukweb.com"
  }'

# Load Balancer oluştur
curl -X POST "https://api.cloudflare.com/client/v4/zones/ZONE_ID/load_balancers"   -H "Authorization: Bearer TOKEN"   -H "Content-Type: application/json"   --data '{
    "name": "buyukweb.com",
    "default_pools": ["PRIMARY_POOL_ID"],
    "fallback_pool": "BACKUP_POOL_ID",
    "ttl": 30,
    "steering_policy": "off",
    "session_affinity": "cookie"
  }'

Heartbeat Sağlık Kontrolü Endpoint

# Nginx sağlık kontrolü endpoint
# /etc/nginx/sites-available/default
location /health {
    access_log off;
    return 200 '{"status":"ok","hostname":"$hostname"}';
    add_header Content-Type application/json;
}

# Uygulama sağlık kontrolü (Node.js)
app.get('/health', async (req, res) => {
  try {
    await db.query('SELECT 1');  // DB kontrolü
    res.json({ status: 'ok', db: 'ok', ts: Date.now() });
  } catch (err) {
    res.status(503).json({ status: 'error', db: 'down' });
  }
});

Route 53 + EC2 Failover

AWS Console DNS Failover Yapılandırması:

1. Sağlık Kontrolü Oluştur:
   Route 53 → Health Checks → Create
   Endpoint: 195.85.100.50
   Path: /health
   Interval: 30 saniye
   Threshold: 2 başarısız → Unhealthy

2. Birincil A Kaydı:
   Name: buyukweb.com
   Type: A
   Routing Policy: Failover
   Failover Record Type: Primary
   Value: 195.85.100.50
   Health Check: [oluşturulan kontrol]
   TTL: 30

3. Yedek A Kaydı:
   Name: buyukweb.com
   Type: A
   Routing Policy: Failover
   Failover Record Type: Secondary
   Value: 195.85.100.51
   TTL: 30

Bildirim ve Otomasyon

# Cloudflare Notifications
curl -X POST "https://api.cloudflare.com/client/v4/accounts/ACCOUNT_ID/alerting/v3/policies"   -H "Authorization: Bearer TOKEN"   -H "Content-Type: application/json"   --data '{
    "name": "Load Balancer Alert",
    "enabled": true,
    "alert_type": "load_balancing_health_alert",
    "mechanisms": {
      "email": [{"id": "admin@buyukweb.com"}]
    },
    "filters": {
      "pool_id": ["POOL_ID"]
    }
  }'

# PagerDuty/OpsGenie entegrasyonu
# Webhook ile bildirim
curl -X POST "PAGERDUTY_WEBHOOK_URL"   --data '{"routing_key":"...","event_action":"trigger","payload":{"summary":"buyukweb.com primary server down"}}'

Failover Test Prosedürü

# 1. Mevcut DNS'i kontrol et
dig buyukweb.com A @8.8.8.8

# 2. Primary sunucuyu durdur (test)
# sudo systemctl stop nginx

# 3. DNS değişikliğini izle (TTL kadar bekle)
watch -n 5 'dig +short buyukweb.com A @8.8.8.8'

# 4. Yedek sunucuya geçişi doğrula
curl -H "Host: buyukweb.com" http://195.85.100.51/health

# 5. Primary'yi geri aç
# sudo systemctl start nginx

# 6. Geri dönüşü izle
watch -n 5 'dig +short buyukweb.com A @8.8.8.8'

Sonuç

DNS failover, yüksek erişilebilirlik için temel yapı taşlarından biridir. Cloudflare Load Balancing veya Route 53 Failover ile birincil sunucu çöktüğünde kullanıcılar kesintisiz hizmete devam eder. Buyukweb altyapısında redundant DNS ve failover mekanizmaları ile %99.9 uptime garantisi sağlanmaktadır.


Ilgili Buyukweb Hizmetleri:


Domain ve DNS Yonetimi

Domain Secimi

Kisa, akilda kalici domain secin. .com en guclu. .com.tr yerel SEO avantaji. Benzer domainleri de alin.

DNS Kayit Tipleri

A: IPv4 yonlendirme. AAAA: IPv6. CNAME: Alias. MX: E-posta sunucusu. TXT: SPF/DKIM/DMARC. NS: Yetkili DNS. SRV: Servis kesfetme. CAA: SSL kisitlama.

DNSSEC

DNS spoofing koruması. Dijital imza ile orijinallik dogrulama.

DNS Gecisi

TTL dusurme, kayitlari guncelleme, 24-48 saat propagasyon. Her iki sunucu gecis sirasinda aktif.

Subdomain

blog., shop., api. ile hizmetleri ayirin. Wildcard DNS ile toplu yonlendirme.

Domain Guvenligi

Transfer kilidi aktif tutun. Whois gizliligi kullanin. Kayit yenilemeyi otomatiklestirin.

Sik Sorulan Sorular

Transfer nasil yapilir?

EPP kodu alin, kilidi acin, transfer baslatin, onaylayin. 5-7 gun surer.

Whois gizliligi neden onemli?

Kisisel bilgilerinizi spam ve dolandiriciliga karsi korur.

Sonuc

Domain ve DNS dijital varliginizin temelidir. Dogru yapilandirma ile tum hizmetleriniz sorunsuz calisir.

DNS Propagasyon Sureci

TTL Nasil Calisir?

Her DNS kaydi bir TTL degerine sahiptir. TTL 86400 ise degisiklik 24 saate kadar eski degerle gosterilir.

Hizli Propagasyon

  1. 24-48 saat once TTL'i 300'e dusurrun
  2. Degisikligi yapin
  3. Propagasyon sonrasi TTL'i normale cekin

Kontrol

whatsmydns.net ile propagasyon durumunu kontrol edin.

Domain Uzanti Rehberi

Uzanti Kullanim Avantaj
.com Global En guvenilir
.com.tr Turkiye Yerel SEO
.net Teknoloji Alternatif
.org Kuruluslar Non-profit
.io Startup Modern
.dev Gelistirici HTTPS zorunlu
.store E-ticaret Magaza icin

Ucretsiz DNS Saglayicilari

  • Cloudflare DNS: Hizli, guvenli, ucretsiz CDN
  • Google Cloud DNS: Guvenilir
  • Hurricane Electric: IPv6 destegi mukemmel

Hosting ve Sunucu Terimleri Sozlugu

Terim Aciklama
VDS Virtual Dedicated Server - Sanal ozel sunucu
NVMe SSD Non-Volatile Memory Express - En hizli disk teknolojisi
LiteSpeed Yuksek performansli web sunucu yazilimi
CloudLinux Paylasimli hosting icin kaynak izolasyon isletim sistemi
cPanel Populer web hosting kontrol paneli
Plesk Web hosting ve sunucu yonetim paneli
KVM Kernel-based Virtual Machine - Tam sanallastirma teknolojisi
DDoS Distributed Denial of Service - Dagitik hizmet engelleme saldirisi
SSL/TLS Veri iletisimini sifreleyen guvenlik protokolu
TTFB Time to First Byte - Sunucu yanit suresi
CDN Content Delivery Network - Icerik dagitim agi
WAF Web Application Firewall - Web uygulama guvenligi duvari
IOPS Input/Output Operations Per Second - Disk performans olcusu
Uptime Sunucunun kesintisiz calisma suresi yuzdesi
Bandwidth Veri transfer kapasitesi

Bu terimleri anlamak, hosting ve sunucu hizmetlerini daha bilinçli secmenize yardimci olur. Detayli bilgi icin Buyukweb blog yazilarini takip edin veya teknik destek ekibimize danisIn.

Teknik Destek ve Yardim Kanallari

Buyukweb olarak musterilerimize birden fazla destek kanali sunuyoruz:

Canli Destek (Tawk.to)

Web sitemiz uzerinden 7/24 canli destek ile aninda yardim alin. Teknik sorulariniz, fatura islemleriniz ve genel bilgi talepleriniz icin canli destek ekibimiz hizmetinizdedir.

Telefon Destegi

0850 302 60 70 numarasindan hafta ici ve hafta sonu teknik destek alabilirsiniz. Acil durumlar ve karmasik sorunlar icin telefon destegi en hizli cozum yoludur.

E-posta Destegi

destek@buyukweb.com adresine detayli sorun tanimlamanizi gonderin. Ekran goruntuleri ve hata mesajlari ile birlikte gonderdiginiz talepler daha hizli cozumlenir.

Musteri Paneli

my.buyukweb.com uzerinden destek talepleri olusturun, faturalarinizi yonetin ve hizmetlerinizi kontrol edin. Ticket sistemi ile tum iletisiminiz kayit altindadir.

Bilgi Bankasi

Blog yazilarimiz ve rehberlerimiz ile sik karsilasilan sorunlarin cozumlerini kendiniz bulabilirsiniz. WordPress kurulumu, DNS ayarlari, e-posta yapilandirmasi gibi konularda adim adim rehberler mevcuttur.

Buyukweb teknik ekibi, hosting alaninda 17 yillik tecrubesi ile her turlu sorununuza profesyonel cozum sunar.

Etiketler:

#dns failover#yüksek erişilebilirlik#load balancing#sağlık kontrolü#uptime

Bu yazıyı paylaş