Route 53'te DNS kaydından trafik yönlendirmeye: uygulamalı yol haritası
Beceri rehberi

Route 53'te DNS kaydından trafik yönlendirmeye: uygulamalı yol haritası

Hazırlayan: Mindset Institute EditörlüğüGüncellendi: 6 dk okuma

Route 53'te barındırılan bölge, kayıt türleri, alias kaydı, yönlendirme politikaları ve sağlık kontrolüyle DNS yönetiminin nasıl yapıldığını adım adım öğrenin.

Route 53 hangi işi yapar?

Amazon Route 53, alan adı sistemini (DNS) yöneten AWS hizmetidir. Kullanıcı tarayıcıya bir alan adı yazdığında, bu adı sunucunun adresine çeviren yetkili ad sunucusu görevini Route 53 üstlenebilir. Hizmetin üç işlevi bir arada sunulur: alan adı kaydı, DNS kayıtlarının barındırılması ve sağlık kontrolüne bağlı trafik yönlendirmesi.

DNS'in kendisi yalnızca bir adres rehberi değildir; trafiği yönlendirmek için de kullanılır. Aynı alan adının arkasında birden çok sunucu ya da bölge varsa, hangi kullanıcının hangisine gideceğine DNS katmanında karar verebilirsiniz. Route 53'ün farkı, bu kararı sağlık kontrolü, coğrafya, gecikme ve ağırlık gibi ölçütlerle verebilmesidir.

Bu beceriyi öğrenirken kavramları sırayla oturtmak işe yarar: önce barındırılan bölge ve kayıt, sonra alias, sonra yönlendirme politikaları, en sonda sağlık kontrolü ve yük devri. Önceki basamak anlaşılmadan sonrakine geçmek, "kayıt ekledim ama çözülmüyor" tipi sorunların kaynağıdır. DNS kavramının genel tanımı için sözlükteki DNS sayfasına, bu sayfada ise AWS'de nasıl uygulanacağına odaklanıyoruz.

Adım adım: barındırılan bölge ve ilk kayıtlar

Barındırılan bölge (hosted zone), bir alan adına ait kayıtların konteyneridir. Genel (public) bölge internetteki sorgulara, özel (private) bölge ise bir VPC içindeki sorgulara cevap verir. İç ağda "db.company.internal" gibi adlar kullanmak için özel bölge tercih edilir.

Temel akış şöyledir:

  • Route 53 konsolunda bir barındırılan bölge oluşturun ve alan adını yazın.
  • Bölgeyle birlikte oluşan NS kayıtlarındaki ad sunucularını alan adını satın aldığınız yerde (kayıt kuruluşu) yetkili ad sunucusu olarak tanımlayın. Alan adını Route 53'ten aldıysanız bu adım otomatiktir.
  • Kayıtları ekleyin: kayıt adı, türü, değeri ve TTL süresi.

Sık kullanılan kayıt türleri: A kaydı alan adını bir IP adresine, AAAA kaydı yeni nesil IP adresine bağlar; CNAME bir adı başka bir ada yönlendirir; MX posta sunucusunu gösterir; TXT doğrulama ve e-posta kimlik doğrulama kayıtlarında kullanılır. Kök alan adı (apex) için CNAME tanımlanamaz; bu noktada Route 53'ün alias kaydı devreye girer.

TTL, çözümleyicilerin cevabı ne kadar süre önbellekte tutacağını belirler. Kaydı değiştirmeden önce TTL'yi kısaltmak, geçişin daha çabuk yayılmasını sağlar. Taşıma bittikten sonra TTL tekrar uzatılabilir. "DNS yayıldı mı" sorusunun cevabı çoğu zaman eski TTL'nin dolmasıdır.

Alias kaydı: AWS kaynaklarına bağlanmanın doğru yolu

Alias kaydı Route 53'e özgü bir kayıt türüdür ve alan adını doğrudan bir AWS kaynağına bağlar: yük dengeleyici, CloudFront dağıtımı, S3 web sitesi uç noktası, API Gateway gibi. Başlıca avantajları şunlardır. Kök alan adında da kullanılabilir. Kaynağın IP adresi değiştiğinde Route 53 bunu kendisi izler, siz kaydı güncellemezsiniz.

