Tutorial: Creación de registros DNS en un dominio personalizado para una aplicación webTutorial: Create DNS records in a custom domain for a web app

Puede configurar Azure DNS para hospedar un dominio personalizado para aplicaciones web.You can configure Azure DNS to host a custom domain for your web apps. 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).For example, you can create an Azure web app and have your users access it using either www.contoso.com or contoso.com as a fully qualified domain name (FQDN).

Nota

Contoso.com se utiliza como ejemplo en todo este tutorial.Contoso.com is used as an example throughout this tutorial. Sustituya su propio nombre de dominio por contoso.com.Substitute your own domain name for contoso.com.

Para ello, deberá crear tres registros:To do this, you have to create three records:

  • Un registro raíz "A" que apunta a contoso.comA root "A" record pointing to contoso.com
  • Un registro raíz "TXT" para la comprobaciónA root "TXT" record for verification
  • Un registro "CNAME" para el nombre www que apunta al registro AA "CNAME" record for the www name that points to the A record

Tenga en cuenta que si crea un registro A para una aplicación web en Azure, este debe actualizarse manualmente si la dirección IP subyacente de la aplicación web cambia.Keep in mind that if you create an A record for a web app in Azure, the A record must be manually updated if the underlying IP address for the web app changes.

En este tutorial, aprenderá a:In this tutorial, you learn how to:

  • Creación de un registro D y TXT para el dominio personalizadoCreate an A and TXT record for your custom domain
  • Creación de un registro CNAME para el dominio personalizadoCreate a CNAME record for your custom domain
  • Prueba de los nuevos registrosTest the new records
  • Adición de nombres de host personalizado a la aplicación webAdd custom host names you your web app
  • Prueba de nombres de host personalizadosTest the custom host names

Si no tiene una suscripción a Azure, cree una cuenta gratuita antes de empezar.If you don’t have an Azure subscription, create a free account before you begin.

Uso de Azure Cloud ShellUse Azure Cloud Shell

En Azure se hospeda Azure Cloud Shell, un entorno de shell interactivo que puede utilizar mediante el explorador.Azure hosts Azure Cloud Shell, an interactive shell environment that you can use through your browser. Cloud Shell le permite usar bash o PowerShell para trabajar con servicios de Azure.Cloud Shell lets you use either bash or PowerShell to work with Azure services. 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.You can use the Cloud Shell pre-installed commands to run the code in this article without having to install anything on your local environment.

Para iniciar Azure Cloud Shell:To launch Azure Cloud Shell:

OpciónOption Ejemplo o vínculoExample/Link
Seleccione Probarlo en la esquina superior derecha de un bloque de código.Select Try It in the upper-right corner of a code block. Solo con seleccionar Probar no se copia automáticamente el código en Cloud Shell.Selecting Try It doesn't automatically copy the code to Cloud Shell. Ejemplo de Probarlo 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.Go to https://shell.azure.com or select the Launch Cloud Shell button to open Cloud Shell in your browser. Iniciar Cloud Shell en una nueva ventanaLaunch Cloud Shell in a new window
Seleccione el botón Cloud Shell en la barra de menús de la esquina superior derecha de Azure Portal.Select the Cloud Shell button on the top-right menu bar in the Azure portal. Botón Cloud Shell en Azure Portal

Para ejecutar el código de este artículo en Azure Cloud Shell:To run the code in this article in Azure Cloud Shell:

  1. Inicie Cloud Shell.Launch Cloud Shell.

  2. Seleccione el botón Copiar de un bloque de código para copiar el código.Select the Copy button on a code block to copy the code.

  3. Pegue el código en la sesión de Cloud Shell con Ctrl+Mayús+V en Windows y Linux, o Cmd+Mayús+V en macOS.Paste the code into the Cloud Shell session with Ctrl+Shift+V on Windows and Linux, or Cmd+Shift+V on macOS.

  4. Presione ENTRAR para ejecutar el código.Press Enter to run the code.

Requisitos previosPrerequisites

Nota

