Microsoft Azure DNS
Azure DNS, Microsoft Azure altyapısını kullanarak etki alanları için isim çözümlemesini sağlayan barındırma hizmetidir.
Bildiğiniz üzere internet üzerinde ki herhangi bir web sitesi veya hizmetin arakasında bir IP adresi vardır. Örneğin www.bulutnet.net adresi “50.63.202.7” IP adresini kullanır. Domain Name System (DNS), web sitesi veya hizmet adlarını IP adreslerine çevirmek için kullanılır. Azure DNS servisini kullanarak etki alanlarınıza ait DNS kayıtlarını yönetme işlemlerini gerçekleştirebilirsiniz.
Azure DNS servisi Azure Resource Manager (ARM) üzerinde çalışmaktadır. ARM içerisinde bulunan rol tabanlı erişim kontrolü, denetim günlükleri ve kaynak kitleme özelliklerinden yararlanır. Azure portal üzerinde etki alanlarınızı isterseniz Powershell komut sistemi ile isterseniz cross-platform Azure CLI üzerinden yönetebilirsiniz. Ayrıca otomatik DNS yönetimi gerektiren REST API ve SDK hizmetleri ile entegre edebilirsiniz.
Etki alanı “bulutnet.net”, “mail.bulutnet.net”, “www.bulutnet.net” olarak DNS kayıtları içerebilir. Alan adınızın hosting işlemini başlatmak için öncelikle bir DNS bölgesi oluşturmak gerekir. Bu işlemleri Microsoft Azure Powershell kullanarak gerçekleştireceğiz. Azure DNS servisi ARM üzerinde çalıştığı için Azure Powershell 1.0.0 sürümünü kullanmanız gerekir.
İlk olarak Azure hesabımıza Powershell ile bağlanma işlemlerini gerçekleştiriyoruz.
PS C:\> Login-AzureRmAccount
Eğer giriş yapmış olduğumuz mail hesabında bir den fazla Azure hesabı tanımlı ise hangi Azure hesabında çalışacağımızı belirtiyoruz.
PS C:\> Select-AzureRmSubscription -Subscriptionid “GUID of subscription”
Resim 01
Yeni bir ARM oluşturarak işlemlere devam ediyoruz.
PS C:\> New-AzureRmResourceGroup -Name MyDNSResourceGroup -location “West Europe”
Azure DNS servisi Microsoft Network kaynak sağlayıcı tarafından yönetilmektedir. Bu sebeple Azure DNS’i kullanmadan önce kaynak sağlayıcısına kayıtlı olması gerekir.
PS c:\> Register-AzureRmResourceProvider -ProviderNamespace Microsoft.Network
Resim 02
Etags and Tags
Etags
Azure DNS üzerinde eş zamanlı değişiklikleri işlemek için Etags kullanılır. Her DNS kaynağının kendisiyle ilişkilendirilmiş bir ETAG’ı vardır. DNS zone ve record set’lerindeki eşzamanlı değişiklikleri engellemek için Etags kullanılır. REST API seviyesinde http tagları kullanılarak belirtilen davranışlar aşağıdadır.
Başlık |
Davranış |
None |
PUT always succeeds (no Etag checks) |
If-match |
PUT only succeeds if resource exists and Etag matches |
If-match * |
PUT only succeeds if resources exists |
If-none-match |
* PUT only succeeds if resource does not exist |
Tags
Tag’lar, Etag’lardan farklıdır. Tags içerisinde name-value pairs listesi vardır ve fatura ya da gruplama amacı ile ARM tarafından kullanılır.
New-AzureRmDnsZone komutu ile yeni bir DNS zone oluşturma işlemini gerçekleştiriyoruz.
PS C:\> New-AzureRmDnsZone -Name bulutnet.net -ResourceGroupName MyDNSResourceGroup
Azure DNS içersin de DNS zone tanımlama işlemini gerçekleştirdik ve Start of Authority (SOA) kayıtları oluşturuldu. Oluşturulan kayıtları görmek için Get-AzureRmDnsRecordSet komutunu kullanıyoru.
Get-AzureRmDnsRecordSet -ZoneName bulutnet.net -ResourceGroupName MyDNSResourceGroup
Resim 03
DNS zone’u oluşturulan etki alanı için isim çözümleme işlemlerini nslookup veya Powershell üzerinde Resolve-DnsName komutunu çalıştırarak gerçekleştirebilirsiniz.
PS C:\> nslookup
Default Server: dns.yandex.ru
Address: 77.88.8.8
> set type=SOA
> server ns1-01.azure-dns.com
Default Server: ns1-01.azure-dns.com
Address: 40.90.4.1
> bulutnet.net
Server: ns1-01.azure-dns.com
Address: 40.90.4.1
bulutnet.net
primary name server = ns1-01.azure-dns.com
responsible mail addr = msnhst.microsoft.com
serial = 2016031700
refresh = 3600 (1 hour)
retry = 300 (5 mins)
expire = 2419200 (28 days)
default TTL = 300 (5 mins)
ns1-01.azure-dns.com internet address = 40.90.4.1
Resim 04
DNS zone oluşturma işlemini tamamladık. Artık DNS zone içerisinde DNS kayıtlarımızı oluşturabiliriz.
Kayıtlar içerdikleri verilere göre çeşitlilik gösterir. En yaygın kayıt türlerden bir tanesi IPv4 adresi işle eşleşen “A” kaydıdır ve posta sunucusu için kullandığımız “MX” kaydı vardır. Azure DNS “A”, “AAAA”, “CNAME”, “MX”, “NS”, “SOA”, SRV” ve “TXT” kayıt türlerini desteklemektedir.
Şimdi Azure DNS üzerinde “A” kaydı oluşturma işlemlerini gerçekleştireceğiz.
$rs değişkeni içerisine “New-AzureRmDnsRecordSet” komutunu kullanarak oluşturacağımız DNS kaydının adını, kayıt türünü, hangi alan adı için oluşturulacağını, hangi kaynak grup içerisinde olduğunu ve TTL süresini belirliyoruz.
PS C:\> $rs = New-AzureRmDnsRecordSet -Name “www” -RecordType “A” -ZoneName “bulutnet.net” -ResourceGroupName “MyDNSResourceGroup” -Ttl 60
DNS zone içerisinde direk olarak root domain için tanımlayacağımız kayıtlar için “@” işaretini kullanmamız gerekir.
İkinci adımda $rs değişkeni içerisinde belirtmiş olduğumuz DNS kaydı için IPv4 atama işlemini gerçekleştiriyoruz.
PS C:\> Add-AzureRmDnsRecordConfig -RecordSet $rs -Ipv4Address 188.121.43.9
Oluşturmuş olduğumuz DNS kaydını DNS zone içerisine kaydetmek için “Set-AzureRmDnsRecordSet” komutunu çalıştırıyoruz.
PS C:\> Set-AzureRmDnsRecordSet -RecordSet $rs
Resim 05
DNS zone içersinde oluşturduğumuz DNS kaydını görmek için “Get-AzureRmDnsRecordSet” komutunu çalıştırıyoruz. Veya nslookup komutu ile sorgulama işlemini gerçekleştirebilirsiniz.
PS C:\> Get-AzureRmDnsRecordSet –Name www –RecordType A -ZoneName bulutnet.net -ResourceGroupName MyDNSResourceGroup
PS C:\> nslookup www.bulutnet.net ns1-01.azure-dns.com
Server: UnKnown
Address: 40.90.4.1
Name: www.bulutnet.net
Address: 188.121.43.9
Resim 06
Azure DNS zone içerisine alan adımıza ait DNS kayıtlarını girdikten sonra alan adını satın aldığımız panel içerisinde alan adına ait Name Server (NS) kayıtlarını aşağıdaki gibi güncelliyoruz.
· ns1-01.azure-dns.com
· ns2-01.azure-dns.net
· ns3-01.azure-dns.org
· ns4-01.azure-dns.info
NS kayıtlarını güncelleme işlemi tamamlandıktan sonra artık www.bulutnet.net adresi için isim çözümleme işlemini Azure DNS servisi gerçekleştiriyor olacak.
PS C:\> nslookup
Default Server: dns.yandex.ru
Address: 77.88.8.8
> set type=NS
> bulutnet.net
Server: dns.yandex.ru
Address: 77.88.8.8
Non-authoritative answer:
bulutnet.net nameserver = ns2-01.azure-dns.net
bulutnet.net nameserver = ns3-01.azure-dns.org
bulutnet.net nameserver = ns4-01.azure-dns.info
bulutnet.net nameserver = ns1-01.azure-dns.com
Resim 07
Bu makalemizde Azure DNS servisi nedir, DNS zone ve DNS kayıtlarını Azure DNS servisi üzerinde oluşturmayı gerçekleştirdik. Umarım faydalı bir makale olmuştur. Bir sonraki makalemizde görüşmek dileğiyle.