Gestire record DNS in DNS di Azure con l'interfaccia della riga di comando 1.0

Questo articolo descrive come gestire i record DNS per la zona DNS usando l'interfaccia della riga di comando multipiattaforma di Azure, disponibile per Windows, Mac e Linux. È anche possibile gestire i record DNS con Azure PowerShell o il portale di Azure.

Versioni dell'interfaccia della riga di comando per completare l'attività

È possibile completare l'attività usando una delle versioni seguenti dell'interfaccia della riga di comando:

Gli esempi contenuti in questo articolo presuppongono che l'utente abbia installato l'interfaccia della riga di comando di Azure 1.0, eseguito l'accesso e creato una zona DNS.

Introduzione

Prima di creare record DNS nel servizio DNS di Azure, è necessario comprendere il modo in cui quest'ultimo organizza i record DNS nei set di record DNS.

Nomi dei record

Nel servizio DNS di Azure i record vengono specificati usando nomi relativi. Un nome di dominio completo (FQDN) include il nome della zona, mentre un nome relativo no. Ad esempio, il nome di record relativo "www" nella zona "contoso.com" genera il nome di record completo "www.contoso.com".

Un record vertice è un record DNS alla radice (o vertice) di una zona DNS. Ad esempio, nella zona DNS "contoso.com", anche un record vertice ha il nome completo "contoso.com", chiamato a volte dominio di tipo naked. Per convenzione, per rappresentare record vertice viene usato il nome relativo '@'.

Tipi di record

Ogni record DNS ha un nome e un tipo. I record sono organizzati in tipi diversi in base ai dati che contengono. Il tipo più comune è il record "A", che esegue il mapping di un nome a un indirizzo IPv4. Un altro tipo comune è il record "MX", che esegue il mapping di un nome a un server di posta.

DNS di Azure supporta tutti i tipi di record DNS comuni: A, AAAA, CNAME, MX, NS, PTR, SOA, SRV e TXT. Si noti che i record SPF vengono rappresentati usando record TXT.

Set di record

In alcuni casi è necessario creare più record DNS con un determinato nome e tipo. Si supponga, ad esempio, che il sito Web "www.contoso.com" sia ospitato in due diversi indirizzi IP. Questo sito Web richiede due diversi record A, uno per ogni indirizzo IP. Ecco un esempio di un set di record:

www.contoso.com.        3600    IN    A    134.170.185.46
www.contoso.com.        3600    IN    A    134.170.188.221

DNS di Azure gestisce tutti i record DNS usando set di record. Un set di record, chiamato anche set di record di risorse è la raccolta di record DNS che hanno lo stesso nome e sono dello stesso tipo in una zona. La maggior parte dei set di record contiene un singolo record. Non sono tuttavia rari esempi come quello precedente, in cui un set di record contiene più di un record.

Si supponga, ad esempio, di aver già creato un record "www" nella zona "contoso.com", che punta all'indirizzo IP "134.170.185.46" (primo record sopra). Per creare il secondo record, è necessario aggiungere il record al set di record esistente invece di creare un altro set di record.

I tipi di record SOA e CNAME sono eccezioni. Gli standard DNS non permettono più record con lo stesso nome per questi tipi, quindi questi set di record possono contenere un solo record.

Per altre informazioni sui record DNS nel servizio DNS di Azure, vedere Zone e record DNS.

Creare un record DNS

Per creare un record DNS, usare il comando azure network dns record-set add-record. Per altre informazioni, vedere azure network dns record-set add-record -h.

Quando si crea un record è necessario specificare il nome del gruppo di risorse, della zona e del set di record, il tipo di record e i dettagli del record da creare. Il nome assegnato al set di record deve essere un nome relativo, ovvero deve escludere il nome della zona.

Il comando crea il set di record, se non esiste già. In caso contrario, il comando aggiunge il record specificato al set di record esistente.

Se viene creato un nuovo set di record, per la durata (TTL) viene usato un valore predefinito di 3600. Per istruzioni su come usare TTL diversi, vedere Creare un set di record DNS.

L'esempio seguente mostra come creare un record "A" denominato www nella zona contoso.com nel gruppo di risorse MyResourceGroup. L'indirizzo IP del record "A" è 1.2.3.4.

azure network dns record-set add-record MyResourceGroup contoso.com www A -a 1.2.3.4

Per creare un record nel dominio radice, in questo caso "contoso.com", usare il nome record "@", incluse le virgolette:

azure network dns record-set add-record MyResourceGroup contoso.com "@" A -a 1.2.3.4

Creare un set di record DNS

Negli esempi precedenti, il record DNS è stato aggiunto a un set di record esistente oppure il set di record è stato creato in modo implicito. È anche possibile creare il set di record in modo esplicito prima di aggiungere i record. Il servizio DNS di Azure supporta set di record vuoti, che possono fungere da segnaposto per riservare un nome DNS prima della creazione di record DNS. I set di record vuoti sono visibili nel piano di controllo del servizio DNS di Azure, ma non vengono visualizzati nei server dei nomi del servizio DNS di Azure.

I set di record vengono creati usando il comando azure network dns record-set create. Per altre informazioni, vedere azure network dns record-set create -h.

La creazione esplicita del set di record consente di specificare proprietà per il set come Durata (TTL) e metadati. È possibile usare i metadati del set di record per associare dati specifici dell'applicazione a ogni set di record, sotto forma di coppie chiave-valore.

L'esempio seguente crea un set di record vuoto impostato con un TTL di 60 secondi, usando il parametro --ttl (forma breve -l):

azure network dns record-set create MyResourceGroup contoso.com www A --ttl 60

L'esempio seguente crea un set di record con due voci di metadati, "dept=finance" e "environment=production", usando il parametro --metadata (forma breve -m):

azure network dns record-set create MyResourceGroup contoso.com www A --metadata "dept=finance;environment=production"

Dopo aver creato un set di record vuoto, è possibile aggiungervi i record usando azure network dns record-set add-record come descritto in Creare un record DNS.

Creare record di altri tipi

Dopo aver visto in dettaglio come creare record di tipo A, gli esempi seguenti illustrano come creare record di altri tipi supportati dal servizio DNS di Azure.

I parametri usati per specificare i dati del record variano a seconda del tipo di record. Per un record di tipo "A", ad esempio, specificare l'indirizzo IPv4 con il parametro -a <IPv4 address>. I parametri per ogni tipo di record possono essere elencati usando azure network dns record-set add-record -h.

In ogni caso viene illustrato come creare un record singolo. Il record viene aggiunto al set di record esistente oppure viene creato un set di record in modo implicito. Per ulteriori informazioni sulla creazione di set di record e sulla definizione esplicita dei parametri di un set di record, vedere Creare un set di record DNS.

Non vengono forniti esempi per la creazione di set di record SOA, dato che vengono creati ed eliminati con ogni zona DNS e non è possibile crearli o eliminarli separatamente. Tuttavia, è possibile modificare i record SOA, come illustrato in uno degli esempi successivi.

Creare un record AAAA

azure network dns record-set add-record MyResourceGroup contoso.com test-aaaa AAAA --ipv6-address 2607:f8b0:4009:1803::1005

Creare un record CNAME

Nota

Gli standard DNS non accettano record CNAME nel dominio radice di una zona (-Name "@") né set di record contenenti più di un record.

Per altre informazioni, vedereRecord CNAME.

azure network dns record-set add-record  MyResourceGroup contoso.com  test-cname CNAME --cname www.contoso.com

Creare un record MX

In questo esempio viene usato il nome del set di record "@" per creare il record MX al vertice della zona, in questo caso "contoso.com".

azure network dns record-set add-record MyResourceGroup contoso.com  "@" MX --exchange mail.contoso.com --preference 5

Creare un record NS

azure network dns record-set add-record MyResourceGroup  contoso.com  test-ns NS --nsdname ns1.contoso.com

Creare un record PTR

In questo caso "my-arpa-zone.com" è la zona ARPA che rappresenta l'intervallo IP dell'utente. Ogni record PTR impostato in questa zona corrisponde a un indirizzo IP che rientra nell'intervallo IP. Il nome del record "10" è l'ultimo ottetto dell'indirizzo IP all'interno di questo intervallo di indirizzi rappresentato dal record.

azure network dns record-set add-record MyResourceGroup my-arpa-zone.com "10" PTR --ptrdname "myservice.contoso.com"

Creare un record SRV

Quando si crea un set di record SRV, specificare il _servizio e il _protocollo nel nome del set di record. Non è necessario includere "@" nel nome del set di record durante la creazione di un set di record SRV nel dominio radice della zona.

azure network dns record-set add-record MyResourceGroup contoso.com  "_sip._tls" SRV --priority 10 --weight 5 --port 8080 --target "sip.contoso.com"

Creare un record TXT

L'esempio seguente mostra come creare un record TXT. Per altre informazioni sulla lunghezza massima delle stringhe supportata nei record TXT, vedere Record TXT.

azure network dns record-set add-record MyResourceGroup contoso.com test-txt TXT --text "This is a TXT record"

Ottenere un set di record

Per recuperare un set di record esistente, usare azure network dns record-set show. Per altre informazioni, vedere azure network dns record-set show -h.

Come per la creazione di un record o di un set di record, il nome assegnato al set di record deve essere un nome relativo, ovvero deve escludere il nome della zona. È anche necessario specificare il tipo di record, la zona contenente il set di record e il gruppo di risorse contenente la zona.

L'esempio seguente recupera il record "A" denominato www nella zona contoso.com nel gruppo di risorse MyResourceGroup:

azure network dns record-set show MyResourceGroup contoso.com www A

Elencare i set di record

È possibile elencare tutti i record in una zona DNS usando il comando azure network dns record-set list . Per altre informazioni, vedere azure network dns record-set list -h.

Questo esempio restituisce tutti i set di record nella zona contoso.com nel gruppo di risorse MyResourceGroup, a prescindere dal nome o dal tipo di record:

azure network dns record-set list MyResourceGroup contoso.com

Questo esempio restituisce tutti i set di record corrispondenti al tipo di record specificato, in questo caso, i record "A":

azure network dns record-set list MyResourceGroup contoso.com --type A

Aggiungere un record a un set di record esistente

È possibile usare azure network dns record-set add-record sia per creare un record in un nuovo set di record che per aggiungere un record a un set di record esistente.

Per ulteriori informazioni, vedere Creare un record DNS e Creare record di altri tipi sopra.

Rimuovere un record da un set di record esistente.

Per rimuovere un record DNS da un set di record esistente, usare azure network dns record-set delete-record. Per altre informazioni, vedere azure network dns record-set delete-record -h.

Questo comando elimina un record DNS da un set di record. Se viene eliminato l'ultimo record in un set di record, non viene eliminato anche il set stesso. Si avrà invece un set di record vuoto. Per eliminare il set di record, vedere Eliminare un set di record.

È necessario specificare il record da eliminare e la zona da cui eliminarlo usando gli stessi parametri di quando si crea un record tramite azure network dns record-set add-record. I parametri vengono descritti in Creare un record DNS e Creare record di altri tipi sopra.

Questo comando richiede una conferma. Questo messaggio può essere soppresso mediante lo switch --quiet (forma breve -q).

L'esempio seguente elimina il record "A" con valore "1.2.3.4" dal set di record denominato www nella zona contoso.com nel gruppo di risorse MyResourceGroup. La richiesta di conferma viene soppressa.

azure network dns record-set delete-record MyResourceGroup contoso.com www A -a 1.2.3.4 --quiet

Modificare un set di record esistente

Ogni set di record contiene un time-to-live (TTL), metadati e record DNS. Nelle sezioni seguenti viene illustrato come modificare ognuna di queste proprietà.

Per modificare un record A, AAAA, MX, NS, PTR, SRV o TXT

Per modificare un record esistente di tipo A, AAAA, MX, NS, PTR, SRV o TXT è necessario innanzitutto aggiungere un nuovo record e quindi eliminare il record esistente. Per istruzioni dettagliate su come eliminare e aggiungere record, vedere le sezioni precedenti di questo articolo.

Nell'esempio seguente viene illustrato come modificare un record "A", dall'indirizzo IP 1.2.3.4 all'indirizzo IP 5.6.7.8:

azure network dns record-set add-record MyResourceGroup contoso.com www A -a 5.6.7.8
azure network dns record-set delete-record MyResourceGroup contoso.com www A -a 1.2.3.4

Per modificare un record CNAME

Per modificare un record CNAME, usare azure network dns record-set add-record per aggiungere il nuovo valore di record. A differenza di altri tipi di record, un set di record CNAME può contenere solo un singolo record. Pertanto, il record esistente viene sostituito quando si aggiunge il nuovo record e non deve essere eliminato separatamente. Verrà richiesto di accettare la sostituzione.

Nell'esempio viene modificato il set di record CNAME www nella zona contoso.com nel gruppo di risorse MyResourceGroup, in modo che punti a "www.fabrikam.net" invece che al valore esistente:

azure network dns record-set add-record MyResourceGroup contoso.com www CNAME --cname www.fabrikam.net

Per modificare un record SOA

Usare azure network dns record-set set-soa-record per modificare la SOA per una zona DNS specificata. Per altre informazioni, vedere azure network dns record-set set-soa-record -h.

Nell'esempio seguente viene illustrato come impostare la proprietà "email" del record SOA della zona contoso.com nel gruppo di risorse MyResourceGroup:

azure network dns record-set set-soa-record rg1 contoso.com --email admin.contoso.com

Per modificare i record NS al vertice della zona

Il set di record NS al vertice della zona viene creato automaticamente con ogni zona DNS. Contiene i nomi dei server dei nomi DNS di Azure assegnati alla zona.

È possibile aggiungere ulteriori server dei nomi a questo set di record NS per supportare domini coesistenti con più provider DNS. È anche possibile modificare il valore TTL e i metadati per questo set di record. Tuttavia, non è possibile rimuovere o modificare i server dei nomi DNS di Azure già popolati.

Notare che questo si applica solo al set di record NS al vertice della zona. Gli altri set di record NS nella zona (usati per delegare le zone figlio) possono essere modificati senza vincoli.

L'esempio seguente mostra come aggiungere un ulteriore server dei nomi al set di record NS al vertice della zona:

azure network dns record-set add-record MyResourceGroup contoso.com "@" --nsdname ns1.myotherdnsprovider.com 

Per modificare il valore TTL di un set di record esistente

Per modificare il valore TTL di un set di record esistente, usare azure network dns record-set set. Per altre informazioni, vedere azure network dns record-set set -h.

Nell'esempio seguente viene illustrato come modificare il valore TTL di un set di record, impostandolo in questo caso su 60 secondi:

azure network dns record-set set MyResourceGroup contoso.com www A --ttl 60

Per modificare i metadati di un set di record esistente

È possibile usare i metadati del set di record per associare dati specifici dell'applicazione a ogni set di record, sotto forma di coppie chiave-valore. Per modificare i metadati di un set di record esistente, usare azure network dns record-set set. Per altre informazioni, vedere azure network dns record-set set -h.

L'esempio seguente mostra come modificare un set di record con due voci di metadati, "dept=finance" e "environment=production", usando il parametro --metadata (forma breve -m). Si noti che i metadati esistenti vengono sostituiti dai valori assegnati.

azure network dns record-set set MyResourceGroup contoso.com www A --metadata "dept=finance;environment=production"

Eliminare un set di record

È possibile eliminare i set di record usando il commando azure network dns record-set delete . Per altre informazioni, vedere azure network dns record-set delete -h. Eliminando un set di record vengono eliminati anche tutti i record in esso contenuti.

Nota

Non è possibile eliminare i set di record SOA e NS dal dominio radice della zona (-Name "@"). Tali set di record vengono creati automaticamente durante la creazione della zona e vengono eliminati automaticamente quando la zona viene eliminata.

L'esempio seguente elimina il set di record "A" denominato www dalla zona contoso.com nel gruppo di risorse MyResourceGroup:

azure network dns record-set delete MyResourceGroup contoso.com www A

Viene chiesto di confermare l'operazione di eliminazione. Per eliminare la richiesta, usare lo switch --quiet (forma breve -q).

Passaggi successivi

Altre informazioni su zone e record nel servizio DNS di Azure.
Informazioni su come proteggere zone e record quando si usa il servizio DNS di Azure.