Administración de conjuntos de registros y registros de DNS en Azure DNS mediante la CLI de Azure

En este artículo se muestra cómo administrar registros DNS para su zona DNS mediante la CLI de Azure entre plataformas. La CLI de Azure está disponible para Windows, Mac y Linux. También puede administrar sus registros de DNS mediante Azure PowerShell o Azure Portal.

En los ejemplos de este artículo se supone que ya ha instalado la CLI de Azure, iniciado sesión y creado una zona DNS.

Introducción

Antes de crear registros DNS en Azure DNS, es necesario que comprenda cómo Azure DNS los organiza en conjuntos de registros DNS.

Nombres de registro

En DNS de Azure, los registros se especifican mediante el uso de nombres relativos. En un nombre de dominio completo (FQDN) se incluye el nombre de zona, mientras que uno relativo, no. Por ejemplo, el nombre de registro relativo www en la zona contoso.com proporciona el nombre de registro completo www.contoso.com.

Un registro de vértice es un registro DNS en la raíz (o vértice) de una zona DNS. Por ejemplo, en la zona DNS contoso.com, un registro de vértice también tiene el nombre completo contoso.com (que a veces se denomina dominio simple). Por convención, el nombre relativo \'\@\' se utiliza para representar registros de vértice.

Tipos de registro

Cada registro DNS tiene un nombre y un tipo. Los registros se organizan en distintos tipos según los datos que contengan. El tipo más común es un registro "A", que asigna un nombre a una dirección IPv4. Otro tipo común es un registro "MX", que asigna un nombre a un servidor de correo.

Azure DNS es compatible con todos los tipos de registro DNS comunes: A, AAAA, CAA, CNAME, MX, NS, PTR, SOA, SRV y TXT. Tenga en cuenta que los registros de SPF se representan mediante registros TXT.

Conjuntos de registros

En ocasiones, tendrá que crear más de un registro DNS con un nombre y un tipo concretos. Por ejemplo, supongamos que el sitio web 'www.contoso.com' se hospeda en dos direcciones IP diferentes. En este caso, se requieren dos registros A distintos, uno para cada dirección IP. Este es un ejemplo de un conjunto de registros:

www.contoso.com.        3600    IN    A    134.170.185.46
www.contoso.com.        3600    IN    A    134.170.188.221

Azure DNS administra todos los registros DNS con conjuntos de registros. Un conjunto de registros (también denominado conjunto de registros de recurso) es la colección de registros DNS de una zona con el mismo nombre y del mismo tipo. La mayoría de conjuntos de registros contienen un único registro. Sin embargo, es habitual encontrar ejemplos como el anterior, en el que un conjunto de registros contiene más de un registro.

Por ejemplo, supongamos que ya ha creado un registro "www" en la zona "contoso.com", que apunta a la dirección IP "134.170.185.46" (el primer registro anterior). Para crear el segundo registro se agregaría ese registro al conjunto de registros existente, en lugar de crear otro conjunto de registros.

Los tipos de registros SOA y CNAME se consideran excepciones. Los estándares DNS no permiten varios registros con el mismo nombre para estos tipos, por lo tanto, los conjuntos de estos registros solo pueden contener un único registro.

Para más información sobre los registros DNS en Azure DNS, consulte DNS zones and records (Zonas y registros DNS).

Creación de un registro DNS

Para crear un registro DNS, use el comando az network dns record-set <record-type> add-record (donde <record-type> es el tipo de registro, es decir, a, srv, txt, etc.). Consulte az network dns record-set --help para ayuda.

Al crear un registro, tiene que especificar la siguiente información:

  • Definición de un nombre de grupo de recursos
  • Nombre de zona
  • Nombre del conjunto de registros
  • Tipo de registro

El nombre del conjunto de registros especificado debe ser un nombre relativo; es decir, debe excluir el nombre de zona. Si el conjunto de registros aún no existe, este comando lo creará automáticamente. Sin embargo, este comando agregará el registro que especifique si el conjunto de registros ya existe.

Si se crea un conjunto de registros, se utiliza el valor predeterminado del período de vida (3600). Para obtener instrucciones sobre cómo usar diferentes TTL, consulte Creación de un conjunto de registros de DNS.

En el ejemplo siguiente se crea un registro A denominado www en la zona contoso.com del grupo de recursos MyResourceGroup. La dirección IP del registro A es 1.2.3.4.

az network dns record-set a add-record --resource-group myresourcegroup --zone-name contoso.com --record-set-name www --ipv4-address 1.2.3.4

Para crear un conjunto de registros en el vértice de la zona (en este caso, "contoso.com"), utilice el nombre de registro \"\@\", incluidas las comillas:

