Funzionamento di Gestione traffico
Gestione traffico di Azure consente di controllare in che modo il traffico viene distribuito tra gli endpoint dell'applicazione. Un endpoint è un servizio con connessione Internet ospitato all'interno o all'esterno di Azure.
Gestione traffico offre due vantaggi principali:
- Distribuzione del traffico in base a uno dei diversi metodi di routing del traffico
- Monitoraggio continuo dell'integrità degli endpoint e failover automatico quando gli endpoint hanno esito negativo
Quando un client tenta di connettersi a un servizio, è necessario prima risolvere il nome DNS del servizio a un indirizzo IP. Il client si connette quindi a questo indirizzo IP per accedere al servizio.
Il punto più importante da comprendere è che Gestione traffico funziona a livello DNS che si trova a livello di applicazione (livello 7). Gestione traffico usa DNS per indirizzare i client a specifici endpoint di servizio in base alle regole del metodo di routing del traffico. I client si connettono direttamente all'endpoint selezionato. Gestione traffico non è un proxy o un gateway. Gestione traffico non visualizza il traffico tra il client e il servizio.
Gestione traffico usa i profili per controllare il traffico verso i servizi cloud o gli endpoint del sito Web. Per altre informazioni sui profili, vedere Gestire un profilo di Gestione traffico di Azure.
Esempio di Gestione traffico
Contoso Corp ha sviluppato un nuovo portale per i partner. L'URL per questo portale è https://partners.contoso.com/login.aspx
. L'applicazione è ospitata in tre aree di Azure. Per migliorare la disponibilità e ottimizzare le prestazioni globali, viene usato Gestione traffico per distribuire il traffico client all'endpoint disponibile più vicino.
Per ottenere questa configurazione, si completa la seguente procedura:
- Distribuire tre istanze del servizio. I nomi DNS di queste distribuzioni sono 'contoso-us.cloudapp.net', 'contoso-eu.cloudapp.net' e 'contoso-asia.cloudapp.net'.
- Creare un profilo di Gestione traffico con il nome "contoso.trafficmanager.net", e configurarlo per usare il metodo di routing del traffico "Prestazioni" tra i 3 endpoint.
- Configurare il nome di dominio personale "partners.contoso.com" in modo che punti a "contoso.trafficmanager.net" tramite il record DNS CNAME.
Importante
Solo un [ID tenant di Azure] può essere proprietario di un determinato nome DNS di Gestione traffico radice. Se si tenta di usare un nome già in uso, verrà visualizzato un errore. Nell'esempio seguente il nome DNS radice è contoso. Inoltre, se un profilo viene creato usando un nome delimitato da punti, ad esempio partners.contoso.trafficmanager.net, contoso.trafficmanager.net viene riservato automaticamente.
Nota
Quando si usa un dominio personale con Gestione traffico di Azure, è necessario usare un record CNAME per scegliere il nome del dominio personale sul nome di dominio di Gestione traffico. Gli standard DNS non consentono di creare un CNAME in corrispondenza del "vertice" (o radice) di un dominio. Non è quindi possibile creare un record CNAME per "contoso.com", detto anche dominio "naked". È possibile creare solo un record CNAME per un dominio in "contoso.com", ad esempio "www.contoso.com". Per aggirare questa limitazione, è consigliabile ospitare il dominio DNS nel DNS di Azure e usare i record Alias in modo da puntare al profilo di Gestione traffico. In alternativa usare un semplice reindirizzamento HTTP per indirizzare le richieste di "contoso.com" su un nome alternativo, ad esempio "www.contoso.com".
Come si connettono i client tramite Gestione traffico
Per continuare l'esempio precedente, quando un client richiede la pagina https://partners.contoso.com/login.aspx
, il client esegue i passaggi seguenti per risolvere il nome DNS e stabilire una connessione:
Il client invia una query DNS al relativo servizio DNS ricorsivo configurato per risolvere il nome "partners.contoso.com". Un servizio DNS ricorsivo, denominato anche servizio "DNS locale", non ospita direttamente i domini DNS, ma delega il lavoro di contattare i vari servizi DNS autorevoli su Internet necessari per risolvere un nome DNS.
Per risolvere il nome DNS, il servizio DNS ricorsivo cerca i server dei nomi per il dominio "contoso.com". A questo punto, il servizio contatta i server dei nomi per richiedere il record DNS di "partners.contoso.com". I server DNS contoso.com restituiscono il record CNAME che punta a contoso.trafficmanager.net.
Il servizio DNS ricorsivo quindi trova i server dei nomi per il dominio "trafficmanager, net", che vengono forniti dal servizio Gestione traffico di Azure. Quindi invia una richiesta per il record DNS "contoso.trafficmanager.net" a questi server DNS.
I server dei nomi di Gestione traffico ricevono la richiesta. Scelgono un endpoint in base a:
- Lo stato configurato di ogni endpoint (gli endpoint disabilitati non vengono restituiti)
- L'integrità corrente di ogni endpoint, determinata dai controlli di integrità di Gestione traffico. Per altre informazioni, vedere Informazioni sul monitoraggio di Gestione traffico.
- Il metodo di routing del traffico scelto. Per altre informazioni, vedere Metodi di routing di Gestione traffico.
L'endpoint scelto viene restituito come un altro record DNS CNAME. In questo caso, si supponga che venga restituito contoso-eu.cloudapp.net.
Il servizio DNS ricorsivo cerca quindi i server dei nomi per il dominio "cloudapp.net". Il servizio contatta questi server dei nomi per richiedere il record DNS di 'contoso-eu.cloudapp.net'. Viene restituito un record DNS 'A' contenente l'indirizzo IP dell'endpoint di servizio basato su EU.
Il servizio DNS ricorsivo consente di consolidare i risultati e restituisce una singola risposta DNS al client.
Il client riceve i risultati DNS e si connette all'indirizzo IP specificato. Il client si connette all'endpoint di servizio dell'applicazione in modo diretto, senza passare per Gestione traffico. Poiché si tratta di un endpoint HTTPS, il client esegue l'handshake SSL/TLS necessario e quindi esegue una richiesta HTTP GET per la pagina "/login.aspx".
Gestione traffico e cache DNS
Il servizio DNS ricorsivo memorizza nella cache le risposte DNS ricevute. Il resolver DNS nel dispositivo client memorizza nella cache anche il risultato. Il caching consente alle query DNS successive di ricevere risposte più rapide usando i dati dalla cache al posto di query ad altri server dei nomi. La durata della memorizzazione nella cache è determinata dalla proprietà "Durata" (TTL) di ogni record DNS. Valori più bassi implicano una scadenza della cache più breve e pertanto più round trip ai server dei nomi di Gestione traffico. Valori più alti indicano che potrebbe essere necessario più tempo per indirizzare il traffico da un endpoint non riuscito. Gestione traffico consente di configurare la durata (TTL) usata nelle risposte DNS di Gestione traffico in modo che sia inferiore a 0 secondi e fino a 2.147.483.647 secondi (l'intervallo massimo conforme a RFC-1035), consentendo di scegliere il valore che bilancia meglio le esigenze dell'applicazione.
Domande frequenti
Quali tipi di traffico è possibile indirizzare tramite Gestione traffico?
Quando si usa Gestione traffico, viene visualizzato un errore HTTP. Perché?
Qual è l'impatto sulle prestazioni dell'uso di Gestione traffico?
Quali protocolli di applicazione possono essere usati con Gestione traffico?
È possibile usare Gestione traffico con un nome di dominio "naked"?
Gestione traffico tiene conto dell'indirizzo della subnet client quando si gestiscono query DNS?
Come impostare una durata TTL maggiore o minore per le risposte di Gestione traffico?
Come si può verificare il volume delle query destinate al profilo personale?
Passaggi successivi
Altre informazioni sul monitoraggio degli endpoint e sul failover automaticodi Gestione traffico.
Altre informazioni sui metodi di routingdi Gestione traffico.