Pratik kural: bir AWS kaynağına işaret ediyorsanız ve kayıt türü destekliyorsa CNAME yerine alias kullanın. Örneğin uygulamanın önündeki Application Load Balancer'a "www" ve kök alan adı için alias A kaydı tanımlarsınız. Yük dengeleyiciyi yeniden oluşturduğunuzda DNS adı değişse bile, kaydı güncellemek tek yerde yapılır.

Alias hedefinde sağlık değerlendirmesini açabilirsiniz. Hedef sağlıksızsa Route 53 o kayda cevap vermeyi bırakabilir ve yönlendirme politikası başka kayda geçer. Bu, aşağıdaki yük devri düzeninin temelidir.

Yönlendirme politikaları: hangi durumda hangisi?

Bir kayıt oluştururken yönlendirme politikasını da seçersiniz. AWS belgesine göre politikalar ve kullanım amaçları şöyledir:

  • Basit (simple): alan adı için tek kaynak varsa. Bir web sunucusu gibi.
  • Ağırlıklı (weighted): trafiği belirlediğiniz oranlarda birden çok kaynağa dağıtmak için. Yeni sürümü küçük bir trafik payıyla denemek (canary) ya da kademeli geçiş için uygundur.
  • Gecikme tabanlı (latency): kaynaklar birden çok AWS bölgesinde ise kullanıcıyı en düşük gecikmeyi sunan bölgeye yönlendirir.
  • Yük devri (failover): etkin-pasif düzen kurar; birincil kayıt sağlıksızsa ikincil kayda geçer.
  • Coğrafi konum (geolocation): kullanıcının bulunduğu yere göre yönlendirir. Yerel içerik, dil ya da yasal kısıtlar için kullanılır.
  • Coğrafi yakınlık (geoproximity): kaynakların konumuna göre yönlendirir ve isteğe bağlı olarak trafiği bir konumdan diğerine kaydırmaya izin verir.
  • IP tabanlı: sorgunun geldiği IP aralığını bildiğiniz durumlarda yönlendirme yapar.
  • Çoklu değer cevabı (multivalue answer): sağlıklı kayıtlardan rastgele seçilmiş birkaç tanesini döner. Basit bir istemci tarafı dengeleme sağlar, yük dengeleyicinin yerini tutmaz.

Seçimde sorulacak soru, "kararı neye göre vereceğim" olmalıdır: oran mı, gecikme mi, konum mu, sağlık mı. Politikalar birbirine bağlanarak da kullanılır; örneğin önce konuma, sonra o konum içinde ağırlığa göre yönlendirme yapılabilir.

Sağlık kontrolü ve yük devri kurulumu

Sağlık kontrolü (health check), Route 53'ün bir uç noktayı dışarıdan düzenli olarak yoklamasıdır. Protokol, adres ve yol belirlenir; uç nokta bekleneni cevap vermezse kontrol başarısız sayılır. Sağlık kontrolü bir kayda bağlandığında, kayıt sağlıksızken Route 53 cevap listesine onu koymaz.

Etkin-pasif yük devri için tipik kurulum:

  • Birincil bölgedeki yük dengeleyici için alias kaydı, politika "failover/primary", sağlık kontrolü bağlı.
  • İkincil bölgedeki yedek ortam için aynı adda kayıt, politika "failover/secondary".
  • Sağlık kontrolü, uygulamanın gerçekten çalıştığını gösteren bir yola yoklama yapar. Ana sayfayı yoklayan kontrol, veritabanı yavaşlayınca gereksiz yük devri başlatabilir.

AWS'nin felaket kurtarma belgesi, otomatik DNS yük devrinin veri düzlemi üzerinde çalışan çok güvenilir bir işlem olduğunu söyler. Elle başlatılan yük devri için ise Application Recovery Controller ile anahtar gibi davranan sağlık kontrolleri kurulabilir. Ağırlıkları elle değiştirerek yük devri yapmak mümkündür ama denetim düzlemi işlemi olduğundan daha az dayanıklıdır.

Örneğin bir kurumsal portal için ikincil bölgede yalnızca bakım sayfası sunan basit bir ortam kurulabilir. Birincil ortam çökerse kullanıcılar boş hata yerine bilgilendirme sayfası görür; bu, tam yük devri kurulana kadar atılabilecek düşük maliyetli bir ilk adımdır.

