Share via


Importar e exportar um ficheiro de zona DNS com a CLI do Azure

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

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

Um ficheiro de zona DNS é um ficheiro de texto que contém informações sobre todos os registos do Sistema de Nomes de Domínio (DNS) na zona. Segue um formato padrão, tornando-o adequado para a transferência de registos DNS entre sistemas DNS. Utilizar um ficheiro de zona é uma forma rápida e conveniente de importar zonas DNS para o DNS do Azure. Também pode exportar um ficheiro de zona a partir do DNS do Azure para utilizar com 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.

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

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 deste ficheiro depende do local onde a zona DNS está alojada.

  • Se a sua zona DNS estiver hospedada por um serviço parceiro, o serviço deverá ter uma maneira de baixar o arquivo de zona DNS. Os serviços de parceiros incluem registrador de domínios, provedor de hospedagem DNS dedicado ou um provedor de nuvem alternativo.
  • Se a 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 é mostrado na guia Geral do console DNS.
  • Se sua zona DNS estiver hospedada usando BIND, o local do arquivo de zona para cada zona será especificado no arquivo de configuração BIND named.conf.

Importante

Se o arquivo de zona importado contiver entradas CNAME que apontam para nomes em outra zona privada, a resolução DNS do Azure do CNAME falhará, 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

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

Comportamento de união

  • Por padrão, os novos conjuntos de registros são mesclados com os conjuntos de registros existentes. Registros idênticos dentro de um conjunto de registros mesclados não são duplicados.
  • Quando os conjuntos de registros são mesclados, o tempo de vida (TTL) dos conjuntos de registros pré-existentes é usado.
  • Os parâmetros Start of Authority (SOA), exceto host são sempre retirados do arquivo de zona importado. O registro do servidor de nomes definido no ápice 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 é usado.

Informações adicionais sobre a importação

As notas a seguir fornecem mais detalhes técnicos 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, incluindo o ponto final (.).
  • As $INCLUDE diretivas e $GENERATE não são suportadas.
  • 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. Esse parâmetro usa o valor fornecido pelo DNS do Azure porque ele precisa 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.
  • Durante a Pré-visualização Pública, o DNS do Azure suporta apenas registos TXT de cadeia de caracteres única. Os registros TXT multistring devem ser 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 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 ainda não existir no grupo de recursos, uma será criada para você. Para uma zona existente, os conjuntos de registros importados são mesclados com conjuntos de registros existentes.

Importar um arquivo de zona

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

  1. Crie um grupo de recursos se não tiver um.

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

    Este 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 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 dns zone import -g myresourcegroup -n contoso.com -f contoso.com.txt
    

Verificar a zona

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

  • Para listar os registros, use o seguinte comando da 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 de nomes para os registros. Se a zona ainda não tiver sido delegada, você precisará 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.

    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
    

Atualizar delegação de DNS

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

Exportar um arquivo de zona DNS do DNS do Azure

Para exportar uma zona DNS, use o seguinte comando da 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 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 contoso.com.txt de arquivos (na pasta atual), execute azure network 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 dns zone export -g myresourcegroup -n contoso.com -f contoso.com.txt

Próximos passos