az network dns record-set a add-record --resource-group myresourcegroup --zone-name contoso.com --record-set-name "@" --ipv4-address 1.2.3.4

Creación de un conjunto de registros de DNS

En los ejemplos anteriores, bien se agregó el registro de DNS en un conjunto de registros existente, bien se creó el conjunto de registros implícitamente. También puede crear el conjunto de registros explícitamente antes de agregarle registros. La DNS de Azure admite conjuntos de registros "vacíos" que pueden funcionar como marcador de posición para reservar un nombre DNS antes de crear registros de DNS. Los conjuntos de registros vacíos son visibles en el panel de control de Azure DNS, pero no aparecen en los servidores de nombres de Azure DNS.

Los conjuntos de registros se crean con el comando az network dns record-set <record-type> create. Para obtener ayuda, consulte az network dns record-set <record-type> create --help.

Al crear el conjunto de registros explícitamente, podrá especificar las propiedades de este, como el período de vida (TTL) y los metadatos. Se pueden usar metadatos del conjunto de registros para asociar datos específicos de la aplicación con cada conjunto de registros como pares clave-valor.

En el ejemplo siguiente se crea un conjunto de registros vacío de tipo "A" con un TTL de 60 segundos mediante el parámetro --ttl (forma abreviada -l):

az network dns record-set a create --resource-group myresourcegroup --zone-name contoso.com --name www --ttl 60

En el siguiente ejemplo, se crea un conjunto de registros con dos entradas de metadatos, "dept=finance" y "environment=production", mediante el parámetro --metadata:

az network dns record-set a create --resource-group myresourcegroup --zone-name contoso.com --name www --metadata "dept=finance" "environment=production"

Tras haber creado un conjunto de registros vacío, se podrán añadir el registro mediante azure network dns record-set <record-type> add-record, como se describe en Creación de un registro de DNS.

Creación de registros de otros tipos

Después de haber visto de forma detallada cómo crear registros "A", en los siguientes ejemplos se muestra cómo crear registros de otros tipos compatibles con DNS de Azure.

Los parámetros utilizados para especificar los datos del registro varían según el tipo del registro. Por ejemplo, para un registro de tipo "A", especifique la dirección IPv4 con el parámetro --ipv4-address <IPv4 address>. Es posible obtener una lista de los parámetros de cada tipo de registro con az network dns record-set <record-type> add-record --help.

En cada caso, se muestra cómo crear un único registro. Se agrega el registro al conjunto de registros existente o a uno creado de forma implícita. Para obtener más información sobre cómo crear conjuntos de registros y definir explícitamente los parámetros de un conjunto de registros, consulte Creación de un conjunto de registros de DNS.

No hay ningún ejemplo para crear un conjunto de registros SOA, ya que los SOA se crean y eliminan con cada zona DNS. Los registros SOA no pueden crearse ni eliminarse por separado. Sin embargo, el registro SOA se puede modificar, como se muestra en un ejemplo más adelante.

Creación de un registro AAAA

az network dns record-set aaaa add-record --resource-group myresourcegroup --zone-name contoso.com --record-set-name test-aaaa --ipv6-address 2607:f8b0:4009:1803::1005

Creación de un registro CAA

az network dns record-set caa add-record --resource-group myresourcegroup --zone-name contoso.com --record-set-name test-caa --flags 0 --tag "issue" --value "ca1.contoso.com"

Creación de un registro CNAME

Nota:

Los estándares DNS no permiten registros CNAME en el vértice de una zona (--Name "@"), ni permiten conjuntos de registros que contengan más de un registro.

Para más información, consulte Registros CNAME.

az network dns record-set cname set-record --resource-group myresourcegroup --zone-name contoso.com --record-set-name test-cname --cname www.contoso.com

Creación de un registro MX

En este ejemplo, se utiliza el nombre de conjunto de registros "\@\" para crear el registro MX en el vértice de la zona (en este caso, "contoso.com").

az network dns record-set mx add-record --resource-group myresourcegroup --zone-name contoso.com --record-set-name "@" --exchange mail.contoso.com --preference 5

Creación de un registro NS

az network dns record-set ns add-record --resource-group myresourcegroup --zone-name contoso.com --record-set-name test-ns --nsdname ns1.contoso.com

Creación de un registro PTR

En este caso "my-arpa-zone.com" representa la zona ARPA que representa el intervalo IP. Cada registro PTR establecido en esta zona se corresponde con una dirección IP dentro de este intervalo IP. El nombre de registro "10" es el último octeto de la dirección IP dentro del intervalo IP que representa dicho registro.

az network dns record-set ptr add-record --resource-group myresourcegroup --zone-name contoso.com --record-set-name my-arpa.zone.com --ptrdname myservice.contoso.com

