Utiliser une stratégie DNS pour les réponses DNS intelligentes basées sur l’heure du jour

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

Vous pouvez utiliser cette rubrique pour apprendre à distribuer le trafic d’application entre différentes instances distribuées géographiquement d’une application à l’aide de stratégies DNS basées sur l’heure de la journée.

Ce scénario est utile dans les situations où vous souhaitez diriger le trafic dans un fuseau horaire vers d’autres serveurs d’applications, tels que des serveurs Web, qui se trouvent dans un autre fuseau horaire. Cela vous permet d’équilibrer la charge du trafic entre les instances d’application pendant les périodes de pointe lorsque vos serveurs principaux sont surchargés de trafic.

Exemple des réponses DNS intelligentes basées sur l’heure du jour

Voici un exemple de la façon dont vous pouvez utiliser la stratégie DNS pour équilibrer le trafic d’application en fonction de l’heure de la journée.

Cet exemple utilise une société fictive, Contoso Gift Services, qui fournit des solutions de cadeaux en ligne dans le monde entier via son site Web, contosogiftservices.com.

Le site Web contosogiftservices.com est hébergé dans deux centres de données, l’un à Seattle (Amérique du Nord) et l’autre à Dublin (Europe). Les serveurs DNS sont configurés pour envoyer des réponses prenant en charge la géolocalisation à l’aide d’une stratégie DNS. Avec une récente augmentation de l’activité, contosogiftservices.com a un plus grand nombre de visiteurs chaque jour, et certains clients ont signalé des problèmes de disponibilité du service.

Contoso Gift Services effectue une analyse de site et découvre que tous les soirs entre 18h00 et 21h00, le trafic vers les serveurs Web augmente. Les serveurs Web ne peuvent pas être mis à l’échelle pour gérer l’augmentation du trafic à ces heures de pointe, ce qui entraîne un déni de service pour les clients. La même surcharge de trafic aux heures de pointe se produit dans les centres de données européens et américains. À d’autres moments de la journée, les serveurs gèrent des volumes de trafic bien inférieurs à leur capacité maximale.

Pour s’assurer que contosogiftservices.com clients bénéficient d’une expérience réactive à partir du site Web, Contoso Gift Services souhaite rediriger une partie du trafic de Dublin vers les serveurs d’applications de Seattle entre 18 h et 21 h à Dublin ; et ils veulent rediriger du trafic de Seattle vers les serveurs d’applications Dublin entre 18h00 et 21h00 à Seattle.

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

Time of Day DNS Policy example

Comment les Réponses DNS intelligentes basées sur l’heure du jour fonctionnent

Lorsque le serveur DNS est configuré avec la stratégie DNS d’heure de la journée, entre 18h00 et 21h00 à chaque emplacement géographique, le serveur DNS effectue les opérations suivantes.

  • Répond aux quatre premières requêtes qu’il reçoit avec l’adresse IP du serveur Web dans le centre de données local.
  • Répond à la cinquième requête qu’il reçoit avec l’adresse IP du serveur Web dans le centre de données distant.

Ce comportement basé sur des stratégies décharge vingt pour cent de la charge de trafic du serveur Web local vers le serveur Web distant, ce qui facilite la pression sur le serveur d’applications local et améliore les performances du site pour les clients.

Pendant les heures creuses, les serveurs DNS effectuent une gestion du trafic basée sur des emplacements géographiques normaux. En outre, les clients DNS qui envoient des requêtes à partir d’emplacements autres que Amérique du Nord ou l’Europe, le serveur DNS équilibre la charge du trafic entre les centres de données de Seattle et de Dublin.

Lorsque plusieurs stratégies DNS sont configurées dans DNS, il s’agit d’un ensemble ordonné de règles et elles sont traitées par DNS de la priorité la plus élevée à la priorité la plus faible. DNS utilise la première stratégie qui correspond aux circonstances, y compris l’heure de la journée. Pour cette raison, les stratégies plus spécifiques doivent avoir une priorité plus élevée. Si vous créez des stratégies d’heure de la journée et que vous leur accordez une priorité élevée dans la liste des stratégies, DNS traite et utilise d’abord ces stratégies si elles correspondent aux paramètres de la requête cliente DNS et aux critères définis dans la stratégie. Si elles ne correspondent pas, DNS descend la liste des stratégies pour traiter les stratégies par défaut jusqu’à ce qu’il trouve une correspondance.

Pour plus d’informations sur les types et les critères de stratégie, consultez Vue d’ensemble des stratégies DNS.

Comment configurer une stratégie DNS pour les réponses DNS intelligentes basées sur l’heure du jour

Pour configurer la stratégie DNS pour les réponses de requête basées sur l’équilibrage de charge de l’application à l’heure de la journée, vous devez effectuer les étapes suivantes.

Remarque

Vous devez effectuer ces étapes sur le serveur DNS faisant autorité pour la zone que vous souhaitez configurer. L’adhésion à DnsAdmins, ou un équivalent, est nécessaire pour effectuer les procédures suivantes.

Les sections suivantes fournissent des instructions de configuration détaillées.

Important

Les sections suivantes incluent des exemples de commandes Windows PowerShell qui contiennent des exemples de valeurs pour de nombreux paramètres. Veillez à remplacer les exemples de valeurs dans ces commandes par des valeurs appropriées pour votre déploiement avant d’exécuter ces commandes.

Créer les sous-réseaux clients DNS

La première étape consiste à identifier les sous-réseaux ou l’espace d’adressage IP des régions pour lesquelles vous souhaitez rediriger le trafic. Par exemple, si vous souhaitez rediriger le trafic vers les États-Unis et l’Europe, vous devez identifier les sous-réseaux ou les espaces d’adressage IP de ces régions.

Vous pouvez obtenir ces informations à partir de cartes géo-IP. En fonction de ces distributions géo-IP, vous devez créer les « sous-réseaux clients DNS ». Un sous-réseau client DNS est un regroupement logique de sous-réseaux IPv4 ou IPv6 à partir desquels les requêtes sont envoyées à un serveur DNS.

Vous pouvez utiliser les commandes Windows PowerShell suivantes pour créer des sous-réseaux clients DNS.

Add-DnsServerClientSubnet -Name "AmericaSubnet" -IPv4Subnet "192.0.0.0/24", "182.0.0.0/24"

Add-DnsServerClientSubnet -Name "EuropeSubnet" -IPv4Subnet "141.1.0.0/24", "151.1.0.0/24"

Pour plus d’informations, consultez Add-DnsServerClientSubnet.

Créer les étendues de zone

Une fois les sous-réseaux clients configurés, vous devez partitionner la zone dont vous souhaitez rediriger le trafic dans deux étendues de zone différentes, une étendue pour chacun des sous-réseaux clients DNS que vous avez configurés.

Par exemple, si vous souhaitez rediriger le trafic pour le nom DNS www.contosogiftservices.com, vous devez créer deux étendues de zone différentes dans la zone contosogiftservices.com, l’une pour les États-Unis et l’autre pour l’Europe.

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 "DublinZoneScope"

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 deux étendues de zone.

Par exemple, dans SeattleZoneScope, l’enregistrement www.contosogiftservices.com est ajouté avec l’adresse IP 192.0.0.1, qui se trouve dans un centre de données de Seattle. De même, dans DublinZoneScope, le www.contosogiftservices.com d’enregistrement est ajouté avec l’adresse IP 141.1.0.3 dans le centre de données de Dublin

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 "141.1.0.3" -ZoneScope "DublinZoneScope"

Le paramètre ZoneScope n’est pas inclus lorsque vous ajoutez un enregistrement dans l’étendue par défaut. Cela équivaut à ajouter des enregistrements à une zone DNS standard.

Pour plus d’informations, consultez Add-DnsServerResourceRecord.

Créer les stratégies DNS

Après avoir créé les sous-réseaux, les partitions (étendues de zone) et ajouté des enregistrements, vous devez créer des stratégies qui connectent les sous-réseaux et les partitions, de sorte que lorsqu’une requête provient d’une source dans l’un des sous-réseaux clients DNS, la réponse à la requête est retournée à partir de l’étendue correcte de la zone. Aucune stratégie n’est requise pour le mappage de l’étendue de zone par défaut.

Après avoir configuré ces stratégies DNS, le comportement du serveur DNS est le suivant :

  1. Les clients DNS européens reçoivent l’adresse IP du serveur web dans le centre de données de Dublin dans leur réponse à la requête DNS.
  2. Les clients DNS américains reçoivent l’adresse IP du serveur Web dans le centre de données de Seattle dans leur réponse à la requête DNS.
  3. Entre 6 h et 9 h à Dublin, 20 % des requêtes des clients européens reçoivent l’adresse IP du serveur Web dans le centre de données Seattle dans leur réponse de requête DNS.
  4. Entre 6 h et 9 h à Seattle, 20 % des requêtes des clients américains reçoivent l’adresse IP du serveur Web dans le centre de données de Dublin dans leur réponse de requête DNS.
  5. La moitié des requêtes du reste du monde reçoivent l’adresse IP du centre de données de Seattle et l’autre moitié reçoivent l’adresse IP du centre de données de Dublin.

Vous pouvez utiliser les commandes Windows PowerShell suivantes pour créer une stratégie DNS qui lie les sous-réseaux du client DNS et les étendues de zone.

Remarque

Dans cet exemple, le serveur DNS étant dans le fuseau horaire GMT, les heures de pointe doivent être exprimées dans l’heure GMT équivalente.

Add-DnsServerQueryResolutionPolicy -Name "America6To9Policy" -Action ALLOW -ClientSubnet "eq,AmericaSubnet" -ZoneScope "SeattleZoneScope,4;DublinZoneScope,1" -TimeOfDay "EQ,01:00-04:00" -ZoneName "contosogiftservices.com" -ProcessingOrder 1

Add-DnsServerQueryResolutionPolicy -Name "Europe6To9Policy" -Action ALLOW -ClientSubnet "eq,EuropeSubnet" -ZoneScope "SeattleZoneScope,1;DublinZoneScope,4" -TimeOfDay "EQ,17:00-20:00" -ZoneName "contosogiftservices.com" -ProcessingOrder 2

Add-DnsServerQueryResolutionPolicy -Name "AmericaPolicy" -Action ALLOW -ClientSubnet "eq,AmericaSubnet" -ZoneScope "SeattleZoneScope,1" -ZoneName "contosogiftservices.com" -ProcessingOrder 3

Add-DnsServerQueryResolutionPolicy -Name "EuropePolicy" -Action ALLOW -ClientSubnet "eq,EuropeSubnet" -ZoneScope "DublinZoneScope,1" -ZoneName "contosogiftservices.com" -ProcessingOrder 4

Add-DnsServerQueryResolutionPolicy -Name "RestOfWorldPolicy" -Action ALLOW -ZoneScope "DublinZoneScope,1;SeattleZoneScope,1" -ZoneName "contosogiftservices.com" -ProcessingOrder 5

Pour plus d’informations, consultez Add-DnsServerQueryResolutionPolicy.

À présent, le serveur DNS est configuré avec les stratégies DNS requises pour rediriger le trafic en fonction de l’emplacement géographique et de l’heure de la journée.

Lorsque le serveur DNS reçoit des requêtes de résolution de noms, le serveur DNS évalue les champs de la requête DNS par rapport aux stratégies DNS configurées. Si l’adresse IP source dans la demande de résolution de noms correspond à l’une des stratégies, l’étendue de zone associée est utilisée pour répondre à la requête et l’utilisateur est dirigé vers la ressource qui est géographiquement la plus proche d’elle.

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.