Utiliser une stratégie DNS pour l’équilibrage de charge des applications

S’applique à : Windows Server 2022, Windows Server 2019, Windows Server 2016

Vous pouvez utiliser cette rubrique afin de découvrir comment configurer une stratégie DNS pour effectuer l’équilibrage de charge des applications.

Les versions précédentes du DNS Windows Server fournissaient uniquement l’équilibrage de charge à l’aide de réponses tourniquet (round robin). Avec DNS dans Windows Server 2016, vous pouvez cependant configurer une stratégie DNS pour l’équilibrage de charge des applications.

Lorsque vous avez déployé plusieurs instances d’une application, vous pouvez utiliser une stratégie DNS pour équilibrer la charge du trafic entre les différentes instances d’application, en allouant dynamiquement la charge de trafic pour l’application.

Exemple d’équilibrage de charge d’application

Voici un exemple d’utilisation de la stratégie DNS pour l’équilibrage de charge des applications.

Cet exemple utilise une entreprise fictive, Contoso Gift Services, qui fournit des services de cadeaux en ligne et qui possède un site Web, contosogiftservices.com.

Le site Web contosogiftservices.com est hébergé dans plusieurs centres de données qui ont chacun des adresses IP différentes.

En Amérique du Nord, marché principal de Contoso Gift Services, le site Web est hébergé dans trois centres de données : Chicago, dans l’Illinois, Dallas, dans le Texas et Seattle, dans l’État de Washington.

Le serveur Web de Seattle possède la meilleure configuration matérielle et peut gérer deux fois plus de charge que les deux autres sites. Contoso Gift Services souhaite que le trafic d’application soit dirigé de la manière suivante.

  • Étant donné que le serveur Web de Seattle inclut plus de ressources, la moitié des clients de l’application sont dirigés vers ce serveur
  • Un quart des clients de l’application sont dirigés vers le centre de données de Dallas, dans le Texas
  • Un quart des clients de l’application sont dirigés vers le centre de données de Chicago, dans l’Illinois

L’illustration suivante représente ce scénario.

DNS Application Load Balancing with DNS Policy

Fonctionnement de l’équilibrage de charge des applications

Une fois que vous avez configuré le serveur DNS avec la stratégie DNS pour l’équilibrage de charge des applications à l’aide de cet exemple de scénario, le serveur DNS répond 50 % du temps avec l’adresse du serveur Web de Seattle, 25 % du temps avec l’adresse du serveur Web de Dallas et 25 % du temps avec l’adresse du serveur Web de Chicago.

Ainsi, pour quatre requêtes reçues par le serveur DNS, celui-ci répond avec deux réponses pour Seattle, une pour Dallas et une pour Chicago.

L’un des problèmes possibles liés à l’équilibrage de charge avec la stratégie DNS est la mise en cache des enregistrements DNS par le client DNS et le programme de résolution / LDNS, ce qui peut interférer avec l’équilibrage de charge, car le client ou le programme de résolution n’envoie pas de requête au serveur DNS.

Vous pouvez atténuer l’effet de ce comportement en utilisant une valeur de durée de vie (TTL) faible pour les enregistrements DNS qui doivent être équilibrés en charge.

Comment configurer l’équilibrage de charge des applications

Les sections suivantes vous montrent comment configurer une stratégie DNS pour l’équilibrage de charge des applications.

Créer les étendues de zone

Vous devez d’abord créer les étendues de la zone contosogiftservices.com pour les centres de données où elles sont hébergées.

Une étendue de zone est une instance unique de la zone. Une zone DNS peut avoir plusieurs étendues de zone, chacune d’elles contenant son propre jeu d’enregistrements DNS. Le même enregistrement peut être présent dans plusieurs étendues, avec différentes adresses IP ou les mêmes adresses IP.

Notes

Par défaut, une étendue de zone existe sur les zones DNS. Cette étendue de zone porte le même nom que la zone, et les opérations DNS héritées fonctionnent sur cette étendue.

Vous pouvez utiliser les commandes Windows PowerShell suivantes pour créer des étendues de zone.

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

Pour plus d’informations, consultez Add-DnsServerZoneScope

Ajouter des enregistrements aux étendues de zone

Vous devez maintenant ajouter les enregistrements représentant l’hôte du serveur Web dans les étendues de zone.

Dans SeattleZoneScope, vous pouvez ajouter l’enregistrement www.contosogiftservices.com avec l’adresse IP 192.0.0.1, qui se trouve dans le centre de données de Seattle.

Dans ChicagoZoneScope, vous pouvez ajouter le même enregistrement (www.contosogiftservices.com) avec l’adresse IP 182.0.0.1 dans le centre de données de Chicago.

De même, dans DallasZoneScope, vous pouvez ajouter un enregistrement (www.contosogiftservices.com) avec l’adresse IP 162.0.0.1 dans le centre de données de Chicago.

Vous pouvez utiliser les commandes Windows PowerShell suivantes pour ajouter des enregistrements aux étendues de zone.

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"

Pour plus d’informations, consultez Add-DnsServerResourceRecord.

Créer les stratégies DNS

Une fois que vous avez créé les partitions (étendues de zone) et ajouté des enregistrements, vous devez créer des stratégies DNS qui distribuent les requêtes entrantes dans ces étendues afin que 50 % des requêtes pour contosogiftservices.com soient traitées avec l’adresse IP du serveur Web du centre de données de Seattle et que le reste soit réparti de manière égale entre les centres de données de Chicago et de Dallas.

Vous pouvez utiliser les commandes Windows PowerShell suivantes pour créer une stratégie DNS qui équilibre le trafic des applications entre ces trois centres de données.

Notes

Dans l’exemple de commande ci-dessous, l’expression –ZoneScope "SeattleZoneScope,2; ChicagoZoneScope,1; DallasZoneScope,1" configure le serveur DNS avec un tableau qui inclut la combinaison de paramètres <ZoneScope>,<weight>.

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

Pour plus d’informations, consultez Add-DnsServerQueryResolutionPolicy.

Vous avez maintenant créé une stratégie DNS qui permet l’équilibrage de charge des applications sur les serveurs Web de trois centres de données différents.

Vous pouvez créer des milliers de stratégies DNS en fonction de vos exigences de gestion du trafic, et toutes les nouvelles stratégies sont appliquées dynamiquement, sans redémarrer le serveur DNS, sur les requêtes entrantes.