Správa zón DNS pomocí PowerShellu
V tomto článku se dozvíte, jak spravovat zóny DNS pomocí Azure PowerShellu. Zóny DNS můžete spravovat také pomocí azure CLI pro různé platformy nebo webu Azure Portal.
Tato příručka se konkrétně zabývá veřejnými zónami DNS. Informace o použití Azure PowerShellu ke správě privátních zón v Azure DNS najdete v tématu Začínáme s privátními zónami Azure DNS pomocí Azure PowerShellu.
Zóna DNS slouží k hostování záznamů DNS pro konkrétní doménu. Pokud chcete začít hostovat svou doménu v DNS Azure, musíte vytvořit zónu DNS pro daný název domény. Všechny záznamy DNS pro vaši doménu se pak vytvoří v této zóně DNS.
Například doména contoso.com může obsahovat několik záznamů DNS, třeba mail.contoso.com (pro poštovní server) a www.contoso.com (pro web).
Při vytváření zóny DNS v DNS Azure:
- Název zóny musí být v rámci skupiny prostředků jedinečný a zóna ještě nesmí existovat. Jinak se operace nezdaří.
- V jiné skupině prostředků nebo v rámci jiného předplatného Azure se dá znovu použít stejný název zóny.
- Pokud má několik zón stejný název, každé instanci se přiřadí jiná adresa názvového serveru. U registrátora názvu domény je možné nakonfigurovat pouze jednu sadu adres.
Poznámka:
Pro vytvoření zóny DNS s názvem domény v DNS Azure nemusíte tento název domény vlastnit. Doménu ale musíte vlastnit, pokud chcete nakonfigurovat názvové servery DNS Azure jako správné názvové servery pro daný název domény u registrátora názvu domény.
Další informace najdete v tématu Delegování domény do DNS Azure.
Nastavení Azure PowerShellu pro Azure DNS
Než začnete
Důležité
Použití této funkce Azure z PowerShellu AzureRM
vyžaduje nainstalovaný modul. Toto je starší modul dostupný jenom pro Windows PowerShell 5.1, který už nepřijímá nové funkce.
Moduly Az
nejsou AzureRM
kompatibilní při instalaci pro stejné verze PowerShellu.
Pokud potřebujete obě verze:
- Odinstalujte modul Az z relace PowerShellu 5.1.
- Nainstalujte modul AzureRM z relace PowerShellu 5.1.
- Stáhněte a nainstalujte PowerShell Core 6.x nebo novější.
- Nainstalujte modul Az v relaci PowerShellu Core.
Před zahájením konfigurace ověřte, zda máte následující.
- Předplatné Azure. Pokud ještě nemáte předplatné Azure, můžete si aktivovat výhody pro předplatitele MSDN nebo si zaregistrovat bezplatný účet.
- Je potřeba nainstalovat nejnovější verzi rutin PowerShellu pro Azure Resource Manager. Další informace najdete v tématu Instalace a konfigurace Azure PowerShellu.
Přihlášení k účtu Azure
Otevřete konzolu prostředí PowerShell a připojte se ke svému účtu. Další informace najdete v tématu Přihlášení pomocí Azure PowerShellu.
Connect-AzAccount
Výběr předplatného
Zkontrolujte předplatná pro příslušný účet.
Get-AzSubscription
Zvolte předplatné Azure, které chcete použít.
Select-AzSubscription -SubscriptionName "your_subscription_name"
Vytvoření skupiny zdrojů
Azure Resource Manager vyžaduje, aby všechny skupiny prostředků určily umístění. Toto umístění slouží jako výchozí umístění pro prostředky v příslušné skupině prostředků. Všechny prostředky DNS jsou ale globální, a ne místní, takže volba umístění skupiny prostředků nemá na Azure DNS žádný vliv.
Pokud používáte některou ze stávajících skupin prostředků, můžete tento krok přeskočit.
New-AzResourceGroup -Name MyDNSResourceGroup -location "West US"
Vytvoření zóny DNS
Zóna DNS se vytvoří pomocí rutiny New-AzDnsZone
.
Následující příklad vytvoří zónu DNS s názvem contoso.com ve skupině prostředků s názvem MyDNSResourceGroup:
New-AzDnsZone -Name contoso.com -ResourceGroupName MyDNSResourceGroup
Následující příklad ukazuje, jak vytvořit zónu DNS se dvěma značkami Azure Resource Manageru, projekt = ukázka a env = test:
New-AzDnsZone -Name contoso.com -ResourceGroupName MyDNSResourceGroup -Tag @{ project="demo"; env="test" }
Získání zóny DNS
K načtení zóny DNS použijte rutinu Get-AzDnsZone
. Tato operace vrátí objekt zóny DNS odpovídající existující zóně v Azure DNS. Objekt obsahuje data o zóně (například počet sad záznamů), ale neobsahuje samotné sady záznamů (viz 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
Výpis zón DNS
Vynecháním názvu zóny v rutině Get-AzDnsZone
můžete zobrazit výčet všech zón ve skupině prostředků. Tato operace vrátí pole objektů zón.
$zoneList = Get-AzDnsZone -ResourceGroupName MyDNSResourceGroup
$zoneList
Vynecháním názvu zóny i názvu skupiny prostředků v rutině Get-AzDnsZone
můžete zobrazit výčet všech zón v předplatném Azure.
$zoneList = Get-AzDnsZone
$zoneList
Aktualizace zóny DNS
Změny prostředku zóny DNS je možné provádět pomocí rutiny Set-AzDnsZone
. Tato rutina neaktualizuje žádné sady záznamů DNS v rámci zóny (viz Postup správy záznamů DNS). Slouží pouze k aktualizaci vlastností samotného prostředku zóny. Zapisovatelné vlastnosti zóny jsou v současné době omezené na značky Azure Resource Manageru pro prostředek zóny.
K aktualizaci zóny DNS použijte jeden z následujících dvou způsobů:
Určení zóny pomocí názvu zóny a skupiny prostředků
Tento přístup nahradí stávající značky zóny zadanými hodnotami.
Set-AzDnsZone -Name contoso.com -ResourceGroupName MyDNSResourceGroup -Tag @{ project="demo"; env="test" }
Určení zóny pomocí objektu $zone
Tento přístup načte existující objekt zóny, upraví značky a pak potvrdí změny. Tímto způsobem je možné zachovat stávající značky.
# 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
Pokud používáte Set-AzDnsZone
s objektem $zone, používají se kontroly značky Etag k zajištění, že souběžné změny nejsou přepsány. K potlačení těchto kontrol můžete použít volitelný -Overwrite
přepínač.
Odstranění zóny DNS
Zóny DNS je možné odstranit pomocí rutiny Remove-AzDnsZone
.
Poznámka:
Odstraněním zóny DNS dojde také k odstranění všech záznamů DNS v rámci dané zóny. Tato operace se nedá vrátit zpět. Pokud se zóna DNS používá, služby využívající tuto zónu při jejím odstranění selžou.
Informace o ochraně před náhodným odstraněním zóny najdete v tématu Ochrana záznamů a zón DNS.
Zónu DNS můžete odstranit některým z následujících dvou způsobů:
Určení zóny pomocí názvu zóny a názvu skupiny prostředků
Remove-AzDnsZone -Name contoso.com -ResourceGroupName MyDNSResourceGroup
Určení zóny pomocí objektu $zone
Zónu k odstranění můžete určit pomocí objektu $zone
vráceného rutinou Get-AzDnsZone
.
$zone = Get-AzDnsZone -Name contoso.com -ResourceGroupName MyDNSResourceGroup
Remove-AzDnsZone -Zone $zone
Místo předání jako parametru je možné objekt zóny předat také rourou:
Get-AzDnsZone -Name contoso.com -ResourceGroupName MyDNSResourceGroup | Remove-AzDnsZone
Set-AzDnsZone
Stejně jako v případě , určení zóny pomocí $zone
objektu umožňuje kontroly značky Etag, aby se zajistilo, že se neodstraní souběžné změny.
-Overwrite
K potlačení těchto kontrol použijte přepínač.
Výzvy k potvrzení
Všechny rutiny New-AzDnsZone
, Set-AzDnsZone
a Remove-AzDnsZone
podporují výzvy k potvrzení.
Rutiny New-AzDnsZone
a Set-AzDnsZone
zobrazí výzvu k potvrzení v případě, že má proměnná předvolby PowerShellu $ConfirmPreference
hodnotu Medium
nebo nižší. Vzhledem k tomu, že odstranění zóny DNS může potenciálně způsobit nežádoucí podmínky, Remove-AzDnsZone
rutina vyzve k potvrzení, jestli $ConfirmPreference
má proměnná PowerShellu jinou hodnotu než None
.
Vzhledem k tomu, že výchozí hodnota proměnné $ConfirmPreference
je High
, ve výchozím nastavení zobrazí výzvu k potvrzení pouze rutina Remove-AzDnsZone
.
Aktuální nastavení $ConfirmPreference
můžete přepsat pomocí parametru -Confirm
. Pokud zadáte -Confirm
nebo -Confirm:$True
, rutina před spuštěním zobrazí výzvu k potvrzení. Pokud zadáte -Confirm:$False
, rutina vás k potvrzení nezobrazí.
Další informace o -Confirm
a $ConfirmPreference
najdete v tématu Informace o proměnných předvoleb.
Další kroky
Zjistěte, jak spravovat sady záznamů a záznamy ve vaší zóně DNS.
Zjistěte, jak delegovat doménu do Azure DNS.
Projděte si referenční dokumentaci k Azure DNS PowerShellu.