Správa zón DNS pomocí PowerShellu
V tomto článku se dozvíte, jak spravovat zóny DNS pomocí Azure PowerShell. Zóny DNS můžete také spravovat pomocí azure CLI pro různé platformy nebo Azure Portal.
Tato příručka se zabývá konkrétně veřejnými zónami DNS. Informace o použití Azure PowerShell 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 PowerShell.
K hostování záznamů DNS pro konkrétní doménu se používá zóna DNS. 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 Azure DNS.
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. Jedná se o starší modul, který je k dispozici pouze pro Windows PowerShell 5.1, který už nepřijímá nové funkce.
Moduly Az
a AzureRM
nejsou kompatibilní, pokud jsou nainstalovány 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 PowerShell.
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 prostředků
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ů 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 Manager, project = demo a env = test:
New-AzDnsZone -Name contoso.com -ResourceGroupName MyDNSResourceGroup -Tag @{ project="demo"; env="test" }
Získání zóny DNS
Pokud chcete načíst zónu 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 Správa záznamů DNS). Slouží pouze k aktualizaci vlastností samotného prostředku zóny. Vlastnosti zapisovatelné zóny jsou v současné době omezené na značky Azure Resource Manager pro prostředek zóny.
Zónu DNS můžete aktualizovat jedním 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í existující značky zón 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
Při použití Set-AzDnsZone
s objektem $zone se kontroly značky používají k zajištění, aby se nepřepsaly souběžné změ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
Stejně jako u Set-AzDnsZone
objektu umožňuje určení zóny pomocí objektu $zone
kontroly značky, aby se zajistilo, že se neodstraní souběžné změny. -Overwrite
Pomocí přepínače tyto kontroly potlačíte.
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žší. Protože odstranění zóny DNS může potenciálně způsobit nežádoucí podmínky, Remove-AzDnsZone
rutina zobrazí výzvu 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 nezobrazí výzvu k potvrzení.
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 v zóně DNS.
Zjistěte, jak delegovat doménu na Azure DNS.
Projděte si referenční dokumentaci k Azure DNS PowerShellu.
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro