Importación y exportación de un archivo de zona DNS privado para el DNS privado de Azure
Este artículo le guiará a través de la importación y exportación de archivos de zona DNS para Azure DNS con la CLI de Azure.
Introducción a la migración de zona DNS
Un archivo de zona DNS es un archivo de texto que contiene los detalles de cada registro DNS (Sistema de nombres de dominio) de la zona. Sigue un formato estándar, por lo que es adecuado para transferir registros DNS entre distintos sistemas DNS. Usar un archivo de zona es una manera rápida, confiable y cómoda de transferir una zona DNS a DNS de Azure o desde él.
DNS privado de Azure admite la importación y exportación de archivos de zona a través de la CLI de Azure. La importación de archivos de zona mediante Azure PowerShell o Azure Portal no se admite actualmente.
La CLI de Azure es una herramienta de línea de comandos multiplataforma que se usa para administrar servicios de Azure. Está disponible para las plataformas Windows, Mac y Linux en la página de descargas de Azure. La compatibilidad multiplataforma es importante para la importación y la exportación de archivos de zona, porque el software de servidor de nombres más común, BIND, se suele ejecutar en Linux.
Obtención del archivo de zona DNS existente
Antes de importar un archivo de zona DNS a DNS de Azure, debe obtener una copia del archivo de zona. El origen de este archivo varía en función de dónde se hospede la zona DNS.
- Si la zona DNS se hospeda en un servicio de colaboradores (como un registrador de dominios, un proveedor de hospedaje DNS dedicado o un proveedor de nube alternativo), ese servicio debería ofrecer la posibilidad de descargar el archivo de zona DNS.
- Si la zona DNS se hospeda en DNS de Windows, la carpeta predeterminada para los archivos de zona es %systemroot%\system32\dns. También se muestra la ruta de acceso completa de cada archivo de zona en la pestaña General de la consola de DNS.
- Si la zona DNS se hospeda con BIND, la ubicación del archivo de zona para cada zona se especifica en el archivo de configuración de BIND named.conf.
Importación de un archivo de zona DNS al DNS privado de Azure
Si aún no existe, al importar un archivo de zona se crea una nueva zona DNS privada de Azure. Si la zona ya existe, los conjuntos de registros de la zona deben combinarse con los conjuntos de registros existentes.
Comportamiento de combinación
- De forma predeterminada, se combinan los conjuntos de registros nuevos y existentes. Los registros idénticos dentro de un conjunto de registros combinado se desduplican.
- Cuando se combinan conjuntos de registros, se usa el período de vida (TTL) de los conjuntos de registros existentes.
- Los parámetros de inicio de autoridad (SOA), a excepción de
host
, siempre se toman del archivo de zona importado. De forma similar, para el conjunto de registros de servidor de nombres en el ápice de zona, el TTL siempre se toma del archivo de zona importado. - Un registro CNAME importado no reemplaza a un registro CNAME existente con el mismo nombre.
- Cuando surge un conflicto entre un registro CNAME y otro registro del mismo nombre pero de distinto tipo (sin importar cuál sea el existente y cuál el nuevo), se conserva el registro existente.
Información adicional sobre la importación
En las notas siguientes, se ofrecen detalles técnicos adicionales sobre el proceso de importación de zona.
- La directiva
$TTL
es opcional y se admite. Cuando no se indica ninguna directiva$TTL
, los registros sin TTL explícito se importan con un TTL predeterminado de 3600 segundos. Cuando dos registros del mismo conjunto de registros especifican diferentes TTL, se usa el valor más bajo. - La directiva
$ORIGIN
es opcional y se admite. Cuando no se establece ninguna directiva$ORIGIN
, el valor predeterminado que se usa es el nombre de la zona según lo especificado en la línea de comandos (terminado en "."). - No se admiten las directivas
$INCLUDE
ni$GENERATE
. - Se admiten los tipos de registro siguientes: A, AAAA, CAA, CNAME, MX, NS, SOA, SRV y TXT.
- DNS de Azure crea automáticamente el registro SOA cuando se crea una zona. Cuando se importa un archivo de zona, todos los parámetros SOA se toman del archivo de zona excepto el parámetro
host
. Este parámetro usa el valor proporcionado por DNS de Azure. Esto se debe a que este parámetro debe hacer referencia al servidor de nombres principal proporcionado por DNS de Azure. - DNS de Azure también crea automáticamente el conjunto de registros de servidor de nombres en el ápice de zona al crear la zona. Solo se importa el TTL de este conjunto de registros. Estos registros contienen los nombres de servidores de nombres proporcionados por DNS de Azure. No se sobrescriben los datos del registro con los valores contenidos en el archivo de zona importado.
- Azure DNS solo admite registros TXT de cadena única. Los registros TXT multicadena se concatenarán y se truncan tras 255 caracteres.
Valores y formato de la CLI
El formato del comando de CLI de Azure para importar una zona DNS es:
az network private-dns zone import -g <resource group> -n <zone name> -f <zone file name>
Valores:
<resource group>
es el nombre del grupo de recursos para la zona en DNS de Azure.<zone name>
es el nombre de la zona.<zone file name>
es la ruta de acceso y el nombre del archivo de zona que se va a importar.
Si no existe una zona con este nombre en el grupo de recursos, se crea automáticamente. Si la zona ya existe, los conjuntos de registros importados se combinan con conjuntos de registros existentes.
Importación de un archivo de zona
Para importar un archivo de zona para la zona contoso.com.
Si todavía no tiene uno, debe crear un grupo de recursos de Resource Manager.
az group create --resource-group myresourcegroup -l westeurope
Para importar la zona contoso.com del archivo contoso.com.txt a una nueva zona DNS en el grupo de recursos myresourcegroup, ejecutará el comando
az network private-dns zone import
.
Con este comando se carga el archivo de zona y se analiza. El comando ejecuta una serie de comandos en el servicio DNS de Azure para crear la zona y todos los conjuntos de registros de la zona. El comando notifica el progreso en la ventana de la consola, junto con los errores o las advertencias. Puesto que los conjuntos de registros se crean en serie, puede tardar unos minutos en importar un archivo de zona de gran tamaño.az network private-dns zone import -g myresourcegroup -n contoso.com -f contoso.com.txt
Comprobación de la zona
Para comprobar la zona DNS después de importar el archivo, puede utilizar cualquiera de los métodos siguientes:
Puede mostrar una lista de los registros mediante el siguiente comando de CLI de Azure:
az network private-dns record-set list -g myresourcegroup -z contoso.com
O puede utilizar
nslookup
para comprobar la resolución de nombres para los registros. Como la zona aún no está delegada, debe especificar explícitamente los servidores de nombres DNS de Azure correctos. En el ejemplo siguiente se muestra cómo recuperar los nombres de servidores de nombres asignados a la zona. También muestra cómo consultar el registro "www" mediantenslookup
.
Exportación de un archivo de zona DNS de DNS de Azure
El formato del comando de la CLI de Azure para exportar una zona DNS es:
az network private-dns zone export -g <resource group> -n <zone name> -f <zone file name>
Valores:
<resource group>
es el nombre del grupo de recursos para la zona en DNS de Azure.<zone name>
es el nombre de la zona.<zone file name>
es la ruta de acceso y el nombre del archivo de zona que se va a exportar.
Al igual que con la importación de zona, en primer lugar necesita iniciar sesión, elegir su suscripción y configurar la CLI de Azure para que use el modo de Resource Manager.
Para exportar un archivo de zona
Para exportar la zona DNS de Azure existente contoso.com en el grupo de recursos myresourcegroup al archivo contoso.com.txt (en la carpeta actual), ejecute azure network private-dns zone export
. Este comando llama al servicio Azure DNS para enumerar los conjuntos de registros de la zona y exportar los resultados a un archivo de zona compatible con BIND.
az network private-dns zone export -g myresourcegroup -n contoso.com -f contoso.com.txt
Pasos siguientes
- En esta guía se explica cómo administrar conjuntos de registros y registros en la zona DNS.