Distribuez le trafic entre plusieurs serveurs avec le DNS Round Robin.
Le DNS Round Robin est une technique simple de répartition de charge qui consiste à associer plusieurs adresses IP à un même nom de domaine. Quand un client résout le nom, le serveur DNS retourne les IP dans un ordre différent (rotatif), distribuant ainsi les requêtes entre les serveurs. C'est le load balancing le plus simple à mettre en place - aucun équipement spécial requis.
Cette technique existe depuis les débuts d'Internet et est toujours largement utilisée. Les grands sites comme Google ou Facebook utilisent une forme sophistiquée de round robin combinée avec de l'Anycast et du health checking. Pour des besoins simples, le round robin DNS classique reste une solution efficace et économique.
Cependant, le round robin DNS a des limitations importantes : pas de health checking intégré, distribution inégale due au caching, pas de prise en compte de la charge réelle. Comprendre ces limitations vous aidera à décider si c'est la bonne solution pour votre cas d'usage.
Le principe est simple mais son comportement réel est nuancé :
Le round robin DNS offre plusieurs bénéfices :
La configuration est remarquablement simple :
Voici comment configurer et tester le round robin :
; Configuration Round Robin - 3 serveurs
www.example.com. 300 IN A 203.0.113.1
www.example.com. 300 IN A 203.0.113.2
www.example.com. 300 IN A 203.0.113.3
; Test de rotation avec dig
$ dig www.example.com A +short
203.0.113.2
203.0.113.3
203.0.113.1
$ dig www.example.com A +short
203.0.113.3
203.0.113.1
203.0.113.2
; Observer les 3 IP à chaque requête, ordre différent
; Vérifier le TTL (doit être identique)
$ dig www.example.com A | grep -A3 "ANSWER SECTION"
;; ANSWER SECTION:
www.example.com. 300 IN A 203.0.113.1
www.example.com. 300 IN A 203.0.113.2
www.example.com. 300 IN A 203.0.113.3
Chaque requête retourne toutes les IP mais dans un ordre différent. Le TTL de 300 secondes (5 minutes) est un bon compromis entre distribution et cache. Tous les enregistrements doivent avoir le même TTL.
Maximisez l'efficacité du round robin :
Non, pas parfaitement. Le caching DNS fait que certains clients restent sur la même IP pendant le TTL. Les clients derrière un même résolveur partagent le même cache.
Le DNS continue de retourner son IP. Les clients modernes essaieront une autre IP après timeout, mais c'est lent et pas fiable. Retirez l'IP manuellement ou utilisez un vrai load balancer.
Pas avec le round robin standard. Pour la pondération, vous avez besoin d'un DNS intelligent (Cloudflare, Route 53) ou d'un load balancer matériel/logiciel.
Oui, le DNS ne sait pas quel protocole sera utilisé. Assurez-vous que tous vos serveurs ont des certificats SSL valides pour le domaine.
Anycast utilise la même IP sur plusieurs serveurs - le routage réseau choisit le plus proche. Round Robin utilise des IP différentes - le DNS les fait tourner.
Oui, créez un monitor pour chaque IP du round robin. MoniTao vérifiera chaque serveur individuellement et vous alertera si l'un tombe.
Le DNS Round Robin reste une technique pertinente pour des besoins simples de répartition de charge. Zéro coût, facile à mettre en place, et suffisant pour de nombreux cas d'usage.
Mais ne sous-estimez pas ses limitations. Pour une vraie haute disponibilité avec health checking automatique, vous aurez besoin d'une solution plus sophistiquée. En attendant, surveillez chaque serveur avec MoniTao.
Commencez gratuitement, sans carte bancaire.