Avvio rapido: Creare una zona DNS privato di Azure con l'interfaccia della riga di comando di Azure

Questo avvio rapido descrive i passaggi necessari per creare la prima zona DNS privato e il primo record DNS con l'interfaccia della riga di comando di Azure.

Una zona DNS viene usata per ospitare i record DNS per un dominio specifico. Per iniziare a ospitare il dominio in DNS di Azure, è necessario creare una zona DNS per il nome di dominio. Ogni record DNS per il dominio viene quindi creato all'interno di questa zona DNS. Per pubblicare una zona DNS privata nella rete virtuale, è necessario specificare l'elenco di reti virtuali che possono risolvere i record all'interno della zona. Tali reti vengono definite reti virtuali collegate. Se è abilitata la registrazione automatica, DNS di Azure aggiorna anche i record di zona ogni volta che una macchina virtuale viene creata o eliminata o quando cambia il relativo indirizzo IP.

Se non si ha una sottoscrizione di Azure, creare un account Azure gratuito prima di iniziare.

Prerequisiti

  • È possibile completare questa guida di avvio rapido anche usando Azure PowerShell.

Creare il gruppo di risorse

Innanzitutto, creare un gruppo di risorse per contenere la zona DNS:

az group create --name MyAzureResourceGroup --location "East US"

Creare una zona DNS privato

L'esempio seguente crea una rete virtuale denominata myAzureVNet. Viene quindi creata una zona DNS denominata private.contoso.com nel gruppo di risorse MyAzureResourceGroup. Dopo il collegamento della zona DNS alla rete virtuale MyAzureVnet viene abilitata la registrazione automatica.

az network vnet create \
  --name myAzureVNet \
  --resource-group MyAzureResourceGroup \
  --location eastus \
  --address-prefix 10.2.0.0/16 \
  --subnet-name backendSubnet \
  --subnet-prefixes 10.2.0.0/24

az network private-dns zone create -g MyAzureResourceGroup \
   -n private.contoso.com

az network private-dns link vnet create -g MyAzureResourceGroup -n MyDNSLink \
   -z private.contoso.com -v myAzureVNet -e true

Se si vuole creare una zona solo per la risoluzione dei nomi (senza la creazione automatica dei nomi host), è possibile usare il parametro -e false.

Elencare le zone DNS private

Per enumerare le zone DNS, usare az network private-dns zone list. Per altre informazioni, vedere az network dns zone list --help.

Se si specifica il gruppo di risorse, vengono elencate solo le zone all'interno del gruppo di risorse:

az network private-dns zone list \
  -g MyAzureResourceGroup

Se invece il gruppo di risorse viene omesso, sono elencate tutte le zone nella sottoscrizione:

az network private-dns zone list 

Creare le macchine virtuali di test

A questo punto, creare due macchine virtuali in modo da testare la zona DNS privata:

az vm create \
 -n myVM01 \
 --admin-username AzureAdmin \
 -g MyAzureResourceGroup \
 -l eastus \
 --subnet backendSubnet \
 --vnet-name myAzureVnet \
 --nsg NSG01 \
 --nsg-rule RDP \
 --image win2016datacenter
az vm create \
 -n myVM02 \
 --admin-username AzureAdmin \
 -g MyAzureResourceGroup \
 -l eastus \
 --subnet backendSubnet \
 --vnet-name myAzureVnet \
 --nsg NSG01 \
 --nsg-rule RDP \
 --image win2016datacenter

La creazione della macchina virtuale richiederà alcuni minuti.

Creare un record DNS aggiuntivo

Per creare un record DNS, usare il comando az network private-dns record-set [record type] add-record. Per informazioni, ad esempio per l'aggiunta di record A, vedere az network private-dns record-set A add-record --help.

L'esempio seguente crea un record con il nome relativo db nella zona DNS private.contoso.com nel gruppo di risorse MyAzureResourceGroup. Il nome completo del set di record è db.private.contoso.com. Il tipo di record è "A", con indirizzo IP "10.2.0.4".

az network private-dns record-set a add-record \
  -g MyAzureResourceGroup \
  -z private.contoso.com \
  -n db \
  -a 10.2.0.4

Visualizzare i record DNS

Per elencare i record DNS nella zona, eseguire:

az network private-dns record-set list \
  -g MyAzureResourceGroup \
  -z private.contoso.com

Testare la zona privata

A questo punto è possibile testare la risoluzione dei nomi per la zona privata private.contoso.com.

Configurare le macchine virtuali per consentire il traffico ICMP in entrata

È possibile usare il comando ping per testare la risoluzione dei nomi. Configurare quindi il firewall in entrambe le macchine virtuali per consentire i pacchetti ICMP in ingresso.

  1. Connettersi a myVM01 e aprire una finestra di Windows PowerShell con privilegi di amministratore.

  2. Esegui questo comando:

    New-NetFirewallRule –DisplayName "Allow ICMPv4-In" –Protocol ICMPv4
    

Ripetere l'operazione per myVM02.

Effettuare il ping delle macchine virtuali in base al nome

  1. Dal prompt dei comandi di Windows PowerShell in myVM02, effettuare il ping di myVM01 usando il nome host registrato automaticamente:

    ping myVM01.private.contoso.com
    

    Verrà visualizzato un output simile al seguente:

    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. Ora effettuare il ping del nome db creato in precedenza:

    ping db.private.contoso.com
    

    Verrà visualizzato un output simile al seguente:

    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 milli-seconds:
        Minimum = 0ms, Maximum = 0ms, Average = 0ms
    PS C:\>
    

Pulire le risorse

Quando non è più necessario, eliminare il gruppo di risorse MyAzureResourceGroup per eliminare le risorse create in questo avvio rapido.

az group delete --name MyAzureResourceGroup

Passaggi successivi