Qu'est-ce que l'équilibrage de charge basé sur le DNS ?

L'équilibrage de charge DNS améliore la disponibilité et les performances des applications en dirigeant les utilisateurs vers plusieurs adresses IP pour un même domaine.

Objectifs d’apprentissage

Cet article s'articule autour des points suivants :

  • Définir l'équilibrage de charge basé sur le DNS
  • Expliquez le fonctionnement du DNS round-robin.
  • Comprendre les différentes configurations d'équilibrage de charge basées sur le DNS.

Copier le lien de l'article

Qu'est-ce que l'équilibrage de charge basé sur le système de nom de domaine (DNS) ?

Équilibrage de la charge est la pratique consistant à répartir le trafic sur plusieurs serveurs afin d'améliorer les performances et la disponibilité. Les organisations utilisent différentes formes d'équilibrage de charge pour accélérer les sites Web et les réseaux privés. Sans l'équilibrage de charge, la plupart des applications Internet et des sites Web ne pourraient pas gérer efficacement le trafic ou fonctionner correctement.

Le DNS est souvent appelé le répertoire téléphonique de l'internet car il traduit les domaines de sites web (comme google.com ou nytimes.com) en adresses IP. Une adresse IP est une longue étiquette numérique que les serveurs utilisent pour identifier les sites web et tout appareil connecté à l'Internet. En traduisant les noms de domaine en adresses IP - un processus appelé résolution DNS - le DNS évite aux gens de mémoriser de longues séquences de chiffres pour accéder aux sites web et aux applications.

Dans la résolution DNS, le navigateur d'un internaute contacte un serveur DNS pour demander l'adresse IP correcte du site web de destination. L'acte de demander une adresse IP à partir d'un domaine est appelé une requête DNS.

L'équilibrage de charge basé sur le DNS est un type spécifique d'équilibrage de charge qui utilise le DNS pour répartir le trafic entre plusieurs serveurs. Pour ce faire, il fournit différentes adresses IP en réponse aux requêtes DNS. Les équilibreurs de charge peuvent utiliser diverses méthodes ou règles pour choisir l'adresse IP à partager en réponse à une requête DNS.

L'une des techniques d'équilibrage de charge DNS les plus courantes est appelée round-robin DNS.

Qu'est-ce que le DNS round-robin ?

Le DNS round-robin a le même objectif que les autres types d'équilibrage de charge basé sur le DNS : améliorer les performances et la fiabilité d'un site en distribuant le trafic. Cependant, contrairement à l'utilisation d'un équilibreur de charge logiciel ou matériel spécialisé, le DNS round-robin effectue l'équilibrage de charge en utilisant un type de serveur DNS appelé authoritative nameserver.

Les serveurs de noms faisant autorité détiennent des enregistrements DNS appelés enregistrements A ou AAAA, qui contiennent le nom d'un domaine et son adresse IP correspondante. Lorsqu'un client soumet une requête DNS, le but de la requête est de trouver l'enregistrement A (ou AAAA). Dans une configuration de base, un domaine aura un seul enregistrement A lié à une seule adresse IP, ce qui signifie qu'une requête DNS renverra toujours la même adresse IP.

Toutefois, dans le cas du DNS round-robin, les domaines ont plusieurs enregistrements A, chacun lié à une adresse IP différente. Au fur et à mesure que les requêtes DNS arrivent, les adresses IP tournent à tour de rôle, répartissant les requêtes sur les serveurs associés.

Comment fonctionne le DNS round-robin ?

S'il y a cinq adresses IP dans le DNS round-robin, une requête DNS ne renverra l'adresse IP n°1 qu'à chaque sixième requête. Comme chaque adresse IP correspond à un serveur différent, cette configuration réduit la charge de travail de chaque serveur, ce qui le rend moins susceptible d'être submergé par les demandes.

