Partilhar via


Importar e exportar um arquivo de zona DNS privada para DNS privado do Azure

Este artigo orienta você sobre como importar e exportar arquivos de zona DNS para o DNS do Azure usando a CLI do Azure.

Introdução à migração de zona DNS

Um arquivo de zona DNS é um arquivo de texto que contém detalhes de cada registro DNS (Sistema de Nomes de Domínio) na zona. Segue um formato padrão, tornando-o adequado para a transferência de registos DNS entre sistemas DNS. Usar um arquivo de zona é uma maneira rápida, confiável e conveniente de transferir uma zona DNS para dentro ou para fora do DNS do Azure.

O DNS privado do Azure dá suporte à importação e exportação de arquivos de zona por meio da CLI do Azure. Atualmente, nãosuporte para a importação de arquivos de zona por meio do Azure PowerShell ou do portal do Azure.

A CLI do Azure é uma ferramenta de linha de comando entre plataformas usada para gerenciar serviços do Azure. Ele está disponível para as plataformas Windows, Mac e Linux na página de downloads do Azure. O suporte multiplataforma é importante para importar e exportar arquivos de zona, porque o software de servidor de nomes mais comum, BIND, normalmente é executado no Linux.

Obter o ficheiro de zona DNS existente

Antes de importar um arquivo de zona DNS para o DNS do Azure, você precisa obter uma cópia do arquivo de zona. A origem desse arquivo depende de onde a zona DNS está hospedada no momento.

  • Se a sua zona DNS for hospedada por um serviço parceiro (como um registrador de domínios, um provedor de hospedagem DNS dedicado ou um provedor de nuvem alternativo), esse serviço deverá fornecer a capacidade de baixar o arquivo de zona DNS.
  • Se a sua zona DNS estiver hospedada no DNS do Windows, a pasta padrão para os arquivos de zona será %systemroot%\system32\dns. O caminho completo para cada arquivo de zona também é exibido na guia Geral do console DNS.
  • Se sua zona DNS for hospedada usando BIND, o local do arquivo de zona para cada zona será especificado no arquivo de configuração BIND named.conf.

Importar um arquivo de zona DNS para o DNS privado do Azure

A importação de um arquivo de zona cria uma nova zona no DNS privado do Azure, caso ainda não exista. Se a zona já existir, os conjuntos de registros no arquivo de zona deverão ser mesclados com os conjuntos de registros existentes.

Comportamento de união

  • Por padrão, os conjuntos de registros novos e existentes são mesclados. Registros idênticos dentro de um conjunto de registros mesclados são eliminados da duplicação.
  • Quando os conjuntos de registros são mesclados, o tempo de vida (TTL) dos conjuntos de registros preexistentes é usado.
  • Os parâmetros Start of Authority (SOA) (exceto host) são sempre retirados do arquivo de zona importado. Da mesma forma, para o registro do servidor de nomes definido no ápice da zona, o TTL é sempre retirado do arquivo de zona importado.
  • Um registro CNAME importado não substitui um registro CNAME existente com o mesmo nome.
  • Quando surge um conflito entre um registo CNAME e outro registo com o mesmo nome, mas de tipo diferente (independentemente do que é existente ou novo), o registo existente é mantido.

Informações adicionais sobre a importação

