Réponses DNS basées sur l’heure du jour avec un serveur d’applications Azure Cloud

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 sont hébergés sur Microsoft Azure, se trouvant 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.

Notes

Pour savoir comment utiliser une stratégie DNS pour des réponses DNS intelligentes sans utiliser Azure, consultez Utiliser la stratégie DNS pour les réponses DNS intelligentes en fonction de l’heure de la journée.

Exemple des réponses DNS intelligentes basées sur l’heure du jour avec le serveur d’application Azure Cloud

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é uniquement dans un seul centre de données local à Seattle (avec l’adresse IP publique 192.68.30.2).

Le serveur DNS se trouve également dans le centre de données local.

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 le serveur Web de Seattle augmente. Le serveur Web ne peut 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.

Pour s’assurer que les clients contosogiftservices.com bénéficient d’une expérience réactive à partir du site Web, pendant ces heures Contoso Gift Services décide de louer une machine virtuelle sur Microsoft Azure pour héberger une copie de son serveur Web.

Contoso Gift Services obtient une adresse IP publique d’Azure pour la machine virtuelle (192.68.31.44) et développe l’automatisation pour déployer le serveur web tous les jours sur Azure entre 17 h et 22 h, ce qui permet d’activer une période d’urgence d’une heure.

Notes

Pour plus d'informations sur les machines virtuelles Azure, consultez Documentation sur les machines virtuelles.

Les serveurs DNS sont configurés avec des étendues de zone et des stratégies DNS afin que 30 % des requêtes soient envoyées à l’instance du serveur Web qui s’exécute dans Azure entre 17 h et 21 h chaque jour.

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

DNS Policy for time of day responses

Comment les réponses DNS intelligentes basées sur l’heure du jour avec le serveur d’application Azure fonctionnent

Cet article explique comment configurer le serveur DNS pour répondre aux requêtes DNS avec deux adresses IP de serveur d’applications différentes : un serveur web se trouve à Seattle et l’autre dans un centre de données Azure.

Après la configuration d’une nouvelle stratégie DNS basée sur les heures de pointe de 18 h à 21 h à Seattle, le serveur DNS envoie 70 % des réponses DNS aux clients contenant l’adresse IP du serveur Web Seattle, et trente pour cent des réponses DNS aux clients contenant l’adresse IP du serveur Web Azure, redirigeant ainsi le trafic client vers le nouveau serveur web Azure et empêchant la surcharge du serveur web Seattle.

À tous les autres moments de la journée, le traitement normal des requêtes a lieu et les réponses sont envoyées à partir de l’étendue de zone par défaut qui contient un enregistrement pour le serveur web dans le centre de données local.

La durée de vie de 10 minutes sur l’enregistrement Azure garantit que l’enregistrement a expiré à partir du cache LDNS avant la suppression de la machine virtuelle d’Azure. L’un des avantages de cette mise à l’échelle est que vous pouvez conserver vos données DNS localement et continuer à effectuer un scale-out vers Azure en fonction de la demande.

Comment configurer une stratégie DNS pour les réponses DNS intelligentes basées sur l’heure du jour avec le serveur d’application Azure

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 à votre déploiement avant d’exécuter ces commandes.

Créer les étendues de zone

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 a le même nom que la zone, et les opérations DNS héritées fonctionnent sur cette étendue.

Vous pouvez utiliser l’exemple de commande suivant pour créer une étendue de zone pour héberger les enregistrements Azure.

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

Pour plus d’informations, consultez Add-DnsServerZoneScope

Ajouter des enregistrements aux étendues de zone

L’étape suivante consiste à ajouter les enregistrements représentant l’hôte du serveur web dans les étendues de zone.

Dans AzureZoneScope, l’enregistrement www.contosogiftservices.com est ajouté avec l’adresse IP 192.68.31.44, qui se trouve dans le cloud public Azure.

De même, dans l’étendue de zone par défaut (contosogiftservices.com), un enregistrement (www.contosogiftservices.com) est ajouté avec l’adresse IP 192.68.30.2 du serveur Web exécuté dans le centre de données local de Seattle.

Dans la deuxième applet de commande ci-dessous, le paramètre –ZoneScope n’est pas inclus. Pour cette raison, les enregistrements sont ajoutés dans zoneScope par défaut.

En outre, la durée de vie de l’enregistrement pour les machines virtuelles Azure est conservée à 600 s (10 minutes) afin que le LDNS ne le mette pas en cache plus longtemps, ce qui interférerait avec l’équilibrage de charge. En outre, les machines virtuelles Azure sont disponibles pendant 1 heure supplémentaire en cas d’urgence pour garantir que même les clients avec des enregistrements mis en cache sont en mesure de résoudre.

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"

Pour plus d’informations, consultez Add-DnsServerResourceRecord.

Créer les stratégies DNS

Une fois les étendues de zone créées, vous pouvez créer des stratégies DNS qui distribuent les requêtes entrantes entre ces étendues afin que les opérations suivantes se produisent.

  1. De 18 h à 21 h tous les jours, 30 % des clients reçoivent l’adresse IP du serveur Web dans le centre de données Azure dans la réponse DNS, tandis que 70 % des clients reçoivent l’adresse IP du serveur Web local de Seattle.
  2. À tous les autres moments, tous les clients reçoivent l’adresse IP du serveur Web local de Seattle.

L’heure du jour doit être exprimé en heure locale du serveur DNS.

Vous pouvez utiliser l’exemple de commande suivant pour créer la stratégie DNS.

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

Pour plus d’informations, consultez Add-DnsServerQueryResolutionPolicy.

À présent, le serveur DNS est configuré avec les stratégies DNS requises pour rediriger le trafic vers le serveur Web Azure basé sur l’heure du jour.

Notez l’expression :

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

Cette expression configure le serveur DNS avec une combinaison ZoneScope et de poids qui indique au serveur DNS d’envoyer l’adresse IP du serveur Web Seattle 70 % du temps, tout en envoyant l’adresse IP du serveur Web Azure 30 % du temps.

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.