İskele deposunda dolaşık halatların ayrı ırgatlara bağlanması ve bekleyen tekneler

DigitalOcean DNS ile Subdomain Yönetimi

DigitalOcean, sanal sunucu ve bulut altyapısı hizmetlerinin yanı sıra ücretsiz bir DNS yönetim paneli sunar. Domain'inizi DigitalOcean nameserver'larına taşıdığınızda tüm DNS kayıtlarını, subdomain yapılandırmalarını ve TTL değerlerini bu panel üzerinden yönetebilirsiniz. Panel, sade arayüzü ve kapsamlı API desteğiyle küçük projelerden orta ölçekli altyapılara kadar pratik bir seçenek olarak öne çıkar.

Subdomain yönetimi, bir domain'in altında ayrı hizmetler çalıştırmanın temel yoludur. api.example.com, staging.example.com veya mail.example.com gibi adresler, aynı domain altındaki farklı sunucu ya da servislere işaret eder; bu, alt domain oluşturmanın panel karşılığıdır. DigitalOcean DNS panelinde bu yapılandırma doğrudan kayıt oluşturarak yapılır; her subdomain için ayrı bir A, CNAME veya MX kaydı ekleyebilirsiniz.

Hangi kayıt tipinin ne zaman kullanılacağı, wildcard subdomain'lerin davranışı ve TTL yönetimi, yanlış yapılandırıldığında saatlerce süren kesintilere yol açabilir. Panel sade görünür; hata çoğu zaman hostname alanına tam FQDN yazmak, apex'e CNAME basmak veya TTL'yi düşürmeden IP değiştirmekle başlar.

DigitalOcean DNS panelinde subdomain kaydı oluşturma

DigitalOcean kontrol panelinde "Networking" sekmesinin altındaki "Domains" bölümüne gidin. Domain'inizi listeye ekledikten sonra kayıt yönetim ekranı açılır. Buradan A, AAAA, CNAME, MX, TXT, SRV ve CAA kayıt tiplerini oluşturabilirsiniz.

Bir subdomain için A kaydı eklerken hostname alanına yalnızca subdomain ön ekini yazın. api.example.com için hostname alanına api yazmanız yeterlidir; panel ana domain'i otomatik olarak ekler. Değer alanına ise subdomain'in işaret edeceği IP adresini girin. Nokta ile biten tam hostname (api.example.com.) da kabul edilir, ancak panel bunu genellikle kendi biçimine çevirir.

CNAME kaydı eklerken hostname alanı aynı şekilde çalışır; değer alanına ise hedef domain adını yazmanız gerekir. www.example.com için www hostname ve example.com. değer girdiğinizde www, apex domain'e yönlendirilir. Apex domain için CNAME kullanılamaz; bu DigitalOcean'a özgü bir kısıt değil, DNS protokolünün temel bir gerekliliğidir. CNAME ve A kaydı farkı burada seçimi belirler.

A kaydı mı, CNAME mi: subdomain için doğru seçim

A kaydı doğrudan IP adresine işaret eder. Subdomain'inizin arkasında sabit bir sunucu varsa ve o sunucunun IP'si nadiren değişiyorsa A kaydı yeterlidir. CNAME ise bir hostname'i başka bir hostname'e yönlendirir ve IP değişikliklerini soyutlar.

CNAME'in avantajı şudur: CDN veya load balancer kullanıyorsanız bu hizmetlerin IP'leri değişebilir; CNAME ile subdomain'inizi CDN'in verdiği hostname'e yönlendirirseniz IP değişikliklerini takip etmek zorunda kalmazsınız. Her CNAME çözümlemesi ek bir DNS sorgusu demektir; zincirleme CNAME kullanımı gecikmeyi artırabilir ve bazı çözümleyicilerin sınır kurallarına takılabilir.

CNAME kaydı olan bir hostname için başka kayıt türü ekleyemezsiniz. api.example.com için CNAME oluşturduktan sonra aynı hostname için TXT kaydı eklemek istediğinizde hata alırsınız. Mail doğrulaması veya SSL doğrulaması için TXT kaydına ihtiyaç duyacaksanız CNAME yerine A kaydı kullanmayı tercih edin ya da doğrulama kaydını farklı bir hostname altında oluşturun.

