Infrastructure & HA

Service Web Haute Disponibilité

Déploiement d'une infrastructure web complète avec load-balancing HAProxy et cluster Pacemaker pour assurer la haute disponibilité.

01

Contexte du projet

Dans le cadre de ma formation BTS SIO option SISR, j'ai réalisé un projet complet de mise en place d'une infrastructure web haute disponibilité. L'objectif etait de déployer une solution e-commerce resiliente capable de supporter la panne d'un ou plusieurs composants.

Cadre : 4 machines virtuelles Rocky Linux, application PHP avec base de données MariaDB, load-balancing HAProxy et cluster Pacemaker/Corosync.

Technologies utilisées

Rocky Linux Nginx PHP-FPM MariaDB HAProxy Pacemaker Corosync SSL/TLS

Livrables

Stack LEMP HTTPS Load Balancing Cluster HA VIP
02

Infrastructure déployée

Role Hostname IP Description
WEB01web1192.168.153.128Backend Nginx + PHP-FPM + MariaDB
WEB02web2192.168.153.129Backend Nginx + PHP-FPM
HA01ha01192.168.153.131HAProxy + Pacemaker
HA02ha02192.168.153.130HAProxy + Pacemaker
VIPvip-haproxy192.168.153.132IP Virtuelle cluster
Client
VIP
192.168.153.132
HAProxy HA
ha01 / ha02
Backends
web1 / web2
03

TP1 - Service Web de Base

Objectifs

Installer la stack LEMP (Nginx + PHP-FPM + MariaDB)
Configurer 2 sites : ecommerce.fr et ecommerce.uk
Creer la base de données applicative
Mettre en place une restriction IP
Configurer GoAccess pour l'analyse des logs
04

TP2 - HTTPS et Redirection

Sécurisation SSL/TLS

J'ai genere un certificat auto-signe et configure Nginx pour forcer la redirection HTTP vers HTTPS.

openssl req -x509 -nodes -newkey rsa:2048 -days 365 \ -keyout /etc/ssl/private/ecommerce.key \ -out /etc/ssl/certs/ecommerce.crt \ -subj '/C=FR/ST=Nord/L=Lille/O=OrdiGlobal/OU=IT/CN=ecommerce.fr'
05

TP3 - Load Balancer HAProxy

Repartition de charge

J'ai configuré un second serveur web (web2) et mis en place HAProxy pour distribuer le trafic en mode round-robin.

web2 configure avec accès à la base distante sur web1
HAProxy en mode round-robin avec header X-Backend
Tolerance aux pannes : service maintenu avec un backend down
06

TP4 - Cluster Pacemaker

Haute Disponibilité

J'ai mis en place un cluster Pacemaker/Corosync sur ha01 et ha02 pour gerer une VIP et le service HAProxy avec failover automatique.

pcs resource create virtual_ip ocf:heartbeat:IPaddr2 ip=192.168.153.132 cidr_netmask=24 pcs resource create haproxy systemd:haproxy pcs resource group add HAproxyGroup virtual_ip haproxy

Validations finales

  • Cluster Pacemaker/Corosync opérationnel
  • VIP 192.168.153.132 accessible
  • Failover automatique fonctionnel
  • Bascule manuelle validée
  • Service maintenu en cas de panne
07

Compétences mobilisees

Administration système

Installation et configuration de serveurs Linux, gestion des services systemd, pare-feu firewalld.

Sécurisation

Certificats SSL/TLS, configuration HTTPS, restrictions d'accès IP.

Load Balancing

Configuration HAProxy, repartition round-robin, health checks.

Haute Disponibilité

Cluster Pacemaker/Corosync, VIP, failover automatique et manuel.

Voir toutes les compétences E5