Importowanie i eksportowanie prywatnego pliku strefy DNS dla prywatnej usługi DNS platformy Azure

W tym artykule opisano sposób importowania i eksportowania plików strefy DNS dla usługi Azure DNS przy użyciu interfejsu wiersza polecenia platformy Azure.

Wprowadzenie do migracji strefy DNS

Plik strefy DNS jest plikiem tekstowym zawierającym szczegóły każdego rekordu systemu nazw domen (DNS) w strefie. Ma standardowy format, dzięki czemu nadaje się do przesyłania rekordów DNS między systemami DNS. Użycie pliku strefy to szybki, niezawodny i wygodny sposób transferu strefy DNS do lub z usługi Azure DNS.

Prywatna usługa DNS platformy Azure obsługuje importowanie i eksportowanie plików strefy za pośrednictwem interfejsu wiersza polecenia platformy Azure. Importowanie plików stref za pośrednictwem programu Azure PowerShell lub witryny Azure Portal nie jest obecnie obsługiwane.

Interfejs wiersza polecenia platformy Azure to wieloplatformowe narzędzie wiersza polecenia używane do zarządzania usługami platformy Azure. Jest ona dostępna dla platform Windows, Mac i Linux ze strony pobierania platformy Azure. Obsługa wielu platform jest ważna w przypadku importowania i eksportowania plików strefy, ponieważ najczęściej używane oprogramowanie serwera nazw BIND jest zwykle uruchamiane w systemie Linux.

Uzyskiwanie istniejącego pliku strefy DNS

Przed zaimportowanie pliku strefy DNS do usługi Azure DNS należy uzyskać kopię pliku strefy. Źródło tego pliku zależy od tego, gdzie obecnie jest hostowana strefa DNS.

  • Jeśli strefa DNS jest hostowana przez usługę partnera (na przykład rejestratora domen, dedykowanego dostawcy hostingu DNS lub alternatywnego dostawcy usług w chmurze), usługa ta powinna zapewnić możliwość pobrania pliku strefy DNS.
  • Jeśli strefa DNS jest hostowana w systemie Windows DNS, domyślnym folderem plików strefy jest %systemroot%\system32\dns. Pełna ścieżka do każdego pliku strefy jest również wyświetlana na karcie Ogólne konsoli DNS.
  • Jeśli strefa DNS jest hostowana przy użyciu narzędzia BIND, lokalizacja pliku strefy dla każdej strefy jest określona w pliku konfiguracji BIND o nazwie.conf.

Importowanie pliku strefy DNS do prywatnej usługi DNS platformy Azure

Importowanie pliku strefy powoduje utworzenie nowej strefy w prywatnej usłudze DNS platformy Azure, jeśli jeszcze nie istnieje. Jeśli strefa już istnieje, zestawy rekordów w pliku strefy muszą zostać scalone z istniejącymi zestawami rekordów.

Scal zachowanie

  • Domyślnie istniejące i nowe zestawy rekordów są scalane. Identyczne rekordy w scalanym zestawie rekordów są deduplikowane.
  • Gdy zestawy rekordów są scalane, używany jest czas wygaśnięcia (TTL) istniejących zestawów rekordów.
  • Początek parametrów urzędu (z wyjątkiem host) są zawsze pobierane z zaimportowanego pliku strefy. Podobnie w przypadku rekordu serwera nazw ustawionego w wierzchołka strefy czas wygaśnięcia jest zawsze pobierany z zaimportowanego pliku strefy.
  • Zaimportowany rekord CNAME nie zastępuje istniejącego rekordu CNAME tą samą nazwą.
  • Gdy wystąpi konflikt między rekordem CNAME a innym rekordem o tej samej nazwie, ale innym typem (niezależnie od tego, który z nich jest istniejący lub nowy), istniejący rekord jest zachowywany.

Dodatkowe informacje na temat importowania

