Import a export souboru zóny DNS pomocí Azure CLI

V tomto článku se dozvíte, jak importovat a exportovat soubor zóny DNS v Azure DNS pomocí Azure CLI. Soubor zóny můžete také importovat a exportovat pomocí webu Azure Portal.

Úvod do migrace zón DNS

Soubor zóny DNS je textový soubor s informacemi o každém záznamu DNS (Domain Name System) v zóně. Využívá standardní formát, který je vhodný pro přenos záznamů DNS mezi systémy DNS. Soubor zóny představuje rychlý a pohodlný způsob importu zón DNS do Azure DNS. K exportu souboru zóny z Azure DNS také můžete použít jiné systémy DNS.

Azure DNS podporuje import a export souborů zón prostřednictvím Azure CLI a webu Azure Portal.

Azure CLI je multiplatformní nástroj příkazového řádku používaný ke správě služeb Azure. Je k dispozici pro Windows, Mac a Linux ze stránky se soubory ke stažení Azure.

Získání existujícího souboru zóny DNS

Před importem souboru zóny DNS do Azure DNS potřebujete získat kopii souboru zóny. Zdroj tohoto souboru závisí na tom, kde je zóna DNS hostovaná.

  • Pokud je vaše zóna DNS hostovaná partnerskou službou, měla by mít služba způsob, jak stáhnout soubor zóny DNS. Partnerské služby zahrnují doménového registrátora, vyhrazeného poskytovatele hostingu DNS nebo alternativního poskytovatele cloudu.
  • Pokud je vaše zóna DNS hostovaná v DNS systému Windows, výchozí složka pro soubory zóny je %systemroot%\system32\dns. Úplná cesta ke každému souboru zóny se také zobrazuje na kartě Obecné v konzole DNS.
  • Pokud je vaše zóna DNS hostovaná pomocí BIND, umístění souboru zóny pro každou zónu se zadává v konfiguračním souboru BIND s názvem.conf.

Důležité

Pokud importovaný soubor zóny obsahuje položky CNAME, které odkazují na názvy v jiné privátní zóně, překlad DNS CNAME selže, pokud se nenaimportuje ani jiná zóna nebo se nezmění položky CNAME.

Import souboru zóny DNS do Azure DNS

Import souboru zóny vytvoří novou zónu v Azure DNS, pokud tato zóna ještě neexistuje. Pokud zóna existuje, sady záznamů v souboru zóny se sloučí s existujícími sadami záznamů.

Sloučení chování

  • Ve výchozím nastavení se nové sady záznamů sloučí s existujícími sadami záznamů. Identické záznamy ve sloučené sadě záznamů nejsou duplikovány.
  • Při sloučení sad záznamů se použije hodnota TTL (Time to Live) existujících sad záznamů.
  • Počáteční parametry autority (SOA) s výjimkou host vždy pocházejí z importovaného souboru zóny. Sada záznamů názvového serveru na vrcholu zóny také vždy používá hodnotu TTL převzatou z importovaného souboru zóny.
  • Importovaný záznam CNAME nahradí stávající záznam CNAME se stejným názvem.
  • Když dojde ke konfliktu mezi záznamem CNAME a jiným záznamem se stejným názvem jiného typu, použije se existující záznam.

Další informace o importu

Následující poznámky obsahují další technické podrobnosti o procesu importu zóny.

  • Direktiva $TTL je nepovinná a je podporovaná. Pokud není zadána žádná $TTL direktiva, záznamy bez explicitního hodnoty TTL se naimportují na výchozí hodnotu TTL 3600 sekund. Pokud dva záznamy ve stejné sadě záznamů určují různé hodnoty TTL, použije se nižší hodnota.
  • Direktiva $ORIGIN je nepovinná a je podporovaná. Pokud není nastavena žádná $ORIGIN hodnota, použije se výchozí hodnota název zóny zadaný na příkazovém řádku, včetně koncové tečky (.).
  • Direktivy $INCLUDE a $GENERATE direktivy nejsou podporované.
  • Podporují se tyto typy záznamů: A, AAAA, CAA, CNAME, MX, NS, SOA, SRV a TXT.
  • Záznam SOA se automaticky vytvoří službou Azure DNS při vytvoření zóny. Při importu souboru zóny se všechny parametry SOA převezmou ze souboru zóny s výjimkou parametru host . Tento parametr používá hodnotu, kterou poskytuje Azure DNS, protože musí odkazovat na primární názvový server, který poskytuje Azure DNS.
  • Sada záznamů názvového serveru na vrcholu zóny se při vytváření zóny vytvoří automaticky také službou Azure DNS. Importuje se pouze hodnota TTL této sady záznamů. Tyto záznamy obsahují názvy názvových serverů, které poskytuje Azure DNS. Data záznamu nejsou přepsána hodnotami obsaženými v importovaném souboru zóny.
  • Během verze Public Preview podporuje Azure DNS pouze záznamy TXT s jedním řetězcem. Víceřetězkové záznamy TXT je třeba zřetězení a zkrácení na 255 znaků.

