Import i eksport pliku strefy DNS za pomocą Azure CLI

W tym artykule dowiesz się, jak importować i eksportować plik strefy DNS w Azure DNS za pomocą Azure CLI. Możesz też importować i eksportować plik strefy za pomocą portalu Azure.

Wprowadzenie do migracji stref DNS

Plik strefy DNS to plik tekstowy zawierający informacje o każdym rekordzie systemu nazw domen (DNS) w strefie. Stosuje standardowy format, co czyni go odpowiednim do przesyłania rekordów DNS między systemami DNS. Użycie pliku strefy to szybki i wygodny sposób importowania stref DNS do usługi Azure DNS. Możesz też wyeksportować plik strefy z Azure DNS, aby używać go z innymi systemami DNS.

Usługa Azure DNS obsługuje importowanie i eksportowanie plików strefy za pośrednictwem interfejsu wiersza polecenia platformy Azure i Azure Portal.

Azure CLI to wieloplatformowe narzędzie wiersza poleceń służące do zarządzania usługami Azure. Jest dostępna na Windows, Mac i Linux na stronie pobierania Azure.

Pobierz swój istniejący plik strefy DNS

Zanim zaimportujesz plik strefy DNS do Azure DNS, musisz pobrać kopię pliku strefy. Źródło tego pliku zależy od miejsca, w którym znajduje się strefa DNS.

  • Jeśli twoja strefa DNS jest hostowana przez usługę partnerską, usługa powinna mieć możliwość pobrania pliku strefy DNS. Usługi partnerskie obejmują rejestratora domen, dedykowanego dostawcy hostingu DNS lub alternatywnego dostawcy chmury.
  • Jeśli twoja strefa DNS jest hostowana na Windows DNS, domyślnym folderem plików stref jest%systemroot%\system32\dns. Pełna ścieżka do każdego pliku strefy jest również pokazana na zakładce Ogólne konsoli DNS.
  • Jeśli twoja strefa DNS jest hostowana w BIND, lokalizacja pliku strefy dla każdej strefy jest określana w pliku konfiguracyjnym BIND o nazwie .conf.

Important

Jeśli plik strefy, który importujesz, zawiera wpisy CNAME wskazujące na nazwy w innej strefie prywatnej, rozdzielczość CNAME w Azure DNS nie działa, chyba że druga strefa również zostanie zaimportowana lub wpisy CNAME zostaną zmodyfikowane.

Import pliku strefy DNS do Azure DNS

Importowanie pliku strefy tworzy nową strefę w Azure DNS, jeśli ta strefa jeszcze nie istnieje. Jeśli strefa istnieje, zestawy rekordów w pliku strefy są scalane z istniejącymi zestawami rekordów.

Zachowanie scalania

  • Domyślnie nowe zestawy rekordów są scalane z istniejącymi zestawami rekordów. Identyczne rekordy w połączonym zestawie rekordów nie są duplikowane.
  • Podczas łączenia zestawów rekordów wykorzystywany jest czas życia (TTL) istniejących wcześniej zbiorów rekordów.
  • Parametry Start of Authority (SOA), z wyjątkiem tego, że host zawsze są pobierane z pliku strefy importowanej. Zestaw rekordów serwera nazw na wierzchołku strefy również zawsze korzysta z TTL pobranego z importowanego pliku strefy.
  • Zaimportowany rekord CNAME zastąpi istniejący rekord CNAME o tej samej nazwie.
  • Gdy dochodzi do konfliktu między rekordem CNAME a innym rekordem o tej samej nazwie i innym typie, używany jest istniejący rekord.

Dodatkowe informacje o imporcie

