CNAME ve A kaydı karşılaştırması

CNAME ve A Kaydı Farkları: Hangisi Ne Zaman Kullanılır?

DNS yapılandırmasında A kaydı ve CNAME kaydı en sık kullanılan iki kayıt türüdür. İkisi de domain'i bir hedefe yönlendirir ama çalışma mantıkları farklıdır. A kaydı doğrudan IP adresi gösterir, CNAME başka bir domain'e işaret eder.

Yanlış kayıt türü seçimi DNS çözümleme süresini uzatabilir, bazı durumlarda ise teknik olarak çalışmayabilir. Root domain için CNAME kullanılamaz, MX kaydı CNAME hedefleyemez gibi kısıtlamalar vardır.

A Kaydı: Doğrudan IP Eşleştirmesi

A kaydı (Address Record), bir domain adını IPv4 adresine bağlar. En temel ve en hızlı DNS kaydıdır.

example.com.    A    192.0.2.1

Bu kayıt, example.com domain'ine gelen isteklerin 192.0.2.1 IP adresine yönlendirilmesini sağlar. Tarayıcı DNS sorgusunu yapar, A kaydını alır ve doğrudan IP adresine bağlanır.

IPv6 için AAAA kaydı gerekir. Bir domain için hem A hem AAAA kaydı tanımlanabilir; dual-stack yapılandırma hem IPv4 hem IPv6 desteği sağlar.

CNAME Kaydı: Takma Ad Yönlendirmesi

CNAME (Canonical Name), bir domain adını başka bir domain adına yönlendirir.

www.example.com.    CNAME    example.com.

Tarayıcı www.example.com'u sorduğunda DNS önce CNAME kaydını bulur, ardından example.com'un A kaydına bakar ve IP adresini döner. İki DNS sorgusu gerekir.

CNAME hedefi başka bir CNAME olabilir ama zincir uzadıkça performans düşer. Her CNAME adımı ekstra DNS sorgusu ve gecikme ekler.

Temel Farklar

A kaydı doğrudan IP adresi gösterir, CNAME başka bir domain'e işaret eder. Çözümleme hızında fark var: A kaydı tek sorguda biter, CNAME en az iki sorgu gerektirir.

Root domain'de CNAME kullanılamaz. example.com için A kaydı tanımlanır, CNAME tanımlanamaz. DNS RFC standartları root domain'de SOA ve NS kayıtlarını zorunlu kılar; CNAME ise başka kayıtla birlikte bulunamaz.

CNAME tanımlı domain'e başka kayıt eklenemez. www.example.com için CNAME varsa aynı domain'e A, MX veya TXT kaydı ekleyemezsiniz. Bu kısıt MX kaydı kullanımında sorun çıkarır.

Root Domain Kısıtı

CNAME root domain'de çalışmaz. example.com için CNAME tanımlayamazsınız; yalnızca www.example.com veya blog.example.com gibi alt domainlerde kullanılır. Root domain'de SOA ve NS kayıtları zorunlu, CNAME ise başka kayıtla birlikte bulunamaz.

Bazı DNS sağlayıcıları ALIAS veya ANAME sunar. Cloudflare, DNSimple, NS1 gibi servisler bu kayıtları destekler. ALIAS kaydı sorguda A kaydına dönüştürülür; böylece root domain için CNAME benzeri esneklik sağlanır. Ancak standart değil. DNS sağlayıcısı değiştiğinde ALIAS kayıtları çalışmayabilir, yeni sağlayıcı desteklemiyorsa A kaydına dönüştürmeniz gerekir.

CDN ve Üçüncü Taraf Servisler

CNAME özellikle CDN entegrasyonlarında tercih edilir. CDN sağlayıcısı size bir hostname verir:

cdn.example.com.    CNAME    cdn.provider.com.

CDN sağlayıcısı IP adresini değiştirdiğinde sizin DNS kaydınızı güncellemenize gerek kalmaz. CNAME hedefi değişmediği sürece bağlantı korunur.

Cloudflare, Fastly, Akamai gibi CDN servisleri CNAME tabanlı entegrasyon sunar. Cloudflare root domain için CNAME flattening sağlar; bu özellik CNAME'i A kaydına dönüştürür ve root domain kısıtını aşar.

Performans Karşılaştırması

A kaydı tek DNS sorgusunda çözümlenir. CNAME en az iki sorgu gerektirir. Her DNS sorgusu 10-50ms gecikme ekler; CNAME zinciri uzadıkça bu süre birikir.

// A kaydı: 1 sorgu
example.com.    A    192.0.2.1

// CNAME: 2 sorgu
www.example.com.    CNAME    example.com.
example.com.        A        192.0.2.1

// CNAME zinciri: 3 sorgu
www.example.com.     CNAME    alias.example.com.
alias.example.com.   CNAME    cdn.provider.com.
cdn.provider.com.    A        203.0.113.50

İki veya daha fazla CNAME zinciri DNS timeout riskini artırır. Özellikle mobil bağlantılarda veya yüksek gecikme olan ağlarda bu risk belirginleşir. Bazı DNS resolver'lar CNAME zincirini 5-10 adımda keser.

Yönetim açısından CNAME avantajlı. IP adresi değiştiğinde yalnızca hedef A kaydı güncellenir, CNAME kaydı değişmez. 20-30 alt domain varsa bu fark önemli. Ancak her IP değişikliğinde tüm CNAME'lerin hedefini kontrol etmek gerekir; yoksa bir CNAME yanlış hedefe işaret edebilir.