Sık yapılan hatalar ve kontrol listesi

  • Kayıt kuruluşundaki ad sunucularını güncellemeyi unutmak. Bölge doğru kurulsa da internette görünmez.
  • Aynı adda hem CNAME hem başka kayıt tanımlamak. DNS bunu kabul etmez.
  • Kök alan adı için CNAME denemek. Alias kullanın.
  • TTL'yi hiç düşünmemek. Uzun TTL, hatalı bir kaydın uzun süre dolaşmasına yol açar.
  • Yük devri için sağlık kontrolü kurup bunu hiç sınamamak. Birincil uç noktayı bilinçli bozup davranışı gözlemleyin.
  • Özel bölgeyi doğru VPC'ye bağlamamak. VPC'de DNS çözümleme özelliği açık olmalıdır.
  • Alan adı yenilemesini ve bölge ayarlarını takip etmemek. Alan adı süresi dolarsa tüm hizmetler etkilenir.
  • Uygulamanın kimlik doğrulama, e-posta ve sertifika doğrulaması gibi DNS'e bağlı diğer işlerini bozmak. Kayıt değişikliğinden önce TXT ve MX kayıtlarını yedekleyin.

Kayıtları elle yönetmek yerine CloudFormation ya da Terraform gibi araçlarla kodla tanımlamak, değişikliği gözden geçirilebilir ve geri alınabilir kılar. Sorun giderirken dig ya da nslookup ile hem yetkili ad sunucusuna hem genel çözümleyiciye sorarak farkı görün.

Mindset programlarında bu beceri nerede çalışılır?

AWS Solutions Architect Associate Hazırlık programının Ağ ve Güvenlik Mimarisi modülü ağ tasarımı tarafını, Yüksek Erişilebilirlik ve Felaket Kurtarma modülü ise yük devri ve çok bölgeli tasarım tarafını kapsar; DNS yönlendirmesi bu mimari kararların bir parçası olarak karşınıza çıkar. Program, bulut mimarisini ya da ağını kuran ekipler için uygundur. Kurumsal ekiplerde altyapı ile uygulama geliştirme tarafının DNS ve yönlendirme kararlarını aynı terimlerle tartışabilmesi için ortak zemin sağlar.

İlgili Mindset programı

AWS Solutions Architect Associate Hazırlık

Sık sorulanlar

Sık sorulan sorular

Route 53'te alias kaydı ile CNAME arasındaki fark nedir?

CNAME bir adı başka bir ada yönlendirir ve kök alan adında kullanılamaz. Alias ise Route 53'e özgü kayıt türüdür, yük dengeleyici veya CloudFront gibi AWS kaynaklarına doğrudan bağlanır, kök alan adında da çalışır ve kaynağın adresi değiştiğinde güncellemeye gerek bırakmaz.

Hangi yönlendirme politikasıyla başlamalıyım?

Tek bir kaynağınız varsa basit politika yeterlidir. Yeni sürümü kademeli denemek için ağırlıklı, birden çok bölgede gecikmeyi düşürmek için gecikme tabanlı, aktif-pasif düzen için yük devri politikası seçilir. Önce ihtiyacı belirleyin, sonra politikayı seçin.

DNS değişikliği neden hemen görünmüyor?

Çözümleyiciler cevapları TTL süresi boyunca önbellekte tutar. Kaydı değiştirdiğinizde eski cevap bu süre dolana kadar dolaşabilir. Geçiş planlıyorsanız değişiklikten önce TTL'yi kısaltın, geçiş tamamlandıktan sonra tekrar uzatın. Uzun TTL yük azaltır ama hatalı kaydı uzun süre dolaştırır.

Route 53 sağlık kontrolü neyi doğrular?

Belirlediğiniz protokol, adres ve yol üzerinden uç noktayı dışarıdan yoklar ve beklenen cevap gelmezse sağlıksız sayar. Bu bilgi kayıtlara bağlanarak yük devri ve yönlendirme kararlarında kullanılır. Anlamlı sonuç için uygulamanın gerçek durumunu yansıtan bir yol yoklanmalıdır.

Route 53 yalnızca AWS'deki uygulamalar için mi kullanılır?

Hayır. Route 53 herhangi bir alan adının DNS kayıtlarını barındırabilir ve AWS dışındaki sunuculara da işaret edebilir. AWS kaynaklarıyla alias, sağlık kontrolü ve politika entegrasyonu en kolay şekilde çalışır, ama kullanım bununla sınırlı değildir.

AWS Route 53 ile DNS ve Trafik Yönlendirme