DNS-zónák kezelése a PowerShell használatával
Ez a cikk bemutatja, hogyan kezelheti a DNS-zónákat az Azure PowerShell használatával. A DNS-zónákat a platformfüggetlen Azure CLI-vel vagy az Azure Portallal is kezelheti.
Ez az útmutató kifejezetten a nyilvános DNS-zónákkal foglalkozik. Az Azure PowerShell privát zónák Azure DNS-ben való kezelésével kapcsolatos információkért tekintse meg az Azure DNS Privát zónák Azure PowerShell-lel való használatának első lépéseit.
A DNS-zóna egy adott tartomány DNS-rekordjait tárolja. A tartománya Azure DNS-ben való üzemeltetésének megkezdéséhez létre kell hoznia egy DNS-zónát az adott tartománynévhez. Ezután a tartománya összes DNS-rekordja ebben a DNS-zónában jön létre.
A „contoso.com” tartomány például számos DNS-rekordot tartalmazhat, például „mail.contoso.com” (levelezési kiszolgálóhoz) és „www.contoso.com” (webhelyhez).
DNS-zóna Azure DNS-ben való létrehozásakor:
- A zóna nevének egyedinek kell lennie az erőforráscsoporton belül, és nem egyezhet egy meglévő névvel. Ellenkező esetben a művelet sikertelen lesz.
- Az egyes zónanevek újra felhasználhatók egy másik erőforráscsoportban vagy egy másik Azure-előfizetésben.
- Abban az esetben, ha több zóna rendelkezik ugyanazzal a névvel, minden példány különböző névkiszolgálócímet kap. Csak egy címkészlet konfigurálható a tartományregisztrálóhoz.
Feljegyzés
Nem kell ahhoz tartománynévvel rendelkeznie, hogy azzal a tartománynévvel létrehozzon egy DNS-zónát az Azure DNS-ben. Azonban ahhoz, hogy az Azure DNS névkiszolgálókat a tartománynév helyes névkiszolgálójaként konfigurálhassa a tartományregisztrálóhoz, birtokolnia kell a tartományt.
További információ: Delegate a domain to Azure DNS (Tartomány delegálása az Azure DNS-be).
Az Azure PowerShell beállítása az Azure DNS-hez
Mielőtt elkezdené
Fontos
A PowerShellből származó Azure-funkció használatához telepíteni kell a modult AzureRM
. Ez egy régebbi modul, amely csak a Windows PowerShell 5.1-hez érhető el, és már nem kap új funkciókat.
A Az
modulok és AzureRM
a modulok nem kompatibilisek, ha a PowerShell ugyanazon verzióira vannak telepítve.
Ha mindkét verzióra szüksége van:
- Távolítsa el az Az modult egy PowerShell 5.1-munkamenetből.
- Telepítse az AzureRM modult egy PowerShell 5.1-munkamenetből.
- Töltse le és telepítse a PowerShell Core 6.x vagy újabb verzióját.
- Telepítse az Az modult egy PowerShell Core-munkamenetben.
A konfigurálás megkezdése előtt győződjön meg arról, hogy rendelkezik a következőkkel.
- Azure-előfizetés. Ha még nincs Azure-előfizetése, aktiválhatja MSDN-előfizetői előnyeit, vagy regisztrálhat egy ingyenes fiókot.
- Az Azure Resource Manager PowerShell-parancsmagjainak legújabb verzióit kell telepítenie. További információt az Azure PowerShell telepítésével és konfigurálásával foglalkozó témakörben talál.
Jelentkezzen be az Azure-fiókjába
Nyissa meg a PowerShell konzolt, és csatlakozzon a fiókjához. További információ: Bejelentkezés az Azure PowerShell-lel.
Connect-AzAccount
Válassza ki az előfizetést
Keresse meg a fiókot az előfizetésekben.
Get-AzSubscription
Válassza ki, hogy melyek Azure-előfizetését használja.
Select-AzSubscription -SubscriptionName "your_subscription_name"
Erőforráscsoport létrehozása
Az Azure Resource Manager megköveteli, hogy minden erőforráscsoport adjon meg egy helyet. Ez a hely lesz az erőforráscsoport erőforrásainak alapértelmezett helye. Mivel azonban minden DNS-erőforrás globális, nem pedig regionális, az erőforráscsoport kiválasztott helye nincs hatással az Azure DNS szolgáltatásra.
Ezt a lépést kihagyhatja, ha egy meglévő erőforráscsoportot használ.
New-AzResourceGroup -Name MyDNSResourceGroup -location "West US"
DNS-zóna létrehozása
A DNS-zóna az New-AzDnsZone
parancsmag használatával hozható létre.
Az alábbi példa létrehoz egy contoso.com nevű DNS-zónát a MyDNSResourceGroup nevű erőforráscsoportban:
New-AzDnsZone -Name contoso.com -ResourceGroupName MyDNSResourceGroup
Az alábbi példa bemutatja, hogyan hozhat létre DNS-zónát két Azure Resource Manager-címkével, a project = demo és az env = teszttel:
New-AzDnsZone -Name contoso.com -ResourceGroupName MyDNSResourceGroup -Tag @{ project="demo"; env="test" }
DNS-zóna lekérése
DNS-zóna lekéréséhez használja a Get-AzDnsZone
parancsmagot. Ez a művelet egy DNS-zónaobjektumot ad vissza, amely megfelel az Azure DNS egy meglévő zónájának. Az objektum a zónára vonatkozó adatokat (például a rekordhalmazok számát) tartalmazza, de nem tartalmazza a rekordhalmazokat (lásd 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-zónák listázása
Ha kihagyja a zóna nevét a Get-AzDnsZone
parancsból, felsorolhatja az egy erőforráscsoportba tartozó összes zónát. Ez a művelet zónaobjektumok tömbjét adja vissza.
$zoneList = Get-AzDnsZone -ResourceGroupName MyDNSResourceGroup
$zoneList
Ha a zóna és az erőforráscsoport nevét is kihagyja a Get-AzDnsZone
parancsból, felsorolhatja az Azure-előfizetéshez tartozó összes zónát.
$zoneList = Get-AzDnsZone
$zoneList
DNS-zóna frissítése
A DNS-zóna erőforrásai a Set-AzDnsZone
parancsmaggal módosíthatók. Ez a parancsmag nem frissíti a zónán belüli DNS-rekordkészleteket (lásd: Dns-rekordok kezelése). Csak a zónaerőforrás tulajdonságainak frissítésére használatos. A írható zónatulajdonságok jelenleg a zónaerőforrás Azure Resource Manager -címkéire korlátozódnak.
A DNS-zónák frissítéséhez használja az alábbi két módszer egyikét:
Adja meg a zónát a zónanév és az erőforráscsoport használatával
Ez a módszer lecseréli a meglévő zónacímkéket a megadott értékekre.
Set-AzDnsZone -Name contoso.com -ResourceGroupName MyDNSResourceGroup -Tag @{ project="demo"; env="test" }
Zóna megadása egy $zone objektum használatával
Ez a módszer lekéri a meglévő zónaobjektumot, módosítja a címkéket, majd véglegesíti a módosításokat. Ily módon a meglévő címkék megőrizhetők.
# 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
Ha egy $zone objektummal használjaSet-AzDnsZone
, az etag-ellenőrzésekkel biztosítható, hogy az egyidejű módosítások ne legyenek felülírva. Az opcionális -Overwrite
kapcsolóval letilthatja ezeket az ellenőrzéseket.
DNS-zóna törlése
A DNS-zónák a Remove-AzDnsZone
parancsmaggal törölhetők.
Feljegyzés
A DNS-zónák törlésével a zónában található összes DNS-rekord is törlődni fog. Ez a művelet nem vonható vissza. Ha a DNS-zóna használatban van, a zónát használó szolgáltatások futtatása meghiúsul a zóna törlésekor.
A zónák véletlen törlése elleni védelemről további információt talál a DNS-zónák és -rekordok védelme című szakaszban.
DNS-zónák törléséhez használja az alábbi két módszer egyikét:
Zóna megadása a zóna és az erőforráscsoport nevének használatával
Remove-AzDnsZone -Name contoso.com -ResourceGroupName MyDNSResourceGroup
Zóna megadása egy $zone objektum használatával
A törölni kívánt zóna egy, a Get-AzDnsZone
parancs által visszaadott $zone
objektummal adható meg.
$zone = Get-AzDnsZone -Name contoso.com -ResourceGroupName MyDNSResourceGroup
Remove-AzDnsZone -Zone $zone
A zónaobjektum paraméterként való továbbítása helyett át is adhatja azt.
Get-AzDnsZone -Name contoso.com -ResourceGroupName MyDNSResourceGroup | Remove-AzDnsZone
Set-AzDnsZone
A zóna objektummal való $zone
megadása lehetővé teszi az Etag-ellenőrzéseknek, hogy az egyidejű módosítások ne legyenek törölve. A kapcsolóval -Overwrite
letilthatja ezeket az ellenőrzéseket.
Megerősítési kérések
A New-AzDnsZone
, Set-AzDnsZone
és Remove-AzDnsZone
parancsmagok mind támogatják a megerősítési kérések használatát.
A New-AzDnsZone
és a Set-AzDnsZone
egyaránt kér megerősítést, ha a $ConfirmPreference
PowerShell-preferenciaváltozó értéke Medium
vagy kisebb. Mivel a DNS-zóna törlése nemkívánatos feltételeket okozhat, a Remove-AzDnsZone
parancsmag megerősítést kér, ha a $ConfirmPreference
PowerShell-változó értéke nem None
az .
Mivel a $ConfirmPreference
alapértelmezett értéke High
, csak a Remove-AzDnsZone
parancsmag kér alapértelmezés szerint megerősítést.
A jelenlegi $ConfirmPreference
beállítás a -Confirm
paraméter használatával írható felül. Ha -Confirm
vagy -Confirm:$True
értéket ad meg, a parancsmag megerősítést fog kérni a futtatása előtt. Ha megadja -Confirm:$False
, a parancsmag nem kéri a megerősítést.
A -Confirm
és $ConfirmPreference
értékekkel kapcsolatos további információt a preferenciaváltozók bemutatását tartalmazó részben talál.
Következő lépések
Megtudhatja, hogyan kezelheti a rekordhalmazokat és -rekordokat a DNS-zónában.
Megtudhatja, hogyan delegálhatja tartományát az Azure DNS-be.
Tekintse át az Azure DNS PowerShell referenciadokumentációját.