MX Kaydı ve CNAME Uyumsuzluğu

MX kaydı CNAME hedefleyemez. RFC 2181 ve RFC 5321 standartlarına göre MX kaydı yalnızca A veya AAAA kaydı olan hostname gösterebilir.

// YANLIŞ
example.com.    MX    10    mail.example.com.
mail.example.com.    CNAME    mailserver.provider.com.

// DOĞRU
example.com.    MX    10    mail.example.com.
mail.example.com.    A    198.51.100.20

MX kaydı CNAME'e işaret ederse e-posta teslimi başarısız olur. Postfix, Exim gibi mail sunucuları RFC'ye sıkı uyar ve CNAME'i reddeder. Sendmail ve Microsoft Exchange bazı durumlarda CNAME'i takip eder ama bu davranış güvenilmez; özellikle SPF ve DKIM doğrulaması sırasında sorun çıkarır.

Google Workspace veya Microsoft 365 gibi servislerde MX kaydı sağlayıcının A kaydına işaret etmelidir. Sağlayıcı hostname değişirse MX kaydını güncellemeniz gerekir.

Çoklu A Kaydı vs CNAME

Bir domain için birden fazla A kaydı tanımlanabilir. DNS sunucusu bu kayıtları round-robin yöntemiyle döner; basit yük dağılımı sağlar.

example.com.    A    192.0.2.1
example.com.    A    192.0.2.2
example.com.    A    192.0.2.3

CNAME için bu mümkün değil. Bir domain yalnızca bir CNAME kaydına sahip olabilir. CNAME hedefi birden fazla A kaydına sahip olabilir ama CNAME kendisi tekil.

DNSSEC ve Kayıt Türleri

DNSSEC aktifse CNAME zincirindeki her adım ayrı doğrulama gerektirir. İlk CNAME doğrulanır, ardından hedef domain'in DNSSEC imzası kontrol edilir, sonra hedefin A kaydı doğrulanır. Her adım ekstra işlem ve gecikme ekler.

A kaydı tek adımda doğrulanır. DNSSEC kullanıyorsanız ve performans kritikse A kaydı tercih edilir. Ancak CDN entegrasyonunda CNAME zorunluysa DNSSEC doğrulama süresini TTL ayarıyla dengeleyebilirsiniz.

Hangi Kayıt Ne Zaman Kullanılır?

Root domain için A kaydı zorunlu. Alt domainlerde hem A hem CNAME kullanılabilir ama karar şu kriterlere bağlı:

Kendi sunucunuz varsa ve IP adresi sabitse A kaydı daha hızlı. Tek sorgu, düşük gecikme. CDN veya üçüncü taraf hosting kullanıyorsa CNAME önerilir; sağlayıcı IP değiştirdiğinde DNS kaydınızı güncellemenize gerek kalmaz.

E-posta servisi için MX hedefi A kaydı olmalı. CNAME kullanırsanız mail teslimi bozulur.

Çok sayıda alt domain aynı hedefe yönlendiriliyorsa CNAME merkezi yönetim sağlar. Ama dikkat: hedef IP değiştiğinde tüm CNAME'lerin doğru hedefe işaret ettiğini kontrol edin. Bir CNAME yanlış hedefe kalırsa o alt domain erişilemez hale gelir.

Performans kritikse ve IP adresi nadiren değişiyorsa A kaydı tercih edilir. Yönetim kolaylığı öncelikliyse ve IP sık değişiyorsa CNAME kullanılır. İkisi arasındaki seçim mutlak değil; altyapı büyüklüğü, değişim sıklığı ve ekip kapasitesine göre değişir.

ALIAS ve ANAME Kayıtları

Cloudflare, DNSimple, NS1 gibi sağlayıcılar ALIAS veya ANAME sunar. Bu kayıtlar CNAME benzeri çalışır ama root domain'de kullanılabilir.

ALIAS kaydı DNS sağlayıcısı tarafından A kaydına dönüştürülür. Siz ALIAS tanımlarsınız, kullanıcı sorgu yaptığında sağlayıcı hedefin A kaydını çözümler ve doğrudan IP döner. Kullanıcı için tek sorgu gibi görünür.

Standart değil. RFC'de tanımlı olmadığı için tüm DNS sistemlerinde desteklenmez. DNS sağlayıcısı değiştirdiğinizde ALIAS kayıtları çalışmayabilir; yeni sağlayıcı desteklemiyorsa A kaydına dönüştürmeniz gerekir. Cloudflare'den Route 53'e geçerken bu sorunla karşılaşabilirsiniz.

Yönetim ve Bakım

A kaydı IP değişikliğinde manuel güncelleme gerektirir. 5-10 A kaydı varsa tek tek güncellersiniz, hata riski düşük. 50+ A kaydı varsa script veya API kullanmak gerekir; yoksa bir kaydı atlamak kolay.

CNAME merkezi yönetim sağlar. Hedef A kaydı değiştiğinde tüm CNAME'ler otomatik olarak yeni IP'yi alır. Ama zincir karmaşıklaştıkça hangi CNAME'in neye işaret ettiğini takip etmek zorlaşır. Dokümantasyon tutmak ve düzenli kontrol yapmak gerekir.

Kayıt türü seçimi şu sorulara bağlı: IP ne sıklıkla değişir? CDN kullanılıyor mu? Root domain mu alt domain mi? E-posta servisi var mı? Performans mı yönetim kolaylığı mı öncelikli? Bu soruların cevapları A veya CNAME kararını belirler.

İlgili Yazılar