CNAME ve apex domain kısıtlamasının farklı DNS sağlayıcılarında nasıl ele alındığını merak ediyorsanız, CNAME flattening konusu bu meseleyi derinlemesine açıklar.

Wildcard subdomain yapılandırması ve sınırları

Wildcard subdomain, *.example.com biçiminde tanımlanır ve tanımsız tüm subdomain'leri tek bir hedefe yönlendirir. DigitalOcean panelinde hostname alanına * yazarak wildcard A veya CNAME kaydı oluşturabilirsiniz.

Wildcard kullanmanın mantıklı olduğu durum: çok kiracılı (multi-tenant) bir uygulama çalıştırıyorsanız ve her müşteri için ayrı subdomain kaydı oluşturmak istemiyorsanız, tek bir wildcard kaydı tüm tanımsız subdomain'leri uygulamanıza yönlendirir; uygulama subdomain adını okuyarak hangi müşteriye hizmet vereceğini anlar.

Wildcard kullanmanın sorunlu olduğu durum: yanlış yazılan subdomain'ler de wildcard kapsamına girer ve bu durum güvenlik açısından risk taşıyabilir. Ayrıca wildcard, standart bir SSL sertifikasıyla çalışmaz; wildcard sertifikası ayrıca temin edilmesi gerekir. Wildcard kaydı, daha spesifik kayıtlarla çakışmaz: api.example.com için ayrı bir A kaydınız varsa DNS çözümlemesi bu spesifik kaydı kullanır, wildcard yalnızca eşleşen başka kayıt yoksa devreye girer.

TTL değeri ve propagasyon yönetimi

TTL (Time to Live), DNS çözümleyicilerin bir kaydı önbellekte ne kadar süre tutacağını belirler. DigitalOcean paneli varsayılan olarak 3600 saniye (1 saat) TTL kullanır. Bir subdomain kaydını değiştirdiğinizde, değişikliğin tüm önbelleklere yayılması bu süre kadar zaman alabilir.

Değişiklik zamanlaması kritiktir. Subdomain yapılandırması değiştirmeyi planlıyorsanız, değişiklikten 24-48 saat önce TTL'yi düşürün. 300 saniye gibi kısa bir TTL, değişiklik sonrası propagasyonun çok daha hızlı tamamlanmasını sağlar; sonra TTL'yi tekrar yükseltmeyi unutmayın, çünkü kalıcı düşük TTL DNS sunucularına ekstra yük bindirir ve çözümleme gecikmelerini artırabilir.

Bir subdomain'i yeni bir IP'ye taşırken eski kaydın önbellekte ne kadar kaldığını hesaba katın. TTL'yi düşürmeden değişiklik yaparsanız bazı ziyaretçiler saatlerce eski hedefe yönlenmeye devam edebilir. Kritik geçişler için ayrıntılı planlama şarttır; web sitesi taşırken DNS geçiş planı yazısında bu süreci adım adım bulabilirsiniz.

Birden fazla subdomain yönetimi

Tek bir domain altında onlarca subdomain çalıştırmak DigitalOcean panelinde mümkündür; ancak arayüz, büyük sayılarda kayıt yönetimini zorlaştırır. Panelde kayıtları listeleyen ekran sonsuz kaydırmaya dayanır ve arama özelliği sunmaz.

Alternatif olarak DigitalOcean'ın DNS API'sini kullanabilirsiniz. GET /v2/domains/{domain_name}/records endpoint'i tüm kayıtları döndürür; POST ile yeni kayıt ekleyebilir, DELETE ile silebilirsiniz. Çok sayıda subdomain yönetiyorsanız bu kayıtları infrastructure as code olarak tutmak hatayı azaltır ve değişiklikleri versiyon kontrolüne almanızı sağlar.

Subdomain temizliği düzenli yapılması gereken bir iştir. Kullanılmayan subdomain'ler gereksiz saldırı yüzeyi oluşturur; artık size ait olmayan sunuculara işaret eden dangling DNS kayıtları subdomain takeover saldırılarına zemin hazırlayabilir. Bir kaydın işaret ettiği kaynağın hâlâ aktif olup olmadığını periyodik olarak doğrulamak, bu riski azaltmanın temel yoludur. Domain portföy yönetimi yazısında DNS tutarlılığını korumanın pratik yollarını bulabilirsiniz.

