CNAME ve A Kaydı Arasındaki Farklar

A kaydı ile CNAME kaydı arasındaki temel fark, DNS yanıtının neyi gösterdiğidir. A kaydı bir alan adını doğrudan IPv4 adresine bağlar; CNAME kaydı ise bir adı başka bir alan adının takma adı olarak tanımlar.
Bu fark, recursive resolver (özyinelemeli DNS çözümleyicisi) hizmetinin izleyeceği yolu, IP adresi değiştiğinde hangi kaydın güncelleneceğini ve önbellekte hangi verilerin tutulacağını da belirler.
Belirli bir IPv4 adresini doğrudan yayımlamak istiyorsanız A kaydını kullanın. Bir adı başka bir DNS adının takma adı olarak tanımlamak istiyorsanız CNAME'i değerlendirin. CNAME bulunan DNS adında A, AAAA, MX veya TXT kaydı tutulmaz. DNS verilerinin doğrulanmasını sağlayan DNSSEC'e ait RRSIG ve NSEC gibi kayıtlar ise aynı adda bulunabilir.
A ve CNAME Kayıtlarının Hedefleri Nasıl Çözülür?
İki kayıt türü de DNS ad çözümlemesinde kullanılır, ancak taşıdıkları veri farklıdır. “A kaydı mı CNAME mi?” sorusunun yanıtı, kaydın sonunda doğrudan bir IPv4 adresi mi yoksa çözülmeye devam edecek başka bir DNS adı mı göstermesi gerektiğine bağlıdır.
A Kaydı Doğrudan IPv4 Adresi Verir
A kaydının veri alanı 32 bitlik bir IPv4 adresidir. Bir recursive resolver belirli bir alan adı için A kaydı istediğinde yetkili DNS sunucusu, ilgili adla eşleşen IPv4 adresini döndürebilir. Recursive resolver bu yanıtı önbellekten yeniden kullanabilir. TTL, kaydın yeniden sorgulanmadan ne kadar süre kullanılabileceğini saniye cinsinden belirtir.
A kaydı, sunucunun fiziksel konumunu, hangi uygulamayı çalıştırdığını veya bağlantının başarılı olacağını belirtmez. Yalnızca DNS adı ile IPv4 adresi arasındaki eşleşmeyi yayımlar. IPv6 adresi için A kaydı yerine ayrı bir AAAA kaydı gerekir. A kaydı eski bir IP adresini gösterirse cihaz veya uygulama artık hizmet vermeyen ya da yanlış bir sunucuya bağlanmayı deneyebilir.
CNAME Kaydı Başka Bir Adı Gösterir
CNAME kaydında hedef değer bir IP adresi değil, başka bir DNS adıdır. Örneğin uygulama.example.com adını hizmet.platform.example adına CNAME olarak bağlarsanız recursive resolver önce bu takma ad ilişkisini öğrenir, ardından hedef adın adres kayıtlarını çözer.
Hedef adın sonunda A kaydı, AAAA kaydı veya çözümlemenin devam etmesini sağlayan başka bir CNAME bulunabilir. CNAME kaydının kendisi IPv4 ya da IPv6 adresi taşımaz. Bu nedenle CNAME, A kaydının farklı yazılmış biçimi değildir.
A ve CNAME Kayıtlarının Teknik Karşılaştırması
Aşağıdaki tablo iki kayıt türünü hedef değer, çözümleme, kullanım konumu ve değişiklik yönetimi açısından karşılaştırır.
| Karşılaştırma noktası | A Kaydı | CNAME Kaydı |
|---|---|---|
| Hedef değer | Doğrudan IPv4 adresi | Başka bir DNS adı |
| Çözümleme sonucu | Adres yanıtıyla tamamlanabilir | Hedef adın kayıtları da çözülür |
| Aynı addaki diğer kayıtlar | Kurallara uygun başka kayıtlarla bulunabilir | A, AAAA, MX veya TXT kaydıyla bulunmaz; RRSIG ve NSEC gibi DNSSEC kayıtları istisnadır |
| DNS bölgesinin tepe noktası | Kullanılabilir | Standart CNAME kullanılamaz |
| IP adresi değişikliği | İlgili A kaydı güncellenir | Hedef ad aynı kalırken hedefin adresleri değişebilir |
| Bağımlılık | Yayınlanan IPv4 adresine doğrudan bağlıdır | Hedef adın DNS verisine ve çözümleme zincirine bağlıdır |
| IPv6 ile ilişki | IPv6 adresi taşımaz | Hedef adın AAAA kaydı üzerinden IPv6 adresine çözülmesine engel olmaz |
Tepe Noktası ve Alt Alanlar İçin Kayıt Seçimi
Kaydın DNS bölgesindeki konumu, hangi kayıt türünü kullanabileceğinizi belirler. Bölgenin tepe noktası ile aynı bölgedeki www, uygulama veya destek gibi adların kullanım koşulları farklı olabilir.
Tepe Noktasında A Kaydı Kullanılabilir mi?
DNS bölgesinin tepe noktası, o bölgenin başladığı ve SOA ile yetkili NS kayıtlarının bulunduğu addır. Örneğin example.com bölgesinin tepe noktası example.com adıdır. alt.example.com ayrı bir DNS bölgesi olarak yönetiliyorsa kendi bölgesinin tepe noktası olur; adında alt alan etiketi bulunması bunu değiştirmez. Standart CNAME, aynı addaki zorunlu SOA ve NS kayıtlarıyla çakıştığı için bu noktada kullanılamaz.
Tepe noktasında IPv4 hizmeti yayımlayacaksanız A kaydı kullanabilirsiniz. Bazı DNS sağlayıcıları bu konumda takma ad benzeri özel özellikler sunar; ancak ALIAS veya ANAME gibi sağlayıcıya özgü çözümleri standart CNAME ile aynı saymayın.
Alt Alanlarda CNAME Kaydı Ne Zaman Kullanılır?
www.example.com, uygulama.example.com veya destek.example.com gibi bir alt alanı başka bir hizmetin DNS adına bağlamak istiyorsanız CNAME uygun olabilir. Hedef hizmeti sunan kuruluşun IP adresleri değiştiğinde aynı değişiklikleri kendi DNS bölgenizdeki A kayıtlarına tek tek aktarmak zorunda kalmazsınız.
Bu yapı hedef ada bağımlılık oluşturur. CNAME hedefi silinirse, yanlış yazılırsa veya çözülemez duruma gelirse kullanılabilir bir önbellek yanıtı bulunmadığında takma ad üzerinden IP adresine ulaşılamaz. Daha önce alınmış adresler bir süre çalışmaya devam edebilir. Ayrıca CNAME ile aynı DNS adında A, AAAA, MX veya TXT kaydı yayımlayamazsınız.
Birden Fazla Alt Alan Tek Hedefe Nasıl Bağlanır?
Aynı hizmete bağlı çok sayıda alt alanınız varsa her birine aynı IPv4 adresini taşıyan A kayıtları ekleyebilirsiniz. Fakat adres değiştiğinde bütün kayıtları ayrı ayrı güncellemeniz gerekir. CNAME kullanırsanız bu adlar tek bir hedefi izler; hedefin IP adresi değiştiğinde her CNAME kaydını ayrı ayrı güncellemeniz gerekmez.
Her alt alanın farklı IP adresi kullanması, birbirinden bağımsız güncellenmesi veya aynı adda ek DNS kayıtları taşıması gerekiyorsa doğrudan A kaydı daha uygundur. CNAME'i yalnız yönetimi kolaylaştırmak için değil, ilgili ad gerçekten başka bir adın takma adıysa seçin.
CNAME Çözümleme Zinciri Sorgu Sayısını Nasıl Etkiler?
A kaydı doğrudan IPv4 adresi verdiği için recursive resolver hizmetinin başka bir ad ilişkisini takip etmesi gerekmez. CNAME yanıtında ise hedef adın da çözülmesi gerekir. Hedefin adres kaydı önbellekteyse veya DNS yanıtıyla birlikte sağlanmışsa yeni bir ağ sorgusu gerekmeyebilir; aksi durumda recursive resolver ek sorgu gönderir.
Bu nedenle CNAME kaydının her koşulda belirli bir gecikme eklediğini söylemek doğru değildir. Etki, recursive resolver hizmetinin önbelleğine, yetkili sunucuların verdiği yanıta, hedef ad için gereken çözümleme adımlarına ve CNAME zincirinin uzunluğuna bağlıdır.
Bir CNAME hedefi başka bir CNAME ise çözümleme zinciri oluşur. Zincir başlangıç adına geri dönerse döngüye girer ve recursive resolver sonuç üretemez. Ek sorguları, bağımlılıkları ve hata ayıklama yükünü azaltmak için hedefi mümkün olduğunca doğrudan tutun.
TTL, A ve CNAME Değişikliklerini Nasıl Etkiler?
CNAME kullanıldığında takma ad ilişkisi ile hedef adın A veya AAAA kaydı birbirinden ayrı DNS kayıtlarıdır ve farklı TTL değerlerine sahip olabilir. Bu nedenle hangi kaydın değiştiği önemlidir.
CNAME hedefini değiştirirseniz bazı önbellekler eski takma ad ilişkisini, önbellekteki CNAME kaydının kalan TTL süresi boyunca kullanabilir. Hedef adı değiştirmeden yalnız IPv4 adresini güncellerseniz eski adresin ne kadar daha kullanılacağını hedef A kaydının önbellekteki kalan TTL süresi etkiler. Yeni sorguda güncel kayıt alındığında yeni adres kullanılabilir.
TTL değerini düşürmek, daha önce önbelleğe alınmış kaydın kalan süresini geriye dönük olarak kısaltmaz. Düşük TTL ancak yeni değerle alınan yanıtlar için geçerlidir; değişikliğin bütün kullanıcılarda aynı anda görünmesini garanti etmez. Bazı recursive resolver hizmetleri, yeni yanıt alınamadığında süresi dolmuş veriyi geçici olarak sunabilir. Çok düşük TTL değerleri ise yetkili DNS sunucularına ulaşan sorgu sayısını artırabilir.
A ve CNAME Kayıtları Nasıl Kontrol Edilir?
Sorun giderirken önce sorguladığınız adın hangi kayıt türünü döndürmesi gerektiğini belirleyin. CNAME Kaydı Sorgulama aracıyla takma adın hedefini inceleyebilirsiniz. Araç sonucu tek başına kaydın kullanım amacınıza uygun olduğunu göstermez.
CNAME görüyorsanız hedef adı da izleyin ve zincirin sonunda geçerli bir A veya AAAA kaydı bulunduğunu doğrulayın. A kaydı görüyorsanız adresin beklediğiniz sunucuya ait olup olmadığını ve önbellekte eski bir yanıt kalıp kalmadığını kontrol edin.
DNS kaydının doğru olması, web sitesinin veya uygulamanın çalışacağını tek başına garanti etmez. Web sunucusu yapılandırmasını, TLS sertifikasını, güvenlik duvarını ve uygulamanın durumunu ayrıca kontrol edin. A ve CNAME kayıtları HTTP yönlendirmesi yapmaz ve tarayıcıdaki URL yolunu değiştirmez.







