PowerShell kullanarak DNS Bölgelerini yönetme
Bu makalede, Azure PowerShell kullanarak DNS bölgelerinizi yönetme adımları gösterilmektedir. Ayrıca, platformlar arası Azure CLI'yi veya Azure portalını kullanarak DNS bölgelerinizi yönetebilirsiniz.
Bu kılavuz özellikle Genel DNS bölgeleriyle ilgilidir. Azure DNS'de Özel Bölgeleri yönetmek için Azure PowerShell kullanma hakkında bilgi için bkz . Azure PowerShell kullanarak Azure DNS Özel Bölgelerini kullanmaya başlama.
DNS bölgesi, belirli bir etki alanına yönelik DNS kayıtlarını barındırmak için kullanılır. Etki alanınızı Azure DNS'de barındırmaya başlamak için bir DNS bölgesi oluşturmanız gerekir. Ardından bu DNS bölgesinde etki alanınız için tüm DNS kayıtları oluşturulur.
Örneğin "contoso.com" etki alanı, "mail.contoso.com" (bir posta sunucusu için) ve "www.contoso.com" (bir web sitesi için) gibi birden fazla DNS kaydını içerebilir.
Azure DNS'de bir DNS bölgesi oluştururken:
- Bölge adı kaynak grubunda benzersiz olmalıdır ve bölge daha önceden var olmamalıdır. Aksi takdirde işlem başarısız olur.
- Aynı bölge adı farklı bir kaynak grubunda veya farklı bir Azure aboneliğinde yeniden kullanılabilir.
- Birden fazla bölgenin aynı adı paylaştığı durumda her örneğe farklı bir ad sunucusu adresi atanır. Etki alanı kayıt şirketinde yalnızca bir adres kümesi yapılandırılabilir.
Not
Azure DNS'de aynı etki alanıyla DNS bölgesi oluşturmak için bir etki alanına sahip değilsiniz. Ancak Azure DNS ad sunucularını etki alanı kayıt şirketinde etki alanı adı için doğru ad sunucuları olarak yapılandırmak üzere etki alanının sahibi olmanız gerekmez.
Daha fazla bilgi için bkz. Bir etki alanını Azure DNS'ye devretme.
Azure DNS için Azure PowerShell ayarlama
Başlamadan önce
Önemli
PowerShell'in bu Azure özelliğini kullanmak için modülün AzureRM
yüklü olması gerekir. Bu, yalnızca Windows PowerShell 5.1'de artık yeni özellikler almayan eski bir modüldür.
Az
Ve AzureRM
modülleri, PowerShell'in aynı sürümleri için yüklendiğinde uyumlu değildir.
Her iki sürüme de ihtiyacınız varsa:
- PowerShell 5.1 oturumundan Az modülünü kaldırın.
- PowerShell 5.1 oturumundan AzureRM modülünü yükleyin.
- PowerShell Core 6.x veya üzerini indirin ve yükleyin.
- Az modülünü bir PowerShell Core oturumuna yükleyin.
Yapılandırmanıza başlamadan önce aşağıdaki öğelerin bulunduğunu doğrulayın.
- Azure aboneliği. Henüz Azure aboneliğiniz yoksa MSDN abonelik avantajlarınızı etkinleştirebilir veya ücretsiz bir hesap için kaydolabilirsiniz.
- Azure Resource Manager PowerShell cmdlet’lerinin en yeni sürümünü yüklemeniz gerekir. Daha fazla bilgi için bkz. Azure PowerShell’i yükleme ve yapılandırma.
Azure hesabınızda oturum açma
PowerShell konsolunuzu açın ve hesabınıza bağlanın. Daha fazla bilgi için bkz . Azure PowerShell ile oturum açma.
Connect-AzAccount
Aboneliği seçme
Hesapla ilişkili abonelikleri kontrol edin.
Get-AzSubscription
Hangi Azure aboneliğinizin kullanılacağını seçin.
Select-AzSubscription -SubscriptionName "your_subscription_name"
Kaynak grubu oluşturma
Azure Resource Manager, tüm kaynak gruplarının bir konum belirtmesini gerektirir. Bu konum, kaynak grubundaki kaynaklar için varsayılan konum olarak kullanılır. Ancak tüm DNS kaynakları bölgesel değil de global olduğundan, kaynak grubu konumu seçiminin Azure DNS üzerinde hiçbir etkisi yoktur.
Var olan bir kaynak grubunu kullanıyorsanız bu adımı atlayabilirsiniz.
New-AzResourceGroup -Name MyDNSResourceGroup -location "West US"
DNS bölgesi oluşturma
DNS bölgesi, New-AzDnsZone
cmdlet’i kullanılarak oluşturulur.
Aşağıdaki örnek, MyDNSResourceGroup adlı kaynak grubunda contoso.com adlı bir DNS bölgesi oluşturur:
New-AzDnsZone -Name contoso.com -ResourceGroupName MyDNSResourceGroup
Aşağıdaki örnekte, project = demo ve env = test olmak üzere iki Azure Resource Manager etiketiyle bir DNS bölgesi oluşturma adımları gösterilmektedir:
New-AzDnsZone -Name contoso.com -ResourceGroupName MyDNSResourceGroup -Tag @{ project="demo"; env="test" }
DNS bölgesi alma
DNS bölgesini almak için cmdlet'ini Get-AzDnsZone
kullanın. Bu işlem, Azure DNS'de var olan bir bölgeye karşılık gelen bir DNS bölgesi nesnesi döndürür. nesnesi bölgeyle ilgili verileri (kayıt kümelerinin sayısı gibi) içerir, ancak kayıt kümelerini içermez (bkz Get-AzDnsRecordSet
. ).
Get-AzDnsZone -Name contoso.com –ResourceGroupName MyDNSResourceGroup
Name : contoso.com
ResourceGroupName : myresourcegroup
Etag : 00000003-0000-0000-8ec2-f4879750d201
Tags : {project, env}
NameServers : {ns1-01.azure-dns.com., ns2-01.azure-dns.net., ns3-01.azure-dns.org.,
ns4-01.azure-dns.info.}
NumberOfRecordSets : 2
MaxNumberOfRecordSets : 5000
DNS bölgelerini listeleme
Get-AzDnsZone
içinden bölge adını atarak bir kaynak grubundaki tüm bölgeleri numaralandırabilirsiniz. Bu işlem, bölge nesnelerinin bir dizisini döndürür.
$zoneList = Get-AzDnsZone -ResourceGroupName MyDNSResourceGroup
$zoneList
Get-AzDnsZone
içinden hem bölge adını hem de kaynak grubunu atarak, Azure aboneliğindeki tüm bölgeleri numaralandırabilirsiniz.
$zoneList = Get-AzDnsZone
$zoneList
DNS bölgesini güncelleştirme
Set-AzDnsZone
kullanılarak bir DNS bölgesi kaynağı üzerinde değişiklikler yapılabilir. Bu cmdlet, bölge içindeki DNS kayıt kümelerinden hiçbirini güncelleştirmez (bkz . DNS kayıtlarını yönetme). Yalnızca bölge kaynağının özelliklerini güncelleştirmek için kullanılır. Yazılabilir bölge özellikleri şu anda bölge kaynağı için Azure Resource Manager 'etiketleri' ile sınırlıdır.
DNS bölgesini güncelleştirmek için aşağıdaki iki yoldan birini kullanın:
Bölge adını ve kaynak grubunu kullanarak bölgeyi belirtin
Bu yaklaşım, mevcut bölge etiketlerini belirtilen değerlerle değiştirir.
Set-AzDnsZone -Name contoso.com -ResourceGroupName MyDNSResourceGroup -Tag @{ project="demo"; env="test" }
$zone nesnesini kullanarak bölgeyi belirtin
Bu yaklaşım mevcut bölge nesnesini alır, etiketleri değiştirir ve sonra değişiklikleri işler. Bu şekilde mevcut etiketler korunabilir.
# Get the zone object
$zone = Get-AzDnsZone -Name contoso.com -ResourceGroupName MyDNSResourceGroup
# Remove an existing tag
$zone.Tags.Remove("project")
# Add a new tag
$zone.Tags.Add("status","approved")
# Commit changes
Set-AzDnsZone -Zone $zone
$zone nesnesiyle kullandığınızda Set-AzDnsZone
, eş zamanlı değişikliklerin üzerine yazılmadığından emin olmak için Etag denetimleri kullanılır. Bu denetimleri engellemek için isteğe bağlı -Overwrite
anahtarı kullanabilirsiniz.
DNS Bölgesini silme
DNS bölgeleri cmdlet'i Remove-AzDnsZone
kullanılarak silinebilir.
Not
Bir DNS bölgesi silindiğinde, bölge içindeki tüm DNS kayıtları da silinir. Bu işlem geri alınamaz. DNS bölgesi kullanımdaysa, bölge silindiğinde bölgeyi kullanan hizmetler başarısız olur.
Bölgenin yanlışlıkla silinmesine karşı koruma oluşturmak için bkz. DNS bölgelerini ve kayıtlarını koruma.
DNS bölgesini silmek için aşağıdaki iki yöntemden birini uygulayın:
Bölge adını ve kaynak grubu adını kullanarak bölgeyi belirtin
Remove-AzDnsZone -Name contoso.com -ResourceGroupName MyDNSResourceGroup
$zone nesnesini kullanarak bölgeyi belirtin
Get-AzDnsZone
tarafından döndürülen bir $zone
nesnesini kullanarak silinecek bölgeyi belirtebilirsiniz.
$zone = Get-AzDnsZone -Name contoso.com -ResourceGroupName MyDNSResourceGroup
Remove-AzDnsZone -Zone $zone
Bölge nesnesi, parametre olarak geçirilmek yerine yöneltilebilir:
Get-AzDnsZone -Name contoso.com -ResourceGroupName MyDNSResourceGroup | Remove-AzDnsZone
gibi Set-AzDnsZone
, bir $zone
nesne kullanarak bölgeyi belirtmek, eş zamanlı değişikliklerin silinmediğinden emin olmak için Etag denetimlerini etkinleştirir.
-Overwrite
Bu denetimleri engellemek için anahtarını kullanın.
Onay istemleri
New-AzDnsZone
, Set-AzDnsZone
ve Remove-AzDnsZone
cmdlet’lerinin tamamı onay istemlerini destekler.
$ConfirmPreference
PowerShell tercih değişkeni, Medium
veya daha küçük bir değere sahipse hem New-AzDnsZone
hem de Set-AzDnsZone
onay istemi görüntüler. DNS bölgesini silmek istenmeyen koşullara neden olabileceğinden, PowerShell değişkeninin Remove-AzDnsZone
$ConfirmPreference
dışında None
bir değeri varsa cmdlet onay ister.
$ConfirmPreference
için varsayılan değer High
olduğundan yalnızca Remove-AzDnsZone
varsayılan olarak onay istemi görüntüler.
-Confirm
parametresini kullanarak geçerli $ConfirmPreference
ayarını geçersiz kılabilirsiniz.
-Confirm
veya -Confirm:$True
belirtirseniz cmdlet, çalıştırılmadan önce size onay istemi görüntüler. belirtirseniz -Confirm:$False
, cmdlet sizden onay istemez.
-Confirm
ve $ConfirmPreference
hakkında daha fazla bilgi için bkz. Tercih Değişkenleri Hakkında.
Sonraki adımlar
DNS bölgenizdeki kayıt kümelerini ve kayıtları yönetmeyi öğrenin.
Etki alanınızı Azure DNS'ye devretmeyi öğrenin.
Azure DNS PowerShell başvuru belgelerini gözden geçirin.