Formát a hodnoty rozhraní příkazového řádku

Formát příkazu Azure CLI pro import zóny DNS je následující:

az network dns zone import -g <resource group> -n <zone name> -f <zone file name>

Hodnoty:

  • <resource group> je název skupiny prostředků pro zónu v Azure DNS.
  • <zone name> je název zóny.
  • <zone file name> je cesta/název souboru zóny, který se má importovat.

Pokud v této skupině prostředků ještě neexistuje zóna s tímto názvem, vytvoří se pro vás jedna zóna s tímto názvem. U existující zóny se importované sady záznamů sloučí s existujícími sadami záznamů.

Import souboru zóny

Import souboru zóny pro contoso.com zóny.

  1. Vytvořte skupinu prostředků, pokud ji nemáte.

    az group create --resource-group myresourcegroup -l westeurope
    
  2. Pokud chcete importovat zónu contoso.com ze souboru contoso.com.txt do nové zóny DNS ve skupině prostředků myresourcegroup, spusťte příkaz az network dns zone import.

    Tento příkaz načte soubor zóny a parsuje ho. Příkaz spustí řadu operací ve službě Azure DNS, která vytvoří zónu a všechny sady záznamů v zóně. Příkaz hlásí průběh v okně konzoly spolu s chybami nebo upozorněními. Vzhledem k tomu, že se sady záznamů vytvářejí v řadě, může import velkého souboru zóny trvat několik minut.

    az network dns zone import -g myresourcegroup -n contoso.com -f contoso.com.txt
    

Ověření zóny

K ověření zóny DNS po importu souboru můžete použít některou z následujících metod:

  • K výpisu záznamů použijte následující příkaz Azure CLI:

    az network dns record-set list -g myresourcegroup -z contoso.com
    
  • Záznamy můžete zobrazit také pomocí příkazu az network dns record-set ns listAzure CLI .

  • Slouží nslookup k ověření překladu ip adres pro záznamy. Pokud ještě není zóna delegovaná, musíte explicitně zadat správné názvové servery Azure DNS. Následující ukázka ukazuje, jak načíst názvy názvových serverů přiřazených k zóně.

    az network dns record-set ns list -g myresourcegroup -z contoso.com  --output json 
    
    [
      {
       .......
       "name": "@",
        "nsRecords": [
          {
            "additionalProperties": {},
            "nsdname": "ns1-03.azure-dns.com."
          },
          {
            "additionalProperties": {},
            "nsdname": "ns2-03.azure-dns.net."
          },
          {
            "additionalProperties": {},
            "nsdname": "ns3-03.azure-dns.org."
          },
          {
            "additionalProperties": {},
            "nsdname": "ns4-03.azure-dns.info."
          }
        ],
        "resourceGroup": "myresourcegroup",
        "ttl": 86400,
        "type": "Microsoft.Network/dnszones/NS"
      }
    ]
    

    Pomocí příkazového řádku systému Windows zadejte dotaz na záznam "www" pomocí nslookup příkazu.

    nslookup www.contoso.com ns1-03.azure-dns.com
    
        Server: ns1-01.azure-dns.com
        Address:  40.90.4.1
    
        Name:www.contoso.com
        Addresses:  134.170.185.46
        134.170.188.221
    

Aktualizace delegování DNS

Po ověření správného importu zóny je potřeba aktualizovat delegování DNS tak, aby odkazovalo na názvové servery Azure DNS. Další informace najdete v tématu Aktualizace delegování DNS.

Export souboru zóny DNS z Azure DNS

K exportu zóny DNS použijte následující příkaz Azure CLI:

az network dns zone export -g <resource group> -n <zone name> -f <zone file name>

Hodnoty:

  • <resource group> je název skupiny prostředků pro zónu v Azure DNS.
  • <zone name> je název zóny.
  • <zone file name> je cesta/název souboru zóny, který se má exportovat.

Stejně jako při importu zóny se musíte nejdřív přihlásit, zvolit předplatné a nakonfigurovat Azure CLI tak, aby používalo režim Resource Manageru.

Export souboru zóny

Pokud chcete exportovat existující zónu Azure DNS contoso.com ve skupině prostředků myresourcegroup do souboru contoso.com.txt (v aktuální složce), spusťte azure network dns zone exportpříkaz . Tento příkaz volá službu Azure DNS k vytvoření výčtu sad záznamů v zóně a exportu výsledků do souboru zóny kompatibilního s BIND.

az network dns zone export -g myresourcegroup -n contoso.com -f contoso.com.txt

Další kroky