Un nom d'hôte, plusieurs enregistrements A
1re réponse
93.184.216.34
2e réponse
93.184.216.35
3e réponse
93.184.216.36
Le résolveur renvoie tous les enregistrements, généralement en rotation
Round-robin DNS : répartir le trafic entre plusieurs IP
Le round-robin DNS est une technique simple dans laquelle le DNS publie plusieurs enregistrements d'adresse pour un nom et peut en faire tourner l'ordre d'une réponse à l'autre. Les clients et les résolveurs voient alors plusieurs destinations possibles plutôt qu'une seule IP fixe. On l'utilise souvent pour répartir les connexions entre des serveurs ou assurer une redondance de base. Cependant, le DNS n'observe pas si chaque serveur est sain pour chaque client individuel, et la mise en cache signifie que les résolveurs peuvent continuer à utiliser une réponse pendant la durée de son TTL. Le round-robin est donc une méthode de distribution légère, et non un système complet de répartition de charge sensible à l'état de santé avec basculement garanti.
Ce que les clients peuvent voir
Une réponse DNS peut contenir plus d'un enregistrement A ou AAAA. Un résolveur récursif peut mettre cet ensemble en cache, et un système d'exploitation ou une application choisit comment essayer les adresses renvoyées. Certains systèmes utilisent la première adresse, d'autres réordonnent ou tentent plusieurs connexions, et les piles de navigateurs modernes peuvent mettre les familles d'adresses en concurrence selon leurs propres stratégies de connexion. L'ordre de la réponse DNS seul ne peut pas prouver quel serveur a finalement traité la requête d'un utilisateur. Répéter une recherche peut montrer des ordres ou des sous-ensembles différents, mais ce comportement dépend du fournisseur faisant autorité et du résolveur.
| Propriété | Round-robin DNS |
|---|---|
| Entrées | Enregistrements A ou AAAA avec plusieurs adresses |
| Sensibilité à la santé | Non inhérente à la rotation DNS ordinaire |
| Effet du cache | Les anciens ensembles de réponses peuvent persister jusqu'à l'expiration du TTL |
| Cas d'usage idéal | Distribution simple lorsque les points de terminaison restent utilisables |
| Limite | Pas de décision par requête ni de garantie de basculement instantané |
Une conséquence importante est qu'un serveur défaillant peut rester dans les réponses en cache jusqu'à l'expiration du TTL concerné ou jusqu'à ce que le résolveur rafraîchisse ses données. Abaisser le TTL avant une migration planifiée peut raccourcir la fenêtre de cache attendue, mais n'efface pas une réponse déjà mise en cache sous son ancien TTL. Un client peut aussi avoir son propre cache ou son propre comportement de réutilisation des connexions. Pour ces raisons, le round-robin DNS ne devrait pas être l'unique protection contre une panne de serveur lorsque le service exige un basculement rapide et fiable fondé sur l'état de santé.
Comparaison avec un répartiteur de charge
Un répartiteur de charge dédié peut prendre des décisions au niveau de la connexion ou de l'application, exécuter des contrôles de santé et n'envoyer le trafic qu'aux points de terminaison qui répondent aux critères configurés. Un fournisseur DNS peut lui aussi proposer des contrôles de santé et des réponses dynamiques, mais ces capacités sont propres à chaque fournisseur et interagissent toujours avec les caches récursifs. Un simple ensemble d'enregistrements round-robin ne fait que proposer des choix ; il n'a aucune boucle de rétroaction intrinsèque. Ces conceptions peuvent être combinées, par exemple lorsque le DNS oriente les utilisateurs vers un répartiteur de charge régional pendant que ce répartiteur sélectionne un serveur backend sain. Choisissez la couche capable d'observer le mode de défaillance que vous devez gérer.
- Veillez à ce que chaque adresse d'un ensemble round-robin soit capable de servir le nom d'hôte.
- Surveillez chaque point de terminaison indépendamment ; la rotation DNS n'est pas un contrôle de santé.
- Comprenez le TTL et la mise en cache côté client avant de planifier une bascule ou un basculement automatique.
- Utilisez un répartiteur de charge sensible à l'état de santé lorsqu'il faut exclure rapidement un point de terminaison.
- Comparez les réponses successives de résolveurs nommés et notez l'heure de chaque requête.
Comment dépanner des réponses multiples
Si un domaine se résout en plusieurs adresses IP, établissez d'abord si c'est voulu. Consultez la zone faisant autorité ou le tableau de bord du fournisseur pour obtenir l'ensemble complet des enregistrements, puis comparez les réponses récursives. Déterminez si les adresses appartiennent à l'hébergement, au CDN ou à l'infrastructure de répartition de charge attendus, en vous appuyant sur la documentation du fournisseur plutôt que sur la seule recherche inverse. Testez chaque point de terminaison via le nom d'hôte et la configuration TLS prévus si vous l'administrez. Une requête directe vers une IP peut produire un résultat différent, car l'hébergement virtuel dépend du nom d'hôte : ne considérez donc pas un test sur IP seule comme un parfait substitut du trafic normal.
Le round-robin DNS est facile à mettre en place, mais sa simplicité opérationnelle peut masquer d'importantes hypothèses sur la durée du cache et l'état de santé des points de terminaison. Pour un contexte plus large, consultez pourquoi les domaines ont plusieurs IP et comment les CDN utilisent le DNS. Une recherche d'IP de domaine peut montrer l'ensemble de réponses publiques actuel ; associez cette observation à une surveillance et à des contrôles propres au service pour comprendre si la distribution fonctionne comme prévu.
Garder un pool cohérent sur toutes les destinations
Avant d'ajouter plusieurs adresses à un ensemble round-robin, vérifiez que chaque point de terminaison peut servir sans risque le même nom d'hôte et la même version de l'application. Contrôlez la couverture des certificats, l'état de santé, la cohérence des données et toute hypothèse sur l'état de session. Si les utilisateurs peuvent atterrir sur n'importe quelle adresse, un serveur dont le contenu est incomplet ou la configuration de connexion différente peut provoquer des pannes intermittentes qui paraissent aléatoires. Surveillez chaque adresse via l'en-tête host et le nom TLS corrects, et comparez les erreurs applicatives plutôt que de vous fier au seul ping. Lorsque vous retirez une destination défaillante, tenez compte des réponses DNS en cache et des connexions déjà ouvertes. Le DNS peut cesser d'annoncer une adresse aux nouvelles recherches, mais il ne peut pas mettre fin instantanément à la session existante ni à la connexion en cache de chaque client.
Besoin de vérifier les adresses DNS publiques d'un domaine ? Utilisez l'outil Domain IP Lookup.
À lire aussi
Un nom d'hôte, plusieurs enregistrements A
1re réponse
93.184.216.34
2e réponse
93.184.216.35
3e réponse
93.184.216.36
Le résolveur renvoie tous les enregistrements, généralement en rotation
Répartition de charge DNS : méthodes, avantages, limites
Comparez le DNS aux répartiteurs de charge applicatifs et voyez comment TTL, contrôles de santé et réponses régionales influent sur la disponibilité.
Pourquoi une recherche affiche le CDN, pas l'origine
Visiteur
recherche le domaine
Edge CDN
104.21.x.x
c'est ce que renvoie le DNS
Serveur d'origine
IP réelle, jamais exposée
Qu'est-ce qu'un serveur d'origine ? Différence avec un CDN
Le rôle d'un serveur d'origine derrière un CDN ou un reverse proxy, pourquoi le DNS public affiche parfois une adresse edge et comment dépanner sans risque.
Pourquoi une recherche affiche le CDN, pas l'origine
Visiteur
recherche le domaine
Edge CDN
104.21.x.x
c'est ce que renvoie le DNS
Serveur d'origine
IP réelle, jamais exposée
Qu'est-ce qu'un reverse proxy ? Guide pratique DNS et web
Comprenez comment un reverse proxy s'intercale entre clients et serveurs, comment le DNS y dirige les utilisateurs et comment il prend en charge le routage, TLS et la sécurité.