Condividi tramite


Usare i criteri DNS per l'applicazione del bilanciamento del carico

È possibile usare questo argomento per informazioni su come configurare i criteri DNS per eseguire il bilanciamento del carico dell'applicazione.

Le versioni precedenti di DNS di Windows Server hanno fornito solo il bilanciamento del carico usando risposte round robin; ma con DNS in Windows Server 2016, è possibile configurare i criteri DNS per il bilanciamento del carico dell'applicazione.

Dopo aver distribuito più istanze di un'applicazione, è possibile usare i criteri DNS per bilanciare il carico del traffico tra le diverse istanze dell'applicazione, allocando quindi dinamicamente il carico del traffico per l'applicazione.

Esempio di bilanciamento del carico dell'applicazione

Di seguito è riportato un esempio di come usare i criteri DNS per il bilanciamento del carico dell'applicazione.

Questo esempio usa una società fittizia, Contoso Gift Services, che fornisce servizi di regalo online e che ha un sito Web denominato contosogiftservices.com.

Il sito Web contosogiftservices.com è ospitato in più data center, ognuno con indirizzi IP diversi.

In America del Nord, che è il mercato principale per Contoso Gift Services, il sito Web è ospitato in tre data center: Chicago, IL, Dallas, TX e Seattle, WA.

Il server Web di Seattle ha la migliore configurazione hardware e può gestire il doppio del carico degli altri due siti. Contoso Gift Services vuole che il traffico dell'applicazione sia indirizzato nel modo seguente.

  • Poiché il server Web di Seattle include più risorse, la metà dei client dell'applicazione viene indirizzata a questo server
  • Un quarto dei client dell'applicazione viene indirizzato al data center di Dallas, TX
  • Un quarto dei client dell'applicazione viene indirizzato al data center di Chicago, IL

Nella figura seguente viene illustrato questo scenario.

Bilanciamento del carico delle applicazioni DNS con criteri DNS

Funzionamento del bilanciamento del carico delle applicazioni

Dopo aver configurato il server DNS con criteri DNS per il bilanciamento del carico dell'applicazione usando questo scenario di esempio, il server DNS risponde il 50% del tempo con l'indirizzo del server Web di Seattle, il 25% del tempo con l'indirizzo del server Web di Dallas e il 25% del tempo con l'indirizzo del server Web di Chicago.

Pertanto, ogni quattro query ricevute dal server DNS, esso risponde con due risposte per Seattle, una per Dallas e una per Chicago.

Un possibile problema relativo al bilanciamento del carico con i criteri DNS è la memorizzazione nella cache dei record DNS da parte del client DNS e del resolver/LDNS, che può interferire con il bilanciamento del carico perché il client o il resolver non inviano una query al server DNS.

È possibile attenuare l'effetto di questo comportamento usando un valore TTL (Time-to-Live) basso per i record DNS che devono essere bilanciati dal carico.

Come configurare il bilanciamento del carico dell'applicazione

Le sezioni seguenti illustrano come configurare i criteri DNS per il bilanciamento del carico delle applicazioni.

Creare gli ambiti di zona

È prima necessario creare gli ambiti della zona contosogiftservices.com per i data center in cui sono ospitati.

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 utilizzare i seguenti comandi di Windows PowerShell per creare ambiti di zona.

Add-DnsServerZoneScope -ZoneName "contosogiftservices.com" -Name "SeattleZoneScope"
Add-DnsServerZoneScope -ZoneName "contosogiftservices.com" -Name "DallasZoneScope"
Add-DnsServerZoneScope -ZoneName "contosogiftservices.com" -Name "ChicagoZoneScope"

Per ulteriori informazioni, vedere Aggiungi DnsServerZoneScope

Aggiungere record per gli ambiti di zona

È ora necessario aggiungere i record che rappresentano l'host del server Web negli ambiti di zona.

In SeattleZoneScopeè possibile aggiungere il record www.contosogiftservices.com con indirizzo IP 192.0.0.1, che si trova nel data center di Seattle.

In ChicagoZoneScopeè possibile aggiungere lo stesso record (www.contosogiftservices.com) con indirizzo IP 182.0.0.1 nel data center di Chicago.

Analogamente, in DallasZoneScopeè possibile aggiungere un record (www.contosogiftservices.com) con indirizzo IP 162.0.0.1 nel data center di Chicago.

È possibile utilizzare i seguenti comandi di Windows PowerShell per aggiungere record per gli ambiti di zona.

Add-DnsServerResourceRecord -ZoneName "contosogiftservices.com" -A -Name "www" -IPv4Address "192.0.0.1" -ZoneScope "SeattleZoneScope"
Add-DnsServerResourceRecord -ZoneName "contosogiftservices.com" -A -Name "www" -IPv4Address "182.0.0.1" -ZoneScope "ChicagoZoneScope"
Add-DnsServerResourceRecord -ZoneName "contosogiftservices.com" -A -Name "www" -IPv4Address "162.0.0.1" -ZoneScope "DallasZoneScope"

Per ulteriori informazioni, vedere Aggiungi DnsServerResourceRecord.

Creare i criteri DNS

Dopo aver creato le partizioni (ambiti di zona) e aver aggiunto record, è necessario creare criteri DNS che distribuiscano le query in ingresso in questi ambiti in modo che il 50% delle query per contosogiftservices.com ricevano risposta dall'indirizzo IP per il server Web nel data center di Seattle e le restanti vengano equamente distribuite tra i data center di Chicago e Dallas.

È possibile usare i comandi di Windows PowerShell seguenti per creare criteri DNS che bilanciano il traffico dell'applicazione in questi tre data center.

Nota

Nel comando di esempio seguente l'espressione –ZoneScope "SeattleZoneScope,2; ChicagoZoneScope,1; DallasZoneScope,1" configura il server DNS con una matrice che include la combinazione di parametri <ZoneScope>,<weight>.

Add-DnsServerQueryResolutionPolicy -Name "AmericaPolicy" -Action ALLOW -ZoneScope "SeattleZoneScope,2;ChicagoZoneScope,1;DallasZoneScope,1" -ZoneName "contosogiftservices.com"

Per ulteriori informazioni, vedere Aggiungi DnsServerQueryResolutionPolicy.

È stato creato un criterio DNS che fornisce il bilanciamento del carico delle applicazioni tra server Web in tre data center diversi.

È 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.