Condividi tramite


Risposte DNS basate sull'ora del giorno con un server app Azure Cloud

Si applica a: Windows Server 2022, Windows Server 2019, Windows Server 2016

È possibile utilizzare questo argomento per informazioni su come distribuire il traffico dell'applicazione tra diverse istanze distribuite geograficamente di un'applicazione utilizzando i criteri DNS che si basano sull'ora del giorno.

Questo scenario è utile nelle situazioni in cui si desidera indirizzare il traffico in un fuso orario per il server di applicazioni alternativo, ad esempio server Web ospitati in Microsoft Azure, che si trovano in un altro fuso orario. Ciò consente di bilanciare il carico tra le istanze dell'applicazione durante il picco quando il server primario sono sottoposti a overload con traffico periodi di tempo.

Nota

Per informazioni su come usare i criteri DNS per le risposte DNS intelligenti senza usare Azure, vedere Usare criteri DNS per risposte DNS intelligenti in base all'ora del giorno.

Esempio delle risposte DNS intelligente in base all'ora del giorno con il server app Azure Cloud

Seguito è riportato un esempio di come è possibile utilizzare criteri DNS per bilanciare il traffico dell'applicazione in base all'ora del giorno.

Questo esempio viene utilizzata una società fittizia, Contoso regalo servizi, che fornisce soluzioni gifting online in tutto il mondo tramite il sito Web, contosogiftservices.com.

Il sito Web contosogiftservices.com è ospitato solo in un singolo data center locale a Seattle (con indirizzo IP pubblico 192.68.30.2).

Il server DNS si trova anche nel data center locale.

Con un picco recenti nel settore, contosogiftservices.com ha un numero elevato di visitatori ogni giorno e alcuni utenti hanno segnalato problemi di disponibilità del servizio.

Servizi regalo Contoso esegue un'analisi del sito e consente di individuare ogni sera tra ora locale PM 6 e 9 PM, implica che è un picco di traffico ai server Web di Seattle. I server Web non sono scalabile per gestire l'aumento del traffico le ore di picco, causando un attacco denial of service ai clienti.

Per garantire che i clienti contosogiftservices.com abbiano un'esperienza reattiva con il sito Web, Contoso Gift Services decide che durante queste ore noleggerà una macchina virtuale (VM) in Microsoft Azure per ospitare una copia del server Web.

Contoso Gift Services ottiene un indirizzo IP pubblico da Azure per la macchina virtuale (192.68.31.44) e sviluppa l'automazione per distribuire il server Web ogni giorno in Azure tra le 17:00 e le 22:00, consentendo un periodo di emergenza di un'ora.

Nota

Per altre informazioni sulle macchine virtuali, vedere la Documentazione sulle macchine virtuali

I server DNS vengono configurati con ambiti di zona e criteri DNS, in modo che tra le 17:00 e le 21:00 di ogni giorno il 30% delle query venga inviato all'istanza del server Web in esecuzione in Azure.

Nella figura seguente viene illustrato questo scenario.

DNS Policy for time of day responses

Funzionamento delle risposte DNS basate sull'ora del giorno con il server app di Azure

Questo articolo illustra come configurare il server DNS per rispondere alle query DNS con due indirizzi IP diversi del server applicazioni: un server Web si trova a Seattle e l'altro si trova in un data center di Azure.

Dopo la configurazione di un nuovo criterio DNS basato sulle ore di punta dalle 18:00 alle 21:00 a Seattle, il server DNS invia il 70% delle risposte DNS ai client contenenti l'indirizzo IP del server Web di Seattle e il 30% delle risposte DNS ai client contenenti l'indirizzo IP del server Web di Azure, indirizzando così il traffico client al nuovo server Web di Azure e impedendo l'overload del server Web di Seattle.

In tutte le altre ore del giorno, viene eseguita la normale elaborazione delle query e le risposte vengono inviate dall'ambito di zona predefinito che contiene un record per il server Web nel data center locale.

Il valore TTL di 10 minuti nel record di Azure garantisce che il record sia scaduto dalla cache LDNS prima che la macchina virtuale venga rimossa da Azure. Uno dei vantaggi di tale scalabilità è che è possibile mantenere i dati DNS in locale e mantenere il numero di istanze in Azure in base alle esigenze.

Procedura: configurare criteri DNS per le risposte DNS intelligente basate sull'ora del giorno con il server app di Azure

Per configurare criteri DNS per le risposte di ora del giorno applicazione bilanciamento del carico basato su query, è necessario eseguire la procedura seguente.

Nota

È necessario eseguire questi passaggi nel server DNS autorevole per la zona in cui che si desidera configurare. L'appartenenza a DnsAdmins, o equivalente, è necessario per eseguire le procedure seguenti.

