Panoramica delle zone e dei record DNS

Questo articolo illustra i concetti chiave relativi a domini, zone DNS, record DNS e set di record. Si apprenderà come sono supportati in DNS di Azure.

Nomi di dominio

Domain Name System è una gerarchia di domini. La gerarchia inizia dal root dominio, il cui nome è semplicemente '.'. Di seguito sono elencati i domini di primo livello, ad esempio com, net, orguk o jp. Sotto i domini di primo livello sono domini di secondo livello, ad esempio org.uk o co.jp. I domini nella gerarchia DNS vengono distribuiti a livello globale, ospitati dai server dei nomi DNS in tutto il mondo.

Un registrar di nomi di dominio è un'organizzazione che consente di acquistare un nome di dominio, ad esempio contoso.com. L'acquisto di un nome di dominio consente di controllare la gerarchia DNS con tale nome, ad esempio consentendo di indirizzare il nome www.contoso.com al sito Web aziendale. Il registrar potrebbe ospitare il dominio nei propri server dei nomi per conto dell'utente o consentire di specificare server dei nomi alternativi.

DNS di Azure offre un'infrastruttura server dei nomi a disponibilità elevata e distribuita a livello globale che è possibile usare per ospitare il dominio. Ospitando i domini in DNS di Azure, è possibile gestire i record DNS usando gli stessi strumenti, credenziali, API, fatturazione e supporto degli altri servizi di Azure.

DNS di Azure attualmente non supporta l'acquisto di nomi di dominio. Per una tariffa annuale, è possibile acquistare un nome di dominio usando Domini del servizio app o un registrar di nomi di dominio di terze parti. I domini possono quindi essere ospitati in DNS di Azure per la gestione dei record. Per altre informazioni, vedere Delegare un dominio a DNS di Azure.

Zone DNS

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.

Il dominio "contoso.com", ad esempio, può contenere diversi record DNS, come "mail.contoso.com" (per un server di posta) e "www.contoso.com" (per un sito Web).

Creazione di una zona DNS in DNS di Azure:

  • Il nome della zona deve essere univoco all'interno del gruppo di risorse e la zona non deve esistere già, altrimenti l'operazione non riesce.
  • Lo stesso nome di zona può essere usato di nuovo in un gruppo di risorse diverso o in un'altra sottoscrizione di Azure.
  • Se più zone condividono lo stesso nome, a ogni istanza vengono assegnati indirizzi di server dei nomi diversi. È possibile configurare solo un set di indirizzi con il registrar.

Nota

Non è necessario essere proprietari di un dominio per creare una zona DNS con questo nome di dominio in DNS di Azure, ma è necessario essere proprietari del dominio per configurare i server dei nomi DNS di Azure come server dei nomi corretti per il nome di dominio con il registrar.

Per altre informazioni, vedere Delegare un dominio a DNS di Azure.

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 www del record relativo nella zona contoso.com assegna il nome www.contoso.comcompleto del record .

Un record vertice è un record DNS alla radice (o vertice) di una zona DNS. Ad esempio, nella zona contoso.comDNS , un record apex ha anche il nome contoso.com completo (a volte denominato dominio 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, CAA, 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.

Time-To-Live

Il tempo di durata o TTL specifica per quanto tempo ogni record viene memorizzato nella cache dai client prima di essere sottoposto a query. Nell'esempio precedente, il valore TTL è 3600 secondi o 1 ora.

In DNS di Azure, il valore TTL viene specificato per il set di record, non per ogni record, quindi lo stesso valore viene usato per tutti i record all'interno di tale set di record. È possibile specificare qualsiasi valore TTL compreso tra 1 e 2.147.483.647 secondi.

Record con caratteri jolly

DNS di Azure supporta record con caratteri jolly. I record con caratteri jolly vengono restituiti in risposta a qualsiasi query con un nome corrispondente, a meno che non esista una corrispondenza più vicina da un set di record non con caratteri jolly. DNS di Azure supporta set di record con caratteri jolly per tutti i tipi di record tranne NS e SOA.

Per creare un set di record con caratteri jolly, usare il nome del set di record '*'. È anche possibile usare un nome con '*' come etichetta più a sinistra, ad esempio '*.foo'.

Record CAA

Un record CAA consente ai proprietari di domini di specificare quali autorità di certificazione (CA) sono autorizzate a emettere certificati per i loro domini. Questo record consente alle autorità di certificazione di evitare certificati rilasciati in modo non consentito in alcune circostanze. I record CAA hanno tre proprietà:

  • Flag: questo campo è un numero intero compreso tra 0 e 255, usato per rappresentare il flag critico con un significato speciale per RFC6844
  • Tag: stringa ASCII che può essere una delle seguenti:
    • problema: se si desidera specificare ca autorizzate a rilasciare certificati (tutti i tipi)
    • issuewild: se si desidera specificare ca autorizzate a rilasciare certificati (solo certificati con caratteri jolly)
    • iodef: specificare un indirizzo di posta elettronica o nome host a cui le CA possono inviare notifiche per le richieste di emissione di certificati non autorizzate
  • Valore: il valore del tag specifico scelto

Record CNAME

I set di record CNAME non possono coesistere con altri set di record con lo stesso nome. Ad esempio, non è possibile creare un set di record CNAME con il nome www relativo e un record A con il nome www relativo contemporaneamente.

Poiché il vertice della zona (nome = '@') conterrà sempre i set di record NS e SOA durante la creazione della zona, non è possibile creare un set di record CNAME al vertice della zona.

Questi vincoli sono causati dagli standard DNS e non sono limitazioni di DNS di Azure.

Record NS

Il set di record NS al vertice della zona (nome '@') viene creato automaticamente con ogni zona DNS e viene eliminato automaticamente quando la zona viene eliminata. Non può essere eliminato separatamente.

Questo set contiene i nomi dei server dei nomi DNS di Azure assegnati alla zona. È possibile aggiungere più server dei nomi a questo set di record NS per supportare i domini di cohosting con più provider DNS. È anche possibile modificare il valore TTL e i metadati per questo set di record. Tuttavia, la rimozione o la modifica dei server dei nomi DNS di Azure prepopolati non è consentita.

Questa restrizione 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 creati, modificati ed eliminati senza vincoli.

Record SOA

Un set di record SOA viene creato automaticamente al vertice di ogni zona (nome = '@') e viene eliminato automaticamente quando la zona viene eliminata. I record SOA non possono essere creati o eliminati separatamente.

È possibile modificare tutte le proprietà del record SOA, ad eccezione della host proprietà . Questa proprietà viene preconfigurata per fare riferimento al nome del server dei nomi primario fornito da DNS di Azure.

Il numero di serie della zona nel record SOA non viene aggiornato automaticamente quando vengono apportate modifiche ai record nella zona. Può essere aggiornato manualmente modificando il record SOA, se necessario.

Nota

DNS di Azure attualmente non supporta l'uso di un punto (.) prima della voce "@" nella voce della cassetta postale hostmaster SOA. Ad esempio: john.smith@contoso.xyz (convertito in john.smith.contoso.xyz) e john\.smith@contoso.xyz non sono consentiti.

Record SPF

I record Sender Policy Framework (SPF) vengono usati per specificare i server di posta elettronica che possono inviare messaggi per conto di un nome di dominio. La configurazione corretta dei record SPF è importante per impedire ai destinatari di contrassegnare i messaggi di posta elettronica come posta indesiderata.

I documenti RFC di DNS in origine hanno introdotto un nuovo tipo di record SPF per supportare questo scenario. Per supportare server dei nomi meno recenti, hanno anche consentito l'uso del tipo di record TXT per specificare record SPF. Questa ambiguità ha prodotto una certa confusione, che è stata risolta dal documento RFC 7208. Il documento dichiara che i record SPF devono essere creati con il tipo di record TXT. Stabilisce inoltre che il tipo di record SPF è deprecato.

I record SPF sono supportati da DNS di Azure e devono essere creati con il tipo di record TXT. Il tipo di record SPF obsoleto non è supportato. Quando si importa un file di zona DNS, qualsiasi record SPF che usa il tipo di record SPF viene convertito in tipo di record TXT.

Record SRV

I record SRV vengono usati da svariati servizi per specificare i percorsi dei server. Quando si specifica un record SRV in DNS di Azure:

  • Il servizio e il protocollo devono essere specificati come parte del nome del set di record, preceduti da caratteri di sottolineatura, ad esempio "_sip._tcp.name". Per un record al vertice della zona, non è necessario specificare '@' nel nome del record, usare semplicemente il servizio e il protocollo, ad esempio '_sip._tcp'.
  • La priorità, il peso, la porta e la destinazione vengono specificati come parametri di ogni record nel set di record.

Record TXT

I record TXT vengono usati per eseguire il mapping di nomi di dominio a stringhe di testo arbitrarie. Vengono usate in più applicazioni, in particolare correlate alla configurazione della posta elettronica, ad esempio Sender Policy Framework (SPF) e DomainKeys Identified Mail (DKIM).

Gli standard DNS consentono a un singolo record TXT di contenere più stringhe, ognuna delle quali può contenere fino a 255 caratteri. Se vengono usate più stringhe, vengono concatenate dai client e considerate come una singola stringa.

Quando si chiama l'API REST del servizio DNS di Azure, è necessario specificare ogni stringa TXT separatamente. Quando si usano le interfacce portale di Azure, PowerShell o dell'interfaccia della riga di comando, è necessario specificare una singola stringa per ogni record. Questa stringa viene divisa automaticamente in segmenti di 255 caratteri, se necessario.

Le più stringhe in un record DNS non devono essere confuse con i più record TXT in un set di record TXT. Un set di record TXT può contenere più record, ognuno dei quali può contenere più stringhe. DNS di Azure supporta una lunghezza totale di stringa fino a 4096 caratteri* in ogni set di record TXT (in tutti i record combinati).

* Il supporto di 4096 caratteri è attualmente disponibile solo nel cloud pubblico di Azure. I cloud nazionali sono limitati a 1024 caratteri fino al completamento dell'implementazione del supporto di 4k.

Tag e metadati

Tag

I tag sono un elenco di coppie nome-valore usate da Azure Resource Manager per etichettare le risorse. Azure Resource Manager usa i tag per abilitare le visualizzazioni filtrate della fattura di Azure e consente anche di impostare criteri per determinati tag. Per altre informazioni sui tag, vedere Uso dei tag per organizzare le risorse di Azure.

DNS di Azure supporta l'uso di tag di Azure Resource Manager in risorse di zona DNS. Non supporta i tag nei set di record DNS, anche se in alternativa, i metadati sono supportati nei set di record DNS, come illustrato di seguito.

Metadati UFX

In alternativa ai tag del set di record, DNS di Azure supporta l'annotazione dei set di record usando i metadati. Analogamente ai tag, i metadati permettono di associare coppie nome-valore a ogni set di record. Questa funzionalità può essere utile, ad esempio per registrare lo scopo di ogni set di record. A differenza dei tag, i metadati non possono essere usati per fornire una visualizzazione filtrata della fattura di Azure e non possono essere specificati in un criterio di Azure Resource Manager.

ETag

Si supponga che due persone o due processi provino a modificare un record DNS nello stesso momento. Quale prevale? E il vincitore sa che hanno sovrascritto le modifiche create da qualcun altro?

DNS di Azure usa gli Etag per gestire in modo sicuro le modifiche simultanee alla stessa risorsa. Gli ETag sono separati dai "tag" di Azure Resource Manager. Ogni risorsa DNS (zona o set di record) ah un Etag associato. Quando viene recuperata una risorsa, viene recuperato anche il relativo valore Etag. Quando si aggiorna una risorsa, è possibile scegliere di passare di nuovo l'Etag in modo che DNS di Azure possa verificare le corrispondenze Etag nel server. Dal momento che ogni aggiornamento di una risorsa comporta la rigenerazione dell'Etag, una mancata corrispondenza del valore Etag indica che si è verificata una modifica simultanea. Gli Etag possono essere usati anche durante la creazione di una nuova risorsa per assicurarsi che la risorsa non esista già.

Per impostazione predefinita, PowerShell in DNS di Azure usa gli Etag per bloccare le modifiche simultanee a zone e a set di record. L'opzione facoltativa -Overwrite può essere usata per disattivare i controlli di ETag e in questo caso le eventuali modifiche simultanee vengono sovrascritte.

A livello dell'API REST di DNS di Azure, gli ETag vengono specificati usando le intestazioni HTTP. Il relativo comportamento è illustrato nella tabella seguente:

Intestazione Comportamento
None PUT riesce sempre (nessun controllo di Etag)
Etag if-match <> PUT riesce solo se la risorsa esiste e l'Etag corrisponde
If-match * PUT riesce solo se la risorsa esiste
If-none-match * PUT ha esito positivo solo se la risorsa non esiste

Limiti

Quando si usa DNS di Azure, si applicano i limiti predefiniti seguenti:

Zone DNS pubblico

Risorsa Limite
Zone DNS pubbliche per sottoscrizione 250 1
Set di record per ogni zona DNS pubblico 10.000 1
Record per ogni set di record nella zona DNS pubblico 20
Numero di record alias per singola risorsa di Azure 20

1 Se è necessario aumentare questi limiti, contattare il supporto di Azure.

Passaggi successivi