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

 

Étape 3 - Modification de la configuration d'HAProxy

 

Maintenant, 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

Pour appliquer les modifications, il va falloir redémarrer le service haproxy. Faites la commandes ci dessous :

/etc/init.d/haproxy restart 

 

Étape 4 - Tests de la configuration d'HAProxy

Pour tester si la configuration fonctionne, nous allons utiliser un navigateur et consulter l'adresse IP du serveur HAPROXY. Celui ci écoute sur le port 80 (HTTP) et redirigera toutes nos requêtes vers l'un des deux serveurs du cluster.

 

Nous nous y rendons une première fois : 

image-1607720034246.png

Nous nous y rendons une seconde fois : 

image-1607720068441.png

Le load balancing fonctionne belle est bien, nous avons donc correctement installé HAProxy.

 

Étape 5 - Stress Test.

Un stress test est le fait de surcharger un serveur pour en connaitre ses limites. Nous allons donc utiliser un logiciel nommé httperf qui fera un grande multitude de requêtes HTTP à nos serveurs. 

 

1 - Installation :

Pour installer httperf, il faudra exécuter les commandes suivantes dans l'ordre et en tant que root sur votre machine.

apt install automake libtool

autoconf
libtoolize --force
autoreconf -i
automake
./configure
make
make install