Tutorial: Creación de registros DNS en un dominio personalizado para una aplicación web

Puede configurar Azure DNS para hospedar un dominio personalizado para aplicaciones web. Por ejemplo, puede crear una aplicación web de Azure y hacer que los usuarios accedan a ella mediante www.contoso.com o contoso.com como un nombre de dominio completo (FQDN).

Para ello, deberá crear tres registros:

  • Un registro raíz "A" que apunta a contoso.com
  • Un registro raíz "TXT" para la comprobación
  • Un registro "CNAME" para el nombre www que apunta al registro A

En este tutorial, aprenderá a:

  • Creación de un registro D y TXT para el dominio personalizado
  • Creación de un registro CNAME para el dominio personalizado
  • Prueba de los nuevos registros
  • Adición de nombres de host personalizados a la aplicación web
  • Prueba de nombres de host personalizados

Si no tiene una suscripción a Azure, cree una cuenta gratuita antes de empezar.

Prerrequisitos

  • Una cuenta de Azure con una suscripción activa.

  • Un nombre de dominio que pueda hospedar en Azure DNS. Debe tener control total de este dominio. El control total incluye la capacidad de establecer los registros de nombre de servidor (NS) para el dominio.

  • Una aplicación web. Si no tiene una, puede crear una aplicación web HTML estática para este tutorial.

  • Una zona Azure DNS con delegación en el registrador en Azure DNS. Si no tiene una zona Azure DNS, puede crear una zona DNS y delegar el dominio en Azure DNS.

Nota

En este tutorial, contoso.com se usa como nombre de dominio de ejemplo. Reemplace contoso.com por su propio nombre de dominio.

Azure Cloud Shell

En Azure se hospeda Azure Cloud Shell, un entorno de shell interactivo que puede utilizar mediante el explorador. Puede usar Bash o PowerShell con Cloud Shell para trabajar con los servicios de Azure. Puede usar los comandos preinstalados de Cloud Shell para ejecutar el código de este artículo sin tener que instalar nada en su entorno local.

Para iniciar Azure Cloud Shell:

Opción Ejemplo o vínculo
Seleccione Pruébelo en la esquina superior derecha de un bloque de código o de comandos. Solo con seleccionar Pruébelo no se copia automáticamente el código o comando en Cloud Shell. Captura de pantalla que muestra un ejemplo de la opción Pruébelo para Azure Cloud Shell.
Vaya a https://shell.azure.com o seleccione el botón Iniciar Cloud Shell para abrir Cloud Shell en el explorador. Botón para iniciar Azure Cloud Shell.
Seleccione el botón Cloud Shell en la barra de menús de la esquina superior derecha de Azure Portal. Captura de pantalla que muestra el botón de Cloud Shell en Azure Portal

Para usar Azure Cloud Shell:

  1. Inicie Cloud Shell.

  2. Seleccione el botón Copiar en un bloque de código (o bloque de comandos) para copiar el código o comando.

  3. Pegue el código o comando en la sesión de Cloud Shell. Para ello, seleccione Ctrl+Mayús+V en Windows y Linux, o bien seleccione Cmd+Mayús+V en macOS.

  4. Seleccione Enter para ejecutar el código o comando.

Nota

Se recomienda usar el módulo Azure Az de PowerShell para interactuar con Azure. Para comenzar, consulte Instalación de Azure PowerShell. Para más información sobre cómo migrar al módulo Az de PowerShell, consulte Migración de Azure PowerShell de AzureRM a Az.

Inicio de sesión en Azure

Inicie sesión en Azure Portal.

Crear el registro D

Un registro A se usa para asignar un nombre a su dirección IP. En el ejemplo siguiente, asigne "@" como un registro D mediante la dirección IPv4 de la aplicación web. @ normalmente representa el dominio raíz.

Obtención de la dirección IPv4

En el panel de navegación izquierdo de la página App Services de Azure Portal, seleccione Dominios personalizados y copie la dirección IP de la aplicación web:

Captura de pantalla de la página de dominios personalizados de Azure App Service que muestra de dirección IP de la aplicación web.

Creación del registro

Para crear el registro A, use:

New-AzDnsRecordSet -Name "@" -RecordType "A" -ZoneName "contoso.com" `
 -ResourceGroupName "MyAzureResourceGroup" -Ttl 600 `
 -DnsRecords (New-AzDnsRecordConfig -IPv4Address "<ip of web app service>")