Este artículo se ha actualizado para usar el nuevo módulo Az de Azure PowerShell.This article has been updated to use the new Azure PowerShell Az module. Aún puede usar el módulo de AzureRM que continuará recibiendo correcciones de errores hasta diciembre de 2020 como mínimo.You can still use the AzureRM module, which will continue to receive bug fixes until at least December 2020. Para más información acerca del nuevo módulo Az y la compatibilidad con AzureRM, consulte Introducing the new Azure PowerShell Az module (Presentación del nuevo módulo Az de Azure PowerShell).To learn more about the new Az module and AzureRM compatibility, see Introducing the new Azure PowerShell Az module. Para obtener instrucciones sobre la instalación del módulo Az, consulte Instalación de Azure PowerShell.For Az module installation instructions, see Install Azure PowerShell.

  • Tiene que tener un nombre de dominio disponible que pueda hospedar en Azure DNS para realizar las pruebas.You must have a domain name available to test with that you can host in Azure DNS . Debe tener control total de este dominio.You must have full control of this domain. El control total incluye la capacidad de establecer los registros de nombre de servidor (NS) para el dominio.Full control includes the ability to set the name server (NS) records for the domain.

  • Cree una aplicación de App Service o use alguna aplicación que haya creado para otro tutorial.Create an App Service app, or use an app that you created for another tutorial.

  • Antes de comenzar, debe crear una zona DNS en Azure DNS y delegar la zona del registrador a Azure DNS.Create a DNS zone in Azure DNS, and delegate the zone in your registrar to Azure DNS.

    1. Para crear una zona DNS, siga los pasos descritos en Introducción a DNS de Azure.To create a DNS zone, follow the steps in Create a DNS zone.
    2. Para delegar su zona a Azure DNS, siga los pasos descritos en Delegación de un dominio en Azure DNS.To delegate your zone to Azure DNS, follow the steps in DNS domain delegation.

Después de crear una zona y delegarla a DNS de Azure, podrá crear registros para el dominio personalizado.After creating a zone and delegating it to Azure DNS, you can then create records for your custom domain.

Creación de un registro D y de un registro TXTCreate an A record and TXT record

Un registro A se usa para asignar un nombre a su dirección IP.An A record is used to map a name to its IP address. En el ejemplo siguiente, asigne "@" como un registro A mediante la dirección IPv4 de la aplicación web.In the following example, assign "@" as an A record using your web app IPv4 address. @ normalmente representa el dominio raíz.@ typically represents the root domain.

Obtención de la dirección IPv4Get the IPv4 address

En el panel de navegación izquierdo de la página App Services en Azure Portal, seleccione Dominios personalizados.In the left navigation of the App Services page in the Azure portal, select Custom domains.

Menú Dominio personalizado

En la página Dominios personalizados, copie la dirección IPv4 de la aplicación:In the Custom domains page, copy the app's IPv4 address:

Navegación en el portal a la aplicación de Azure

Crear el registro ACreate the A record

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

Crear el registro TXTCreate the TXT record

App Services usa este registro solo durante la configuración para comprobar que se posee el dominio personalizado.App Services uses this record only at configuration time to verify that you own the custom domain. Puede eliminar este registro TXT después de validar el dominio personalizado y de configurarlo en App Service.You can delete this TXT record after your custom domain is validated and configured in 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.If you want to verify the domain name, but not route production traffic to the web app, you only need to specify the TXT record for the verification step. La comprobación de no requiere un registro A o CNAME además el registro TXT.Verification does not require an A or CNAME record in addition to the TXT record.

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

Crear un registro CNAMECreate the CNAME record

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.If your domain is already managed by Azure DNS (see DNS domain delegation, you can use the following example to create a CNAME record for contoso.azurewebsites.net.

Abra Azure PowerShell y cree un nuevo registro CNAME.Open Azure PowerShell and create a new CNAME record. En este ejemplo se crea un conjunto de registros de tipo CNAME con 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.This example creates a record set type CNAME with a "time to live" of 600 seconds in DNS zone named "contoso.com" with the alias for the web app contoso.azurewebsites.net.

Creación del registroCreate the record

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:The following example is the response:

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

Prueba de los nuevos registrosTest the new records

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:You can validate the records were created correctly by querying the "www.contoso.com" and "contoso.com" using nslookup, as shown below:

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 personalizadosAdd custom host names

Ahora puede agregar los nombres de host personalizados a la aplicación web:Now you can add the custom host names to your web app:

set-AzWebApp `
 -Name contoso `
 -ResourceGroupName MyAzureResourceGroup `
 -HostNames @("contoso.com","www.contoso.com","contoso.azurewebsites.net")

Prueba de nombres de host personalizadosTest the custom host names

Abra un explorador y vaya a http://www.<your domainname> y http://<you domain name>.Open a browser and browse to http://www.<your domainname> and 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.Make sure you include the http:// prefix, otherwise your browser may attempt to predict a URL for you!

Debería ver la misma página para ambas direcciones URL.You should see the same page for both URLs. Por ejemplo:For example:

Servicio de aplicación de Contoso

Limpieza de recursosClean up resources

Cuando ya no necesite los recursos creados en este tutorial, puede eliminar el grupo de recursos myresourcegroup.When you no longer need the resources created in this tutorial, you can delete the myresourcegroup resource group.

Pasos siguientesNext steps

Aprenda a crear las zonas privadas de Azure DNS.Learn how to create Azure DNS private zones.