Creación de un registro SRV

Al crear un conjunto de registros SRV, especifique el _servicio y el _protocolo en el nombre del conjunto de registros. No hay necesidad de incluir "@" en el nombre del conjunto de registros al crear un conjunto de registros SRV en el vértice de la zona.

az network dns record-set srv add-record --resource-group myresourcegroup --zone-name contoso.com --record-set-name _sip._tls --priority 10 --weight 5 --port 8080 --target sip.contoso.com

Creación de un registro TXT

En el ejemplo siguiente se muestra cómo crear un registro TXT. Para más información sobre la longitud de cadena máxima admitida en registros TXT, consulte Registros TXT.

az network dns record-set txt add-record --resource-group myresourcegroup --zone-name contoso.com --record-set-name test-txt --value "This is a TXT record"

Recuperación de un conjunto de registros

Para recuperar un conjunto de registros existente, use az network dns record-set <record-type> show. Para obtener ayuda, consulte az network dns record-set <record-type> show --help.

Al crear un registro o conjunto de registros, el nombre del conjunto de registros especificado debe ser un nombre relativo. Este nombre no incluye el nombre de zona. También debe especificar el tipo de registro, la zona que contiene el conjunto de registros y el grupo de recursos que contiene la zona.

En el ejemplo siguiente se recupera el registro www de tipo A de la zona contoso.com, que se encuentra en el grupo de recursos MyResourceGroup:

az network dns record-set a show --resource-group myresourcegroup --zone-name contoso.com --name www

Enumeración de conjuntos de registros

Puede mostrar todos los registros de una zona DNS con el comando az network dns record-set list . Para obtener ayuda, consulte az network dns record-set list --help.

En este ejemplo, se devuelve todos los conjuntos de registros de la zona contoso.com, que se encuentra en el grupo de recursos MyResourceGroup:

az network dns record-set list --resource-group myresourcegroup --zone-name contoso.com

En este ejemplo, se devuelven todos los conjuntos de registros que coinciden con el tipo de registro especificado (en este caso, los registros "A"):

az network dns record-set a list --resource-group myresourcegroup --zone-name contoso.com 

Adición de un registro a un conjunto de registros existente

Puede usar az network dns record-set <record-type> add-record tanto para crear un registro en un nuevo conjunto de registros como para agregar un registro a un conjunto de registros existente.

Para obtener más información, consulte las secciones Creación de un registro de DNS y Creación de registros de otros tipos.

Quite un registro de un conjunto de registros existente.

Para quitar un registro de DNS de un conjunto de registros existente, use az network dns record-set <record-type> remove-record. Para obtener ayuda, consulte az network dns record-set <record-type> remove-record -h.

Este comando elimina un registro de DNS de un conjunto de registros. Si se elimina el último registro de un conjunto de registros, el conjunto de registros propiamente dicho también se elimina. Si, por el contrario, desea mantener el registro vacío, use la opción --keep-empty-record-set.

Al usar el comando az network dns record-set <record-type> add-record, debe especificar el registro que se va a eliminar y la zona de la que se va a eliminar. Estos parámetros se describen en las secciones Creación de un registro de DNS y Creación de registros de otros tipos.

En el ejemplo siguiente se elimina el registro A con el valor "1.2.3.4" del conjunto de registros con el nombre www de la zona contoso.com, que se encuentra en el grupo de recursos MyResourceGroup.

az network dns record-set a remove-record --resource-group myresourcegroup --zone-name contoso.com --record-set-name "www" --ipv4-address 1.2.3.4

Modificación de un conjunto de registros existente

Cada conjunto de registros contiene un time-to-live (TTL), metadatosy los registros de DNS. En las siguientes secciones se explican cómo modificar cada una de estas propiedades.

Modificación de un registro A, AAAA, CAA, MX, NS, PTR, SRV o TXT

Para modificar un registro existente de tipo A, AAAA, CAA, MX, NS, PTR, SRV o TXT, debe agregar primero un nuevo registro y, después, eliminar el existente. Para obtener instrucciones detalladas sobre cómo eliminar y agregar registros, consulte las secciones anteriores de este artículo.

En el ejemplo siguiente se muestra cómo modificar un registro "A", de la dirección IP 1.2.3.4 a la 5.6.7.8:

az network dns record-set a add-record --resource-group myresourcegroup --zone-name contoso.com --record-set-name www --ipv4-address 5.6.7.8
az network dns record-set a remove-record --resource-group myresourcegroup --zone-name contoso.com --record-set-name www --ipv4-address 1.2.3.4

No puede agregar, quitar ni modificar los registros del conjunto de registros NS creado automáticamente en el vértice de zona (--Name "@", comillas incluidas). En el caso de este conjunto de registros, los únicos cambios permitidos son modificar el TTL del conjunto de registros y los metadatos.