As notas a seguir fornecem detalhes técnicos adicionais sobre o processo de importação de zona.

  • A $TTL diretiva é opcional e é suportada. Quando nenhuma $TTL diretiva é fornecida, os registros sem um TTL explícito são importados definidos como um TTL padrão de 3600 segundos. Quando dois registros no mesmo conjunto de registros especificam TTLs diferentes, o valor mais baixo é usado.
  • A $ORIGIN diretiva é opcional e é suportada. Quando no $ORIGIN é definido, o valor padrão usado é o nome da zona, conforme especificado na linha de comando (mais a terminação ".").
  • As $INCLUDE diretivas e $GENERATE não são apoiadas.
  • Estes tipos de registo são suportados: A, AAAA, CAA, CNAME, MX, NS, SOA, SRV e TXT.
  • O registro SOA é criado automaticamente pelo DNS do Azure quando uma zona é criada. Quando você importa um arquivo de zona, todos os parâmetros SOA são retirados do arquivo de zona, exceto o host parâmetro. Este parâmetro usa o valor fornecido pelo DNS do Azure. Isso ocorre porque esse parâmetro deve se referir ao servidor de nomes primário fornecido pelo DNS do Azure.
  • O registro do servidor de nomes definido no ápice da zona também é criado automaticamente pelo DNS do Azure quando a zona é criada. Apenas o TTL deste conjunto de registos é importado. Esses registros contêm os nomes de servidor de nomes fornecidos pelo DNS do Azure. Os dados do registro não são substituídos pelos valores contidos no arquivo de zona importado.
  • O DNS do Azure dá suporte apenas a registros TXT de cadeia de caracteres única. Os registros TXT multistring serão concatenados e truncados para 255 caracteres.

Formato e valores da CLI

O formato do comando da CLI do Azure para importar uma zona DNS é:

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

Valores:

  • <resource group> é o nome do grupo de recursos para a zona no DNS do Azure.
  • <zone name> é o nome da zona.
  • <zone file name> é o caminho/nome do arquivo de zona a ser importado.

Se uma zona com esse nome não existir no grupo de recursos, ela será criada para você. Se a zona já existir, os conjuntos de registros importados serão mesclados com os conjuntos de registros existentes.

Importar um arquivo de zona

Para importar um arquivo de zona para a zona contoso.com.

  1. Se ainda não tiver um, terá de criar um grupo de recursos do Gestor de Recursos.

    az group create --resource-group myresourcegroup -l westeurope
    
  2. Para importar a zona contoso.com do arquivo contoso.com.txt para uma nova zona DNS no grupo de recursos myresourcegroup, execute o comando az network private-dns zone import .
    Este comando carrega o arquivo de zona e o analisa. O comando executa uma série de comandos no serviço DNS do Azure para criar a zona e todos os conjuntos de registros na zona. O comando relata o progresso na janela do console, juntamente com quaisquer erros ou avisos. Como os conjuntos de registros são criados em série, pode levar alguns minutos para importar um arquivo de zona grande.

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

Verificar a zona

Para verificar a zona DNS depois de importar o ficheiro, pode utilizar qualquer um dos seguintes métodos:

  • Você pode listar os registros usando o seguinte comando da CLI do Azure:

    az network private-dns record-set list -g myresourcegroup -z contoso.com
    
  • Você pode usar nslookup para verificar a resolução de nomes para os registros. Como a zona ainda não está delegada, você precisa especificar os servidores de nomes DNS do Azure corretos explicitamente. O exemplo a seguir mostra como recuperar os nomes de servidor de nomes atribuídos à zona. Isso também mostra como consultar o registro "www" usando nslookup.

Exportar um arquivo de zona DNS do DNS do Azure

O formato do comando da CLI do Azure para exportar uma zona DNS é:

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

Valores:

  • <resource group> é o nome do grupo de recursos para a zona no DNS do Azure.
  • <zone name> é o nome da zona.
  • <zone file name> é o caminho/nome do arquivo de zona a ser exportado.

Tal como acontece com a importação de zona, primeiro tem de iniciar sessão, escolher a sua subscrição e configurar a CLI do Azure para utilizar o modo Resource Manager.

Para exportar um arquivo de zona

Para exportar a zona DNS do Azure existente contoso.com no grupo de recursos myresourcegroup para o arquivo contoso.com.txt (na pasta atual), execute azure network private-dns zone export. Este comando chama o serviço DNS do Azure para enumerar conjuntos de registros na zona e exportar os resultados para um arquivo de zona compatível com BIND.

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

Próximos passos