Pour comprendre le fonctionnement du DNS round-robin, comparez la visite d'un site Web à l'envoi d'un courrier à une entreprise. Supposons que l'entreprise utilise une boîte postale pour recevoir le courrier de ses clients, mais qu'elle reçoit plus de courrier que ne peut en contenir sa boîte postale unique. Pour résoudre ce problème, l'entreprise pourrait acheter plus de boîtes postales.

Pour que la stratégie des boîtes postales multiples fonctionne, l'entreprise doit veiller à ce qu'aucune boîte ne déborde de courrier. Cela signifie que l'adresse de la boîte postale qui apparaît lorsque les clients recherchent l'adresse postale de l'entreprise doit alterner de manière séquentielle. Le client n°1 verrait l'adresse de la boîte postale n°1, puis le client n°2 verrait l'adresse de la boîte postale n°2. Cette méthode permettrait de réduire la charge sur les boîtes postales individuelles en augmentant la capacité globale. Sans boîtes aux lettres supplémentaires, une seule boîte postale pourrait facilement déborder, ce qui retarderait l'arrivée du courrier.

Comme dans l'exemple de la boîte postale, le DNS round-robin empêche les serveurs d'être submergés de demandes, évitant ainsi tout retard dans leur traitement.

Quels sont les autres types d'équilibrage de charge basés sur le DNS ?

Si l'approche round-robin est populaire, elle n'est pas la seule méthode d'acheminement du trafic. La plupart des équilibreurs de charge permettent aux propriétaires de domaines de choisir parmi plusieurs règles d'acheminement du trafic.

Un exemple de configuration d'équilibrage de la charge basée sur le DNS est un algorithme pondéré dans lequel des poids relatifs sont attribués aux différents serveurs en fonction de leur capacité à gérer le trafic. Le trafic est ensuite attribué proportionnellement. Par exemple, si le serveur A a deux fois la capacité du serveur B, l'équilibreur de charge attribue deux fois plus de trafic au serveur A qu'au serveur B. Pour ce faire, il renvoie l'adresse IP du serveur A en réponse aux requêtes DNS. Le round-robin pondéré ou la moindre connexion pondérée sont des exemples de ce type d'algorithme d'équilibrage de charge.

De nombreuses approches d'équilibrage de charge basées sur le DNS sont dynamiques, ce qui signifie que les équilibreurs de charge tiennent compte de la santé et des temps de réponse des serveurs lors de l'attribution des demandes. Les algorithmes dynamiques peuvent prendre plusieurs formes. "La moindre connexion" est un type d'algorithme d'équilibrage de charge dynamique. Dans la configuration de la moindre connexion, la surveillance du serveur détermine quel serveur a actuellement le moins de connexions ouvertes, puis affecte le trafic entrant à ce serveur en fournissant son adresse IP en réponse aux requêtes DNS.

La géolocalisation est un autre algorithme dynamique largement utilisé. Dans cette configuration, l'équilibreur de charge affecte les demandes provenant d'une région à un serveur ou à un ensemble de serveurs définis. Par exemple, toutes les requêtes provenant de France sont dirigées vers le "serveur F", et toutes les requêtes provenant d'Espagne sont dirigées vers le "serveur S".

Un algorithme basé sur la proximité accomplit quelque chose de similaire. Dans cette configuration, les équilibreurs de charge affectent dynamiquement le trafic au serveur le plus proche de l'utilisateur.

Les algorithmes dynamiques suivent des règles légèrement différentes, mais font finalement la même chose : surveiller la santé du serveur et optimiser l'affectation du trafic.

Comment fonctionne l'équilibrage de charge basé sur le DNS de Cloudflare ?

L'équilibrage de charge Cloudflare est une solution d'équilibrage de charge basée sur le DNS qui surveille activement la santé des serveurs via les requêtes HTTP/HTTPS. En fonction des résultats de ces contrôles de santé, Cloudflare dirige le trafic vers les serveurs d'origine sains et l'éloigne des serveurs malsains. Cloudflare Load Balancing offre également aux clients qui reverse proxy leur trafic l'avantage supplémentaire en matière de sécurité de masquer l'adresse IP de leur serveur d'origine. En savoir plus sur Cloudflare Load Balancing.