Importe e exporte um arquivo de zona DNS usando a CLI do Azure

Neste artigo, você aprende como importar e exportar um arquivo de zona DNS no DNS do Azure usando o CLI do Azure. Você também pode importar e exportar um arquivo de zona usando o portal Azure.

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

Um arquivo de zona DNS é um arquivo de texto contendo informações sobre todos os registros do Sistema de Nomes de Domínio (DNS) na zona. Segue um formato padrão, tornando-o adequado para transferir registros DNS entre sistemas DNS. Usar um arquivo de zona é uma maneira rápida e conveniente de importar zonas DNS para o DNS do Azure. Você também pode exportar um arquivo de zona do DNS do Azure para usar em outros sistemas DNS.

O DNS do Azure dá suporte à importação e à exportação de arquivos de zona por meio da CLI do Azure e do portal do Azure.

CLI do Azure é uma ferramenta de linha de comando multiplataforma usada para gerenciar serviços do Azure. Está disponível para Windows, Mac e Linux na página de downloads do Azure.

Obtenha seu arquivo 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.

  • Se sua zona DNS for hospedada por um serviço parceiro, o serviço deve ter uma forma de você baixar o arquivo da zona DNS. Os serviços parceiros incluem registrador de domínio, provedor dedicado de hospedagem DNS ou um provedor alternativo de nuvem.
  • Se sua zona DNS estiver hospedada em Windows DNS, a pasta padrão para os arquivos da zona é %systemroot%\system32\dns. O caminho completo para cada arquivo de zona também é mostrado na aba Geral do console DNS.
  • Se sua zona DNS for hospedada usando BIND, a localização do arquivo de zona para cada zona é especificada no arquivo de configuração BIND chamado .conf.

Important

Se o arquivo de zona que você importa contiver entradas CNAME que apontam para nomes em outra zona privada, a resolução do CNAME no DNS do Azure falha, a menos que a outra zona também seja importada, ou as entradas CNAME sejam modificadas.

Importar um arquivo de zona DNS para o DNS do Azure

Importar um arquivo de zona cria uma nova zona no DNS do Azure se a zona ainda não existir. Se a zona existir, então os conjuntos de registros no arquivo de zona são fundidos com os conjuntos de registros existentes.

Comportamento de mesclagem

  • Por padrão, os novos conjuntos de registros são fundidos com os conjuntos existentes. Registros idênticos dentro de um conjunto de registros mesclados não são duplicados.
  • Quando conjuntos de registros são fundidos, o tempo de vida (TTL) dos conjuntos de registros pré-existentes é utilizado.
  • Parâmetros de Início de Autoridade (SOA), exceto host que sempre são retirados do arquivo de zona importado. O registro do servidor de nomes definido no topo da zona também sempre usa o TTL retirado do arquivo de zona importado.
  • Um registro CNAME importado substituirá o registro CNAME existente que tem o mesmo nome.
  • Quando ocorre um conflito entre um registro CNAME e outro registro com o mesmo nome de tipo diferente, o registro existente é utilizado.

Informações adicionais sobre importação

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

  • A $TTL diretiva é opcional e é suportada. Quando nenhuma $TTL diretriz é dada, registros sem TTL explícito são importados com um TTL padrão de 3600 segundos. Quando dois registros no mesmo conjunto de registros especificam TTLs diferentes, o valor menor é usado.
  • A $ORIGIN diretiva é opcional e é suportada. Quando o no $ORIGIN é definido, o valor padrão usado é o nome da zona conforme especificado na linha de comando, incluindo o ponto final (.).
  • As $INCLUDE diretrizes e $GENERATE não são suportadas.
  • Esses tipos de registro 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 zonas, todos os parâmetros da SOA são retirados do arquivo de zonas, exceto o host parâmetro. Esse parâmetro usa o valor fornecido pelo DNS do Azure porque precisa se referir ao servidor de nomes principal fornecido pelo DNS do Azure.
  • O conjunto de registros do servidor de nomes no ápice da zona também é criado automaticamente pelo DNS do Azure quando a zona é criada. Apenas o TTL desse conjunto de registros é importado. Esses registros contêm os nomes dos servidores de nomes fornecidos pelo DNS do Azure. Os dados do registro não são sobrescritos pelos valores contidos no arquivo de zona importado.
  • O DNS do Azure suporta registros TXT que contêm múltiplas strings, cada uma com até 255 caracteres de comprimento, com um total de até 4.096 caracteres em cada conjunto de registros TXT. Registros TXT multistring em um arquivo de zona podem não ser importados com a mesma estrutura de strings, então verifique seus registros TXT após a importação terminar. Para mais informações, veja registros TXT.

Formato e valores da CLI

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

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

Valores:

  • <resource group>é o nome do grupo de recursos da 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 ainda não existir no grupo de recursos, uma é criada para você. Para uma zona existente, os conjuntos de registros importados são fundidos com conjuntos de registros já existentes.

Importar um arquivo de zona

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

  1. Crie um grupo de recursos, caso ainda não tenha um.

    az group create --resource-group myresourcegroup -l westeurope
    
  2. Para importar a contoso.com de zona do arquivo contoso.com.txt para uma nova zona DNS no grupo de recursos myresourcegroup, execute o comando az network dns zone import.

    Esse comando carrega o arquivo de zona e o analisa. O comando executa uma série de operações no serviço DNS do Azure para criar a zona e todos os conjuntos de registros nela. O comando informa o progresso na janela do console junto com quaisquer erros ou avisos. Como conjuntos de registros são criados em série, pode levar alguns minutos para importar um arquivo de zona grande.

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

Verifique a zona

Você pode usar qualquer um dos seguintes métodos para verificar a zona DNS após importar o arquivo:

  • Para listar os registros, use o seguinte comando CLI do Azure:

    az network dns record-set list -g myresourcegroup -z contoso.com
    
  • Você também pode listar os registros usando o comando az network dns record-set ns listCLI do Azure .

  • Use nslookup para verificar a resolução dos nomes dos registros. Se a zona ainda não foi delegada, você precisa especificar explicitamente os servidores de nomes corretos do DNS do Azure. O exemplo a seguir mostra como recuperar os nomes dos servidores de nomes atribuídos à zona.

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

    Use o Prompt de Comando do Windows para consultar o registro "www" com o nslookup comando.

    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
    

Delegação de DNS de atualização

Depois de verificar se a zona foi importada corretamente, você precisa atualizar a delegação DNS para apontar para os servidores de nomes do DNS do Azure. Para mais informações, veja Atualizar a delegação DNS.

Exportar um arquivo de zona DNS do DNS do Azure

Para exportar uma zona DNS, use o seguinte comando CLI do Azure:

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

Valores:

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

Assim como na importação de zonas, você primeiro precisa fazer login, escolher sua assinatura e configurar a CLI do Azure para usar o modo Resource Manager.

Para exportar um arquivo de zona

Para exportar a contoso.com de zona de DNS do Azure existente no grupo de recursos myresourcegroup para o arquivocontoso.com.txt (na pasta atual), execute azure network dns zone export. Esse 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 dns zone export -g myresourcegroup -n contoso.com -f contoso.com.txt

Próximas Etapas