Poniższe uwagi zawierają dodatkowe szczegóły techniczne dotyczące procesu importowania strefy.

  • Dyrektywa $TTL jest opcjonalna i jest obsługiwana. Jeśli nie $TTL podano żadnej dyrektywy, rekordy bez jawnego czasu wygaśnięcia są importowane do domyślnego czasu wygaśnięcia 3600 sekund. Gdy dwa rekordy w tym samym zestawie rekordów określają różne listy TTLs, używana jest niższa wartość.
  • Dyrektywa $ORIGIN jest opcjonalna i jest obsługiwana. Jeśli wartość domyślna nie $ORIGIN jest ustawiona, używana wartość domyślna to nazwa strefy określona w wierszu polecenia (wraz z kończeniem ".").
  • Dyrektywy $INCLUDE i $GENERATE nie są obsługiwane.
  • Obsługiwane są następujące typy rekordów: A, AAAA, CAA, CNAME, MX, NS, SOA, SRV i TXT.
  • Rekord SOA jest tworzony automatycznie przez usługę Azure DNS podczas tworzenia strefy. Podczas importowania pliku strefy wszystkie parametry SOA są pobierane z pliku strefy z wyjątkiem parametru host . Ten parametr używa wartości udostępnianej przez usługę Azure DNS. Jest to spowodowane tym, że ten parametr musi odwoływać się do podstawowego serwera nazw dostarczonego przez usługę Azure DNS.
  • Rekord serwera nazw ustawiony w wierzchołka strefy jest również tworzony automatycznie przez usługę Azure DNS podczas tworzenia strefy. Importowany jest tylko czas wygaśnięcia tego zestawu rekordów. Te rekordy zawierają nazwy serwerów nazw udostępniane przez usługę Azure DNS. Dane rekordu nie są zastępowane przez wartości zawarte w zaimportowanym pliku strefy.
  • Usługa Azure DNS obsługuje tylko rekordy TXT z jednym ciągiem. Wielociągowe rekordy TXT będą łączone i obcinane do 255 znaków.

Format interfejsu wiersza polecenia i wartości

Format polecenia interfejsu wiersza polecenia platformy Azure do zaimportowania strefy DNS to:

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

Wartości:

  • <resource group> to nazwa grupy zasobów strefy w usłudze Azure DNS.
  • <zone name> to nazwa strefy.
  • <zone file name> to ścieżka/nazwa pliku strefy do zaimportowania.

Jeśli strefa o tej nazwie nie istnieje w grupie zasobów, zostanie utworzona dla Ciebie. Jeśli strefa już istnieje, zaimportowane zestawy rekordów są scalane z istniejącymi zestawami rekordów.

Importowanie pliku strefy

Aby zaimportować plik strefy dla contoso.com strefy.

  1. Jeśli jeszcze go nie masz, musisz utworzyć grupę zasobów usługi Resource Manager.

    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, uruchom polecenie az network private-dns zone import.
    To polecenie ładuje plik strefy i analizuje go. Polecenie wykonuje serię poleceń w usłudze Azure DNS, aby utworzyć strefę i wszystkie zestawy rekordów w strefie. Polecenie zgłasza postęp w oknie konsoli wraz z wszelkimi błędami lub ostrzeżeniami. Ponieważ zestawy rekordów są tworzone w serii, importowanie dużego pliku strefy może potrwać kilka minut.

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

Weryfikowanie strefy

Aby sprawdzić strefę DNS po zaimportowaniu pliku, można użyć dowolnej z następujących metod:

  • Rekordy można wyświetlić za pomocą następującego polecenia interfejsu wiersza polecenia platformy Azure:

    az network private-dns record-set list -g myresourcegroup -z contoso.com
    
  • Możesz użyć nslookup polecenia , aby zweryfikować rozpoznawanie nazw rekordów. Ponieważ strefa nie jest jeszcze delegowana, należy jawnie określić poprawne serwery nazw usługi Azure DNS. W poniższym przykładzie pokazano, jak pobrać nazwy serwerów nazw przypisanych do strefy. Pokazuje to również, jak wykonywać zapytania dotyczące rekordu "www" przy użyciu polecenia nslookup.

Eksportowanie pliku strefy DNS z usługi Azure DNS

Format polecenia interfejsu wiersza polecenia platformy Azure do wyeksportowania strefy DNS to:

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

Wartości:

  • <resource group> to nazwa grupy zasobów strefy w usłudze Azure DNS.
  • <zone name> to nazwa strefy.
  • <zone file name> to ścieżka/nazwa pliku strefy do wyeksportowania.

Podobnie jak w przypadku importowania strefy, musisz najpierw zalogować się, wybrać subskrypcję i skonfigurować interfejs wiersza polecenia platformy Azure do korzystania z trybu usługi Resource Manager.

Aby wyeksportować plik strefy

Aby wyeksportować istniejącą strefę usługi Azure DNS contoso.com w grupie zasobów myresourcegroup do pliku contoso.com.txt (w bieżącym folderze), uruchom polecenie azure network private-dns zone export. To polecenie wywołuje usługę Azure DNS, aby wyliczyć zestawy rekordów w strefie i wyeksportować wyniki do pliku strefy zgodnego z powiązaniem.

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

Następne kroki