Para modificar un registro CNAME

A diferencia de la mayoría de otros tipos de registros, un conjunto de registros CNAME solo puede contener un único registro. Por eso no puede reemplazar el valor actual agregando un nuevo registro y quitando el existente, como en otros tipos de registros.

En su lugar, para modificar un registro CNAME, use az network dns record-set cname set-record. Para obtener ayuda, consulte az network dns record-set cname set-record --help.

En el ejemplo se modifica el conjunto de registros CNAME www de la zona contoso.com, que se encuentra en el grupo de recursos MyResourceGroup, para que apunte a "www.fabrikam.net" en lugar de a su valor existente:

az network dns record-set cname set-record --resource-group myresourcegroup --zone-name contoso.com --record-set-name test-cname --cname www.fabrikam.net

Para modificar un registro SOA

A diferencia de la mayoría de otros tipos de registros, un conjunto de registros SOA solo puede contener un único registro. Por eso no puede reemplazar el valor actual agregando un nuevo registro y quitando el existente, como en otros tipos de registros.

En su lugar, para modificar el registro SOA, use az network dns record-set soa update. Para obtener ayuda, consulte az network dns record-set soa update --help.

En el ejemplo siguiente se muestra cómo establecer la propiedad "email" del registro SOA de la zona contoso.com:

az network dns record-set soa update --resource-group myresourcegroup --zone-name contoso.com --email admin.contoso.com

Para modificar los registros NS en el vértice de zona

El conjunto de registros NS en el vértice de zona se crea automáticamente con cada zona DNS. Este conjunto de registros contiene los nombres de los servidores de nombres de Azure DNS asignados a la zona.

Puede agregar más servidores de nombres a este conjunto de registros NS, para admitir dominios de hospedaje conjunto con más de un proveedor DNS. También puede modificar el TTL y los metadatos de este conjunto de registros. Sin embargo, no puede quitar ni modificar los servidores de nombres de Azure DNS rellenados previamente.

Esta restricción se aplica solo al conjunto de registros NS en el vértice de zona. Otros conjuntos de registros NS de su zona (como los que se usan para delegar zonas secundarias) se pueden modificar sin restricciones.

En el ejemplo siguiente se muestra cómo agregar otro servidor de nombres al conjunto de registros NS en el vértice de zona:

az network dns record-set ns add-record --resource-group myresourcegroup --zone-name contoso.com --record-set-name "@" --nsdname ns1.myotherdnsprovider.com 

Para modificar el TTL de un conjunto de registros existente

Para modificar el TTL de un conjunto de registros existente, utilice azure network dns record-set <record-type> update. Para obtener ayuda, consulte azure network dns record-set <record-type> update --help.

En el ejemplo siguiente se muestra cómo modificar el TTL de un conjunto de registros, en este caso a 60 segundos:

az network dns record-set a update --resource-group myresourcegroup --zone-name contoso.com --name www --set ttl=60

Para modificar los metadatos de un conjunto de registros existente

Se pueden usar metadatos del conjunto de registros para asociar datos específicos de la aplicación con cada conjunto de registros como pares clave-valor. Para modificar los metadatos de un conjunto de registros existente, utilice az network dns record-set <record-type> update. Para obtener ayuda, consulte az network dns record-set <record-type> update --help.

En el ejemplo siguiente se muestra cómo crear un conjunto de registros con dos entradas de metadatos: "dept=finance" y "environment=production". Los metadatos existentes se sustituyen por los valores especificados.

az network dns record-set a update --resource-group myresourcegroup --zone-name contoso.com --name www --set metadata.dept=finance metadata.environment=production

Eliminación de un conjunto de registros

Los conjuntos de registros pueden eliminarse mediante el comando az network dns record-set <record-type> delete. Para obtener ayuda, consulte azure network dns record-set <record-type> delete --help. Al eliminar un conjunto de registros también se eliminan todos los registros que contiene.

Nota:

No se pueden eliminar los conjuntos de registros SOA y NS en el vértice de zona (--name "@"). Se crean automáticamente cuando se crea la zona y se eliminan automáticamente cuando se elimina.

En el ejemplo siguiente se elimina el conjunto de registros con el nombre www de tipo A de la zona contoso.com, la cual se encuentra en el grupo de recursos MyResourceGroup:

az network dns record-set a delete --resource-group myresourcegroup --zone-name contoso.com --name www

Se le pide que confirme la operación de eliminación. Para suprimir este mensaje, use el modificador --yes.

Pasos siguientes

Más información sobre zonas y registros en Azure DNS.
Aprenda a proteger las zonas y los registros cuando se usa Azure DNS.