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
Usare l'ambiente Bash in Azure Cloud Shell. Per altre informazioni, vedere Avvio rapido su Bash in Azure Cloud Shell.
Se si preferisce eseguire i comandi di riferimento dell'interfaccia della riga di comando in locale, installare l'interfaccia della riga di comando di Azure. Per l'esecuzione in Windows o macOS, è consigliabile eseguire l'interfaccia della riga di comando di Azure in un contenitore Docker. Per altre informazioni, vedere Come eseguire l'interfaccia della riga di comando di Azure in un contenitore Docker.
Se si usa un'installazione locale, accedere all'interfaccia della riga di comando di Azure con il comando az login. Per completare il processo di autenticazione, seguire la procedura visualizzata nel terminale. Per altre opzioni di accesso, vedere Accedere tramite l'interfaccia della riga di comando di Azure.
Quando richiesto, al primo utilizzo installare l'estensione dell'interfaccia della riga di comando di Azure. Per altre informazioni sulle estensioni, vedere Usare le estensioni con l'interfaccia della riga di comando di Azure.
Eseguire az version per trovare la versione e le librerie dipendenti installate. Per eseguire l'aggiornamento alla versione più recente, eseguire az upgrade.
- È 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.
Connettersi a myVM01 e aprire una finestra di Windows PowerShell con privilegi di amministratore.
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
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:\>
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