Importante

El registro A debe actualizarse manualmente si cambia la dirección IP subyacente para la aplicación web.

Crear el registro TXT

App Services usa este registro solo durante la configuración para comprobar que se posee el dominio personalizado. Puede eliminar este registro TXT después de validar el dominio personalizado y de configurarlo en App Service.

Nota:

Si desea comprobar el nombre de dominio, pero sin enrutar el tráfico de producción a la aplicación web, solo tendrá que especificar el registro TXT para el paso de comprobación. La comprobación de no requiere un registro A o CNAME además el registro TXT.

Para crear el registro TXT, use:

New-AzDnsRecordSet -ZoneName contoso.com -ResourceGroupName MyAzureResourceGroup `
 -Name "@" -RecordType "txt" -Ttl 600 `
 -DnsRecords (New-AzDnsRecordConfig -Value  "contoso.azurewebsites.net")

Crear un registro CNAME

Si el dominio ya lo administra Azure DNS (consulte Delegación de dominios DNS), puede utilizar el ejemplo siguiente para crear un registro CNAME para contoso.azurewebsites.net. El CNAME creado en este ejemplo tiene un "período de vida" de 600 segundos en la zona DNS denominada "contoso.com" con el alias de la aplicación web contoso.azurewebsites.net.

New-AzDnsRecordSet -ZoneName contoso.com -ResourceGroupName "MyAzureResourceGroup" `
 -Name "www" -RecordType "CNAME" -Ttl 600 `
 -DnsRecords (New-AzDnsRecordConfig -cname "contoso.azurewebsites.net")

El ejemplo siguiente es la respuesta:

    Name              : www
    ZoneName          : contoso.com
    ResourceGroupName : myazureresourcegroup
    Ttl               : 600
    Etag              : 8baceeb9-4c2c-4608-a22c-229923ee185
    RecordType        : CNAME
    Records           : {contoso.azurewebsites.net}
    Tags              : {}

Prueba de los nuevos registros

Para asegurarse de que los registros se hayan creado correctamente, consulte "www.contoso.com" y "contoso.com" con nslookup, como se muestra a continuación:

PS C:\> nslookup
Default Server:  Default
Address:  192.168.0.1

> www.contoso.com
Server:  default server
Address:  192.168.0.1

Non-authoritative answer:
Name:    <instance of web app service>.cloudapp.net
Address:  <ip of web app service>
Aliases:  www.contoso.com
contoso.azurewebsites.net
<instance of web app service>.vip.azurewebsites.windows.net

> contoso.com
Server:  default server
Address:  192.168.0.1

Non-authoritative answer:
Name:    contoso.com
Address:  <ip of web app service>

> set type=txt
> contoso.com

Server:  default server
Address:  192.168.0.1

Non-authoritative answer:
contoso.com text =

        "contoso.azurewebsites.net"

Adición de nombres de host personalizados

Ahora puede agregar los nombres de host personalizados a la aplicación web:

set-AzWebApp `
 -Name contoso `
 -ResourceGroupName <your web app resource group> `
 -HostNames @("contoso.com","www.contoso.com","contoso.azurewebsites.net")

Prueba de nombres de host personalizados

Abra un explorador y vaya a http://www.<your domain name> y http://<you domain name>.

Nota:

Asegúrese de incluir el prefijo http://; en caso contrario, el explorador puede intentar predecir por su cuenta una dirección URL.

Debería ver la misma página para ambas direcciones URL. Por ejemplo:

Captura de pantalla de la aplicación web de Azure App Service de Contoso a la que se accede mediante el explorador web.

Limpieza de recursos

Cuando ya no los necesite, puede eliminar todos los recursos creados en este tutorial mediante la eliminación del grupo de recursos MyAzureResourceGroup:

  1. En el menú de Azure Portal, seleccione Grupos de recursos.
  2. Seleccione el grupo de recursos MyAzureResourceGroup.
  3. En la página Información general, elija Eliminar grupo de recursos.
  4. Escriba MyAzureResourceGroup y seleccione Eliminar.

Pasos siguientes

En este tutorial, ha aprendido a crear registros DNS en un dominio personalizado para una aplicación web. Para obtener información sobre cómo crear registros de alias para hacer referencia a registros de zona, continúe con el siguiente tutorial: