La scelta del servizio DNS su cui ospitare i nostri domini è una tra le più importanti, attorno ad essi gravitano la maggior parte delle applicazioni usate quotidianamente da noi e dai nostri utenti. Recentemente Azure DNS è stato arricchito con una nuova integrazione, i Traffic Manager Linked Records.
Il punto di partenza: come funzionano i record alias in Azure DNS
Chi utilizza Azure per ospitare sia le proprie zone DNS che altri servizi esposti su Internet (Static Web App, Public IP Address, ma non solo), gode già da molto tempo di un’integrazione di base, quella dei record alias. Essi consentono di associare i nostri record direttamente alle risorse Azure, senza indicarne manualmente il valore. Oltre ad ottimizzare inserimento e visualizzazione, rendendo più veloce capire quale record corrisponde a quale risorsa Azure, essi aggiornano automaticamente il valore quando necessario e, se dovessimo eliminare la risorsa, ne rimuoverebbero il riferimento dal record set, evitando così puntamenti verso destinazioni non più sotto il nostro controllo.


È importante precisare che i record alias non limitano la compatibilità con i client DNS, le risposte saranno interpretabili normalmente in quanto, dietro le quinte, i tipi di record rimarranno A, AAAA oppure CNAME.
Record alias di un Traffic Manager
Tra le risorse che è possibile associare ad un record alias sono presenti anche i Traffic Manager. Essi possono essere referenziati con dei record CNAME oppure A / AAAA.
Utilizzo del tipo di record CNAME
Viene associato il dominio nella nostra zona DNS con quello del Traffic Manager.

In questa condizione, il record DNS restituisce il valore “mvpdavide.trafficmanager.net”, e ciò obbliga il client DNS ad effettuare almeno un’ulteriore query DNS per ottenere l’indirizzo IP.

Così facendo limitiamo l’autenticazione del DNSSEC al record CNAME, infatti il client proseguendo nella risoluzione di “mvpdavide.trafficmanager.net” non potrà verificare l’autenticità della risposta.

Utilizzo del tipo di record A / AAAA
Configurando, come Endpoint del Traffic Manager, degli Indirizzi IP, potremo creare il record alias di tipo A oppure AAAA. In questo caso la risposta sarebbe autenticabile con DNSSEC e conterrebbe direttamente l’IP, senza necessità di ulteriori risoluzioni DNS.


Traffic Manager Linked Records: il passo avanti per i record CNAME
Quando Azure DNS riceve una query per un Traffic Manager Linked Record di tipo CNAME non risponde con il dominio del Traffic Manager, ma gli richiede internamente l’FQDN dell’Endpoint a cui deve essere indirizzata la richiesta, inoltrandolo poi al client come valore CNAME.
Questo porta diversi vantaggi, ma i principali sono:
- Non viene esposto il dominio trafficmanager.net: il client effettuerà una query in meno e, sul firewall, non sarà necessario consentire la risoluzione di tale dominio;
- Possibilità di mantenere l’autenticazione DNSSEC end-to-end: senza il dominio intermedio trafficmanager.net verrà restituito direttamente al client l’FQDN dell’Endpoint. Se tutte le zone DNS della catena CNAME sono correttamente firmate e delegate, il client potrà autenticare con DNSSEC l’intero percorso di risoluzione.
Per creare un record che goda di questi benefici occorre abilitare l’opzione “Enable Traffic Management (Preview)”, selezionando poi il Traffic Manager desiderato.

Nella tabella dei record, i Traffic Manager Linked Records saranno contrassegnati dal classico logo del Traffic Manager.

Effettuando la query DNS a questo tipo di record, il valore del CNAME sarà direttamente quello dell’Endpoint, eliminando così la necessità di risolvere un sottodominio di trafficmanager.net.

Per capire quali sono i Traffic Manager attualmente associati ai record DNS della nostra zona è possibile usare la nuova blade “Traffic management”.

Essa è utile anche per distinguere i record associati ai Traffic Manager in modalità alias rispetto ai Traffic Manager Linked Records.
Per effettuare la migrazione da record alias a Traffic Manager Linked Record, basterà modificarne l’associazione abilitando l’opzione “Enable Traffic Management (Preview)” e facendo attenzione a selezionare il Traffic Manager corretto.

Punti d’attenzione
Ad oggi l’integrazione è in public preview, ci sono alcuni dettagli perfezionabili.
I Traffic Manager, al momento della creazione, possono essere caratterizzati da un singolo tipo di record, tutti gli endpoints che andremo ad associarci dovranno obbligatoriamente rispettarlo.

Purtroppo si nota che nei Traffic Manager con tipo di record A, viene restituito un errore quando proviamo ad aggiungere, come Endpoint, alcuni servizi Azure.


Questo accade perché App Services ed Indirizzi IP Pubblici vengono referenziati tramite il nome di dominio ad essi collegato, e non direttamente con l’IP Pubblico. Di conseguenza, utilizzando un Traffic Manager con tipo di record CNAME ed aggiungendoci un App Service, ci verrà restituito il suo FQDN come valore CNAME.

È importante notare che, come trafficmanager.net, neanche azurewebsites.net (dominio default utilizzato dagli App Service), azurestaticapps.net (dominio default utilizzato dalle Static Web App) e cloudapp.azure.com (dominio default utilizzato per gli IP Pubblici) sono autenticati da DNSSEC.
Un’opzione per ottenere l’autenticazione DNSSEC, tramite Traffic Manager, di Endpoint interni ad Azure, è reperire ed aggiungere manualmente gli indirizzi IP, definendoli come esterni. Ciò, oltre ad essere logicamente poco elegante, ci costringe ad aggiornare manualmente gli IP pubblici qualora Azure annunciasse il loro cambiamento.
Se volessimo utilizzare dei Traffic Manager di tipo CNAME ed essere sicuri di mantenere completa la catena DNSSEC dovremo verificare che il dominio a cui puntiamo (ed eventuali redirezioni “a cascata”) siano anch’essi autenticati DNSSEC.
Conclusione
I Traffic Manager Linked Records costituiscono un passo avanti nell’integrazione tra i vari servizi di Microsoft Azure. Purtroppo sono ancora presenti limitazioni e contraddizioni tra i vari passaggi di configurazione, ma il fatto che sia ancora in public preview porta a pensare che Microsoft stia lavorando a migliorare il servizio, rendendo coerenti tra loro tutti i componenti. È inoltre importante capire che i vantaggi introdotti sono principalmente legati ai record CNAME.
Riferimenti esterni
Documentazione ufficiale Traffic Manager Linked Records
Azure DNS: come migliora la gestione dei domini aziendali
DNSSEC: come funziona, vantaggi e attivazione su Azure DNS
Documentazione ufficiale sulla restrizione del tipo di record associabile al Traffic Manager