Poniższe notatki zawierają więcej szczegółów technicznych dotyczących procesu importu stref.

  • Dyrektywa jest $TTL opcjonalna i jest wspierana. Gdy nie $TTL zostanie wydana dyrektywa, rekordy bez wyraźnego TTL są importowane na domyślne TTL na 3600 sekund. Gdy dwa rekordy w tym samym zbiorze rekordów określają różne TTL, używana jest niższa wartość.
  • Dyrektywa jest $ORIGIN opcjonalna i jest wspierana. Gdy nie jest ustawione $ORIGIN , domyślną wartością jest nazwa strefy podana w wierszu poleceń, włącznie z kończącą kropką (.).
  • $INCLUDE Dyrektywy i $GENERATE nie są poparte.
  • Obsługiwane są następujące typy rekordów: A, AAAA, CAA, CNAME, MX, NS, SOA, SRV oraz TXT.
  • Rekord SOA jest automatycznie tworzony przez Azure DNS podczas tworzenia strefy. Gdy importujesz plik strefy, wszystkie parametry SOA są pobierane z pliku strefy oprócz parametru host . Ten parametr wykorzystuje wartość dostarczoną przez Azure DNS, ponieważ musi odwoływać się do głównego serwera nazw udostępnionego przez Azure DNS.
  • Zestaw rekordów serwera nazw na wierzchołku strefy jest również automatycznie tworzony przez Azure DNS podczas tworzenia strefy. Importowany jest tylko TTL tego zestawu rekordów. Te rekordy zawierają nazwy serwerów nazw udostępnione przez Azure DNS. Dane rekordu nie są nadpisywane przez wartości zawarte w zaimportowanym pliku strefy.
  • Azure DNS obsługuje rekordy TXT zawierające wiele ciągów znaków, każdy o długości do 255 znaków, z łączną liczbą do 4 096 znaków w każdym zestawie rekordów TXT. Wielociągowe rekordy TXT w pliku strefowym mogą nie być importowane z tą samą strukturą łańcuchową, więc weryfikuj swoje rekordy TXT po zakończeniu importu. Więcej informacji można znaleźć w zapisach TXT.

Format i wartości CLI

Format polecenia Azure CLI do importu strefy DNS jest następujący:

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

Values:

  • <resource group>to nazwa grupy zasobów dla strefy w Azure DNS.
  • <zone name> to nazwa tej strefy.
  • <zone file name> to ścieżka/nazwa pliku strefy, który ma być importowany.

Jeśli strefa o tej nazwie nie istnieje jeszcze w grupie zasobów, zostanie utworzona dla ciebie. W istniejącej strefie importowane zestawy rekordów są łączone z istniejącymi zestawami rekordów.

Importuj plik strefy

Aby zaimportować plik strefy dla strefy contoso.com.

  1. Utwórz grupę zasobów, jeśli jej nie masz.

    az group create --resource-group myresourcegroup -l westeurope
    
  2. Aby zaimportować strefę contoso.com z pliku contoso.com.txt do nowej strefy DNS w grupie zasobów myresourcegroup, wykonaj polecenie az network dns zone import.

    To polecenie ładuje plik strefy i go analizuje. Polecenie wykonuje serię operacji na usłudze Azure DNS, aby utworzyć strefę oraz wszystkie zestawy rekordów w tej strefie. Polecenie raportuje postępy w oknie konsoli wraz z ewentualnymi błędami lub ostrzeżeniami. Ponieważ zestawy rekordów są tworzone seryjnie, import dużego pliku strefowego może zająć kilka minut.

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

Sprawdź strefę

Możesz użyć jednej z poniższych metod, aby zweryfikować strefę DNS po zaimportowaniu pliku:

  • Aby wymienić rekordy, użyj następującego polecenia Azure CLI:

    az network dns record-set list -g myresourcegroup -z contoso.com
    
  • Możesz także wymienić rekordy, używając polecenia az network dns record-set ns listAzure CLI.

  • Użyj do nslookup weryfikacji rozdzielczości nazw dla rekordów. Jeśli strefa nie została jeszcze delegowana, musisz wyraźnie określić odpowiednie serwery nazw Azure DNS. Poniższy przykład pokazuje, jak pobrać nazwy serwerów nazw przypisane do tej strefy.

    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"
      }
    ]
    

    Użyj wiersza poleceń Windows, aby zapytać rekord "www" za pomocą nslookup polecenia.

    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
    

Zaktualizuj delegację DNS

Po zweryfikowaniu, że strefa została poprawnie zaimportowana, musisz zaktualizować delegację DNS, aby wskazywała na serwery nazw Azure DNS. Więcej informacji można znaleźć w artykule Aktualizuj delegację DNS.

Export a DNS zone file from Azure DNS

Aby wyeksportować strefę DNS, użyj następującego polecenia Azure CLI:

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

Values:

  • <resource group>to nazwa grupy zasobów dla strefy w Azure DNS.
  • <zone name> to nazwa tej strefy.
  • <zone file name> to ścieżka/nazwa pliku strefowego do eksportu.

Podobnie jak w przypadku importu stref, najpierw musisz się zalogować, wybrać subskrypcję i skonfigurować Azure CLI do korzystania z trybu Resource Manager.

Aby wyeksportować plik strefy

Aby wyeksportować istniejącą strefę Azure DNS contoso.com w grupie zasobów myresourcegroup do plikucontoso.com.txt (w aktualnym folderze), uruchom azure network dns zone export. To polecenie wywołuje usługę Azure DNS, aby wyliczyć zbiory rekordów w strefie i wyeksportować wyniki do pliku strefy zgodnego z BIND.

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

Następne kroki