Le sezioni seguenti forniscono le istruzioni di configurazione dettagliate.

Importante

Nelle sezioni seguenti includono esempi di comandi Windows PowerShell che contengono valori di esempio per numero di parametri. Assicurarsi di sostituire i valori di esempio in questi comandi con i valori appropriati per la distribuzione prima di eseguire questi comandi.

Creare gli ambiti di zona

Un ambito di una zona è un'istanza univoca della zona. Una zona DNS può avere più ambiti, ognuno contenente il proprio insieme di record DNS. Lo stesso record può essere presente in più ambiti, con gli stessi indirizzi IP o con indirizzi IP diversi.

Nota

Per impostazione predefinita, un ambito di una zona esistente nelle zone DNS. Questo ambito di zona con lo stesso nome della zona e operazioni DNS legacy funzionano in questo ambito.

È possibile usare il comando di esempio seguente per creare un ambito di zona per ospitare i record di Azure.

Add-DnsServerZoneScope -ZoneName "contosogiftservices.com" -Name "AzureZoneScope"

Per altre informazioni, vedere Add-DnsServerZoneScope

Aggiungere record per gli ambiti di zona

Il prossimo passaggio consiste nell'aggiungere i record che rappresentano l'host del server Web negli ambiti delle zone.

In AzureZoneScope, il record www.contosogiftservices.com viene aggiunto con l'indirizzo IP 192.68.31.44, che si trova nel cloud pubblico di Azure.

Analogamente, nell'ambito di zona predefinito (contosogiftservices.com), viene aggiunto un record (www.contosogiftservices.com) con indirizzo IP 192.68.30.2 del server Web in esecuzione nel data center locale di Seattle.

Nel secondo cmdlet seguente il parametro –ZoneScope non è incluso. Per questo motivo, i record vengono aggiunti nello ZoneScope predefinito.

Inoltre, il TTL del record per le macchine virtuali di Azure viene mantenuto a 600 (10 minuti) in modo che il servizio LDNS non lo memorizzi nella cache per un periodo di tempo più lungo, poiché ciò interferirebbe con il bilanciamento del carico. Inoltre, le macchine virtuali di Azure sono disponibili per 1 ora aggiuntiva come emergenza per garantire che anche i client con record memorizzati nella cache siano in grado di risolvere.

Add-DnsServerResourceRecord -ZoneName "contosogiftservices.com" -A -Name "www" -IPv4Address "192.68.31.44" -ZoneScope "AzureZoneScope" –TimeToLive 600

Add-DnsServerResourceRecord -ZoneName "contosogiftservices.com" -A -Name "www" -IPv4Address "192.68.30.2"

Per ulteriori informazioni, vedere Aggiungi DnsServerResourceRecord.

Creare i criteri DNS

Dopo aver creato gli ambiti della zona, è possibile creare criteri DNS che distribuiscono le query in ingresso in questi ambiti in modo che si verifichino le operazioni seguenti.

  1. Dalle 18:00 alle 21:00 ogni giorno, il 30% dei client riceve l'indirizzo IP del server Web nel data center di Azure nella risposta DNS, mentre il 70% dei client riceve l'indirizzo IP del server Web locale di Seattle.
  2. In qualsiasi momento, tutti i client ricevono l'indirizzo IP del server Web locale di Seattle.

L'ora del giorno deve essere espressa nell'ora locale del server DNS.

È possibile usare il comando di esempio seguente per creare il criterio DNS.

Add-DnsServerQueryResolutionPolicy -Name "Contoso6To9Policy" -Action ALLOW -ZoneScope "contosogiftservices.com,7;AzureZoneScope,3" –TimeOfDay “EQ,18:00-21:00” -ZoneName "contosogiftservices.com" –ProcessingOrder 1

Per ulteriori informazioni, vedere Aggiungi DnsServerQueryResolutionPolicy.

Ora il server DNS è configurato con i criteri necessari DNS per reindirizzare il traffico al server Web di Azure in base all'ora del giorno.

Prendere nota dell'espressione:

-ZoneScope "contosogiftservices.com,7;AzureZoneScope,3" –TimeOfDay “EQ,18:00-21:00”

Questa espressione configura il server DNS con una combinazione di ZoneScope e peso che indica al server DNS di inviare l'indirizzo IP del server Web Seattle il 70% del tempo e di inviare quello del server Web di Azure il 30% del tempo.

È possibile creare migliaia di criteri DNS in base del traffico di gestione e tutti i nuovi criteri vengono applicati in modo dinamico, senza il riavvio del server DNS, per le query in ingresso.