Skip to main content

Installer un serveur de Load Balancing - HAProxy

image-1607717025268.png

Introduction : 

Contexte : Le load balancing permet la tolérance de panne mais aussi la continuité de service lors une forte demande utilisateur. Concrètement, un serveur de load balancing ou en français, serveur de répartition de charge, redirige l'utilisateur vers plusieurs serveurs de même fonction. Un utilisateur pourra sans même s'en rendre compte consulter deux serveurs web entre deux pages d'un site. Ce mécanisme permet donc de traiter un nombre d'utilisateur bien plus important qu'un serveur seul permettrais. 
 
Schéma : 

image-1607722445805.png

Étape 1 - Prérequis

Conformément au schéma ci-dessus, pour réaliser l'installation d'HAProxy, vous aurez besoin d'au minimum, deux serveurs web. Pour comprendre correctement le load balancing, j'ai modifié la page d'accueil de chacun de ces sites web afin qu'ils affichent leurs noms. Notons qu'en production, ce serait le même site web qui serait stocké dans les serveurs web.

Serveur web 01 :
image-1607719992443.png
 
Serveur web 02 :
image-1607720011807.png

 

Étape 2 - Mise à jour du système et installation d'HAProxy

 

Premièrement nous allons mettre à jour notre serveur. Un système à jour est un système fiable !

apt-get update ; apt-get upgrade -y

En suite nous allons installer le paquet haproxy :

apt-get install haproxy -y

 

Enfin, modifions la configuration du paquet :

nano /etc/haproxy/haproxy.cfg

Nous laisserons la configuration par défaut et ajouterons à la fin du fichier de configuration les lignes suivantes :  

# FrontEND
frontend frontend-base
        # IP d'écoute du proxy.
        bind 172.31.64.100:80
        default_backend backend-base
        option forwardfor
# BackEND
backend backend-base
        # On utilise le mode Roundrobin
        balance roundrobin
        # On liste les serveurs de backend
        server  serveur-web-1   172.31.64.101:80 check
        server  serveur-web-2   172.31.64.102:80 check

 

 

 

 

 

 

 

 

 

image-1607720034246.png

image-1607720068441.png