Formation
Dans cette formation, nous allons voir ensemble la création de A à Z d'un environnement de LoadBalacing avec deux serveurs Web Apache, comme démontré dans le schéma ci-dessus. Nos deux serveurs seront placé dans une DMZ en backend (derriÚre le serveur HAProxy) et donneront les ressources nécessaires au proxy frontal en interne, pour que celui-ci propose deux serveurs en redondance.
Dans cette installation, nous aurons besoin de trois serveurs Linux (Debian 11 de préférence) :
Voici une idée du résultat de l'infrastructure VMware :
Pour procéder à l'installation de HAProxy sur une machine Linux, rien de plus simple avec la commande APT :
sudo apt install haproxy
On vérifie que les services sont en cours de lancement :
service haproxy status
Si le service n'est pas démarré, lancez la commande Shell :
service haproxy start
service haproy status
Une fois que HAProxy est démarré, il fait exactement 3 choses :
Un seul processus peut exécuter de nombreuses instances de proxy ; des configurations aussi grandes que 300000 proxies distincts dans un seul processus ont été signalés comme fonctionnant correctement. Une configuration à un seul
cĆur et un seul processeur est bien plus que suffisante pour plus de 99 % des utilisateurs.
Dans cette démonstration, nous installeront deux serveurs Web APache2 sur lesquels nous afficherons une page HTML qui nous permettra de différencier les deux serveurs Web.
Pour cela on mets à jour la liste des dépÎts et on installe le serveur Web Apache :
sudo apt update
sudo apt install apache2 -y
On modifie la page HTML par défaut de Apache afin de différencier les deux serveurs WEB :
cat > /var/www/html/index.html <<EOF
<h1>Serveur Web Apache2 pour HAProxy</h1>
<strong>Nom du serveur :</strong> $(hostname)<br>
<strong>Adresse IP :</strong> $(hostname -I | awk '{print $1}')<br>
EOF
Cette commande modifie le fichier index.html
, celui par défaut de Apache, en ajoutant en plus de cela le nom de machine et l'adresse IP du serveur Web, récupéré par des variables systÚmes.
Il est important de rĂ©aliser cette opĂ©ration pour chaque serveur Web ! đ
Voici un aperçu de nos serveurs Web en cours d'exécution :
Pour le serveur "Apache #1" :
Et ainsi que pour le serveur web "Apache #2" :
La configuration des frontend et du backend de HAProxy se repose sur un seul et mĂȘme fichier qui est haproxy.cfg
, accessible vers /etc/haproxy/haproxy.cfg
:
Vous pouvez gérer l'ensemble des services de HAProxy dans les fichiers de configuration suivants :
/etc/sysconfig
: configuration du daemon/etc/logrotate.d/haproxy
: si utilisation de Logrotate/var/lib/haproxy
: données de HAProxy/usr/sbin/haproxy
: binaires de HAProxy/usr/share/haproxy
: modÚles des pages d'erreurs propulsées par HAProxyVoyons ensuite plus en détail la configuration du fichier haproxy.cfg
afin de mettre un place un site load-balancé !