MX ve TXT kayıtlarıyla subdomain entegrasyonu

Subdomain yönetimi yalnızca A ve CNAME kayıtlarıyla sınırlı değildir. mail.example.com gibi bir subdomain'e MX kaydı eklemek, e-posta yönlendirmesini bu subdomain üzerinden yapılandırmanıza olanak tanır. DigitalOcean panelinde MX kaydı eklerken öncelik (priority) değeri de girilmesi gerekir; düşük sayı yüksek önceliği ifade eder.

TXT kayıtları, subdomain doğrulaması için sıkça kullanılır. SPF, DKIM ve DMARC kayıtları genellikle @ veya _domainkey.example.com gibi spesifik hostname'lere eklenir. Mail altyapısı taşımalarında bu kayıtların sırası önem taşır; mail sunucusu taşırken DNS kesintisini önleme yazısında MX geçişinin kritik sıralamasını inceleyebilirsiniz.

CAA (Certification Authority Authorization) kaydı, hangi sertifika otoritesinin domain'iniz için SSL sertifikası verebileceğini belirler. Subdomain bazında farklı CA kısıtlamaları tanımlamak mümkündür; ancak bu kayıt tipi çoğu projede ihmal edilir. Güvenlik gereksinimleri yüksek ortamlarda CAA kaydı eklenmesi, yetkisiz sertifika çıkarılmasını önler.

Reverse proxy arkasında subdomain yapılandırması

Subdomain'leri doğrudan sunucu IP'sine değil, bir reverse proxy arkasına yönlendirmek yaygın bir tercih haline geldi. Bu yapıda DNS kaydı reverse proxy'nin IP'sine işaret eder; proxy ise gelen isteği hostname başlığına göre arka plan sunucusuna iletir. api.example.com ve app.example.com farklı servislere hizmet edebilir, ancak DNS katmanında aynı IP adresine işaret eder; yönlendirmeyi proxy üstlenir.

Origin sunucunun IP'sini DNS üzerinden gizlemek güvenlik açısından avantajlıdır. Proxy katmanı tek nokta haline geldiğinden, bu katmanın erişilebilirliği subdomain altyapısının tamamını etkiler. Reverse proxy kullanırken DNS planlaması yazısında bu mimarinin nameserver ve kayıt stratejisine nasıl yansıdığını bulabilirsiniz.

DigitalOcean DNS, Anycast mimarisine dayanan bir altyapı üzerinde çalışır. Aynı nameserver IP adresinin birden fazla coğrafi noktadan yayınlandığı bu yapıda DNS sorgusu, otomatik olarak en yakın düğüme yönlendirilir. Anycast DNS, özellikle küresel kullanıcı tabanına sahip subdomain yapılandırmalarında çözümleme gecikmesini düşürür; DigitalOcean'ın nameserver altyapısı bu avantajdan yararlanır.

Çok bölgeli trafik yönetimi veya otomatik failover gereksinimleri için DigitalOcean DNS tek başına yetmez. Harici bir traffic yönetim katmanı ya da gelişmiş bir DNS sağlayıcısına geçiş gerekir. Bu kararı erkenden vermek, ihtiyaç doğduğunda DNS geçişinin getirdiği propagasyon penceresinden daha az maliyetlidir.

DigitalOcean DNS paneli, tek bir ortamda subdomain yönetimini merkezileştirmenin pratik bir yoludur. A ve CNAME seçimini doğru yapmak, wildcard'ların kapsamını sınırlı tutmak, MX ve TXT kayıtlarını ilgili subdomain'lere bağlamak ve TTL'yi değişiklik öncesinde düşürmek, çoğu projenin ihtiyacını karşılar. Panel arayüzü büyük kayıt listelerinde zorlaştığından API kullanımı kaçınılmaz hale gelir; kayıtları versiyon kontrolünde tutmak ise hata oranını düşürür.

Subdomain yapılandırması tek seferlik bir işlem değildir. Yeni servisler eklendikçe, sunucular taşındıkça ve güvenlik gereksinimleri değiştikçe DNS kayıtları güncel tutulması gereken bir liste haline gelir. Kullanılmayan kayıtların düzenli temizlenmesi ve wildcard kapsam kontrolü, DNS altyapısının uzun vadede sağlıklı kalmasını sağlar.

İlgili Yazılar