HAProxy - Load Balancing de serveur Web – Partie 3
Alasta 15 Juillet 2013 ha Apache CentOS HA Proxy Least Connection Linux Load Balancer Open Source Reverse Proxy VirtualBox
Description : Dans les parties 1 et 2, nous avons vu la mise en place rapide et simple de haute disponibilité d'un service web basic. Ce troisième volet va présenter quelques affinages de configuration pour la rendre plus modulaire.
Pour faire quelque chose de plus modulaire, facile à travailler nous allons utiliser les directives frontend et backend.
Ces directives font respectivement, gestion de tout ce qui est côté client et gestion de tout ce qui est côté serveur.
En fin de compte, listen regroupe les directives frontend et backend en une seule.
La directive listen est plutôt à réserver à l'interface de statistiques.
Configuration :
Nous allons voir un fichier complet, la description des options fera l'objet d'un article dédié.
Ayant dédié une interface aux statistiques et une à la VIP du service web, je crée une interface secondaire (ici elle sera faite à la volée, mais pour une configuration pérenne il faut la créer dans le système).
ifconfig eth0:1 192.168.5.18
Edition du fichier /etc/haproxy/haproxy.cfg
global log 127.0.0.1 local0 log 127.0.0.1 local1 notice #log loghost local0 info maxconn 4096 #debug #quiet user haproxy group haproxy stats socket /var/run/haproxy.stat level admin defaults log global mode http option httplog option dontlognull retries 3 option redispatch maxconn 2000 contimeout 5000 clitimeout 50000 srvtimeout 50000 listen IP_stats 192.168.5.17:80 //Declaration de l'interface pour les stats stats enable stats uri /stats // Endroit où les stats seront consultables stats auth pseudo:password // votre username : password frontend ft_www //Declaration de la VIP coté client bind 192.168.5.18:80 mode http log global option httplog maxconn 4000 default_backend bk_apache backend bk_apache //Declaration de la ferme de serveur backend balance static-rr mode http server apache1 10.0.0.1:80 check server apache2 10.0.0.2:80 check server apache3 10.0.0.3:80 check
Là on voit rapidement qu'il est simple de créer plusieurs backends et de rapidement les changer dans le frontend.
Nous verrons dans un autre articles les avantages de ces directives lors de configurations avancées.