Inicio rápido: Creación de una zona DNS privada de Azure mediante Azure PowerShellQuickstart: Create an Azure private DNS zone using Azure PowerShell

Este artículo le guiará por los pasos necesarios para crear una zona y un registro DNS privados con Azure PowerShell.This article walks you through the steps to create your first private DNS zone and record using Azure PowerShell.

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.

Una zona DNS se usa para hospedar los registros DNS de un dominio concreto.A DNS zone is used to host the DNS records for a particular domain. Para iniciar el hospedaje de su dominio en DNS de Azure, debe crear una zona DNS para ese nombre de dominio.To start hosting your domain in Azure DNS, you need to create a DNS zone for that domain name. Cada registro DNS del dominio se crea luego en esta zona DNS.Each DNS record for your domain is then created inside this DNS zone. Para publicar una zona DNS privada en la red virtual, especifique la lista de redes virtuales que pueden resolver registros en ella.To publish a private DNS zone to your virtual network, you specify the list of virtual networks that are allowed to resolve records within the zone. Se denominan redes virtuales vinculadas.These are called linked virtual networks. Cuando se habilita el registro automático, Azure DNS también actualiza los registros de zona cuando se crea una máquina virtual, se cambia su dirección IP o se elimina.When autoregistration is enabled, Azure DNS also updates the zone records whenever a virtual machine is created, changes its' IP address, or is deleted.

En este artículo, aprenderá a:In this article, you learn how to:

  • Crear una zona DNS privadaCreate a private DNS zone
  • Creación de máquinas virtuales de pruebaCreate test virtual machines
  • Creación de un registro de DNS adicionalCreate an additional DNS record
  • Prueba de la zona privadaTest the private zone

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.

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.

Si lo prefiere, puede completar este inicio rápido mediante la CLI de Azure.If you prefer, you can complete this quickstart using Azure CLI.

Creación del grupo de recursosCreate the resource group

En primer lugar, cree un grupo de recursos que contenga la zona DNS:First, create a resource group to contain the DNS zone:

New-AzResourceGroup -name MyAzureResourceGroup -location "eastus"

Crear una zona DNS privadaCreate a private DNS zone

Una zona DNS se crea mediante el cmdlet New-AzPrivateDnsZone .A DNS zone is created by using the New-AzPrivateDnsZone cmdlet.

En el ejemplo siguiente se crea una red virtual denominada myAzureVNet.The following example creates a virtual network named myAzureVNet. Luego, se crea una zona DNS denominada private.contoso.com en el grupo de recursos MyAzureResourceGroup, se vincula esa zona DNS a la red virtual MyAzureVnet y se habilita el registro automático.Then it creates a DNS zone named private.contoso.com in the MyAzureResourceGroup resource group, links the DNS zone to the MyAzureVnet virtual network, and enables automatic registration.

Install-Module -Name Az.PrivateDns -force

$backendSubnet = New-AzVirtualNetworkSubnetConfig -Name backendSubnet -AddressPrefix "10.2.0.0/24"
$vnet = New-AzVirtualNetwork `
  -ResourceGroupName MyAzureResourceGroup `
  -Location eastus `
  -Name myAzureVNet `
  -AddressPrefix 10.2.0.0/16 `
  -Subnet $backendSubnet

$zone = New-AzPrivateDnsZone -Name private.contoso.com -ResourceGroupName MyAzureResourceGroup

$link = New-AzPrivateDnsVirtualNetworkLink -ZoneName private.contoso.com `
  -ResourceGroupName MyAzureResourceGroup -Name "mylink" `
  -VirtualNetworkId $vnet.id -EnableRegistration

Si quiere crear una zona únicamente para la resolución de nombres (sin registro de nombre de host automático), puede omitir el parámetro -EnableRegistration.If you want to create a zone just for name resolution (no automatic hostname registration), you can omit the -EnableRegistration parameter.

Listado de zonas privadas de DNSList DNS private zones

Si se omite el nombre de la zona de Get-AzPrivateDnsZone, puede enumerar todas las zonas en un grupo de recursos.By omitting the zone name from Get-AzPrivateDnsZone, you can enumerate all zones in a resource group. Esta operación devuelve una matriz de objetos de la zona.This operation returns an array of zone objects.

$zones = Get-AzPrivateDnsZone -ResourceGroupName MyAzureResourceGroup
$zones

Si se omite tanto el nombre de zona como el nombre del grupo de recursos de Get-AzPrivateDnsZone, puede enumerar todas las zonas de la suscripción de Azure.By omitting both the zone name and the resource group name from Get-AzPrivateDnsZone, you can enumerate all zones in the Azure subscription.

$zones = Get-AzPrivateDnsZone
$zones

Creación de las máquinas virtuales de pruebaCreate the test virtual machines

Ahora, cree dos máquinas virtuales para poder probar su zona DNS privada:Now, create two virtual machines so you can test your private DNS zone:

New-AzVm `
    -ResourceGroupName "myAzureResourceGroup" `
    -Name "myVM01" `
    -Location "East US" `
    -subnetname backendSubnet `
    -VirtualNetworkName "myAzureVnet" `
    -addressprefix 10.2.0.0/24 `
    -OpenPorts 3389

New-AzVm `
    -ResourceGroupName "myAzureResourceGroup" `
    -Name "myVM02" `
    -Location "East US" `
    -subnetname backendSubnet `
    -VirtualNetworkName "myAzureVnet" `
    -addressprefix 10.2.0.0/24 `
    -OpenPorts 3389

Esta operación tardará algunos minutos en completarse.This will take a few minutes to complete.

Creación de un registro de DNS adicionalCreate an additional DNS record

Los conjuntos de registros se crean mediante el cmdlet New-AzPrivateDnsRecordSet.You create record sets by using the New-AzPrivateDnsRecordSet cmdlet. En el ejemplo siguiente se crea un registro con el nombre relativo db en la zona DNS private.contoso.com del grupo de recursos MyAzureResourceGroup.The following example creates a record with the relative name db in the DNS Zone private.contoso.com, in resource group MyAzureResourceGroup. El nombre completo del conjunto de registros es db.private.contoso.com.The fully qualified name of the record set is db.private.contoso.com. El tipo de registro es "D", con la dirección IP 10.2.0.4 y el valor de TTL es de 3600 segundos.The record type is "A", with IP address "10.2.0.4", and the TTL is 3600 seconds.

New-AzPrivateDnsRecordSet -Name db -RecordType A -ZoneName private.contoso.com `
   -ResourceGroupName MyAzureResourceGroup -Ttl 3600 `
   -PrivateDnsRecords (New-AzPrivateDnsRecordConfig -IPv4Address "10.2.0.4")

Visualización de registros DNSView DNS records

Para enumerar los registros DNS de su zona, ejecute:To list the DNS records in your zone, run:

Get-AzPrivateDnsRecordSet -ZoneName private.contoso.com -ResourceGroupName MyAzureResourceGroup

Prueba de la zona privadaTest the private zone

Ya puede probar la resolución de nombres de la zona privada private.contoso.com.Now you can test the name resolution for your private.contoso.com private zone.

Configuración de máquinas virtuales para permitir ICMP de entradaConfigure VMs to allow inbound ICMP

Puede usar el comando ping para probar la resolución de nombres.You can use the ping command to test name resolution. Por tanto, configure el firewall en ambas máquinas virtuales para permitir paquetes ICMP entrantes.So, configure the firewall on both virtual machines to allow inbound ICMP packets.

  1. Conéctese a myVM01 y abra una ventana de Windows PowerShell con privilegios de administrador.Connect to myVM01, and open a Windows PowerShell window with administrator privileges.

  2. Ejecute el siguiente comando:Run the following command:

    New-NetFirewallRule –DisplayName “Allow ICMPv4-In” –Protocol ICMPv4
    

Repita la operación con myVM02.Repeat for myVM02.

Realización de ping en las máquinas virtuales por nombrePing the VMs by name

  1. En el símbolo del sistema de Windows PowerShell de myVM02, haga ping a myVM01 con el nombre de host registrado automáticamente:From the myVM02 Windows PowerShell command prompt, ping myVM01 using the automatically registered host name:

    ping myVM01.private.contoso.com
    

    La salida es similar a esta:You should see output that looks similar to this:

    PS C:\> ping myvm01.private.contoso.com
    
    Pinging myvm01.private.contoso.com [10.2.0.4] with 32 bytes of data:
    Reply from 10.2.0.4: bytes=32 time<1ms TTL=128
    Reply from 10.2.0.4: bytes=32 time=1ms TTL=128
    Reply from 10.2.0.4: bytes=32 time<1ms TTL=128
    Reply from 10.2.0.4: bytes=32 time<1ms TTL=128
    
    Ping statistics for 10.2.0.4:
        Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
    Approximate round trip times in milli-seconds:
        Minimum = 0ms, Maximum = 1ms, Average = 0ms
    PS C:\>
    
  2. Ahora haga ping en el nombre de la base de datos que creó anteriormente:Now ping the db name you created previously:

    ping db.private.contoso.com
    

    La salida es similar a esta:You should see output that looks similar to this:

    PS C:\> ping db.private.contoso.com
    
    Pinging db.private.contoso.com [10.2.0.4] with 32 bytes of data:
    Reply from 10.2.0.4: bytes=32 time<1ms TTL=128
    Reply from 10.2.0.4: bytes=32 time<1ms TTL=128
    Reply from 10.2.0.4: bytes=32 time<1ms TTL=128
    Reply from 10.2.0.4: bytes=32 time<1ms TTL=128
    
    Ping statistics for 10.2.0.4:
        Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
    Approximate round trip times in milliseconds:
        Minimum = 0ms, Maximum = 0ms, Average = 0ms
    PS C:\>
    

Eliminación de todos los recursosDelete all resources

Cuando no lo necesite, elimine el grupo de recursos MyAzureResourceGroup para eliminar los recursos que ha creado en este artículo.When no longer needed, delete the MyAzureResourceGroup resource group to delete the resources created in this article.

Remove-AzResourceGroup -Name MyAzureResourceGroup

Pasos siguientesNext steps