UNIVERSITÉ MOULOUD MAMMERI TIZI-OUZOU
FACULTÉ DU GÉNIE ÉLECTRIQUE ET D’INFORMATIQUE
DÉPARTEMENT D’INFORMATIQUE
Mise en place d’un Load Balancer Azure pour La Répartition du
Trafic Entre deux Machines Virtuelles Identiques
Spécialité: Conduite de projets informatiques
Réalisé Par:
● BOUDJEMAI Sara
● DJEBALI Melissa
● REZZOUK Nada
● CHIKHAOUI Romayssa
Année universitaire : 2025/2026
Sommaire
Introduction ............................................................................................................................. 2
Problématique ..........................................................................................................................2
I. Les Fondamentaux du Load Balancing Cloud
1. Qu’est-ce qu’un Load Balancer ? .................................................................................... 3
2. Azure Load Balancer ........................................................................................................3
II. Architecture de la Solution
1. Composants principaux ....................................................................................................4
2. Le composant Azure Load Balancer ................................................................................5
III. Étapes de Configuration et Mise en Œuvre
1. Création et configuration des machines virtuelles……………………………………….6
2. Création et configuration du Load Balancer……………………………………………..7
IV. Tests et Validation de la Solution
1. Test de répartition de charge ............................................................................................8
2. Test de rétablissement ......................................................................................................9
V. Conclusion ………………………………………………………………………………..10
Bibliographie
1
Introduction
Avec l’évolution rapide des applications web modernes, les entreprises doivent faire
face à des volumes de trafic de plus en plus importants. Dans ce contexte, s’appuyer sur un
serveur unique ne suffit plus pour garantir des performances stables, une disponibilité
continue et une expérience utilisateur satisfaisante. L’essor du cloud computing a ainsi
conduit à des architectures basées sur plusieurs machines virtuelles capables de travailler
ensemble pour assurer la continuité des services. Cependant, lorsque la charge augmente ou
qu’une machine tombe en panne, l’infrastructure peut rapidement atteindre ses limites et
provoquer des ralentissements ou une indisponibilité du service.
Pour répondre à ces défis, les infrastructures modernes intègrent un composant
essentiel: le load balancer. Cet équilibreur de charge répartit intelligemment le trafic entre
plusieurs serveurs afin d’éviter la surcharge. Les plateformes cloud comme Microsoft Azure
offrent aujourd’hui des solutions de load balancing robustes, flexibles et parfaitement
adaptées aux environnements distribués.
C’est dans cette optique que s’inscrit notre travail, qui consiste à mettre en place un
Azure Load Balancer dans le but de répartir le trafic entre deux machines virtuelles et
d’assurer une architecture plus stable, performante et hautement disponible.
Problématique
Comment la mise en place d’un azure load balancer assure-t-elle une répartition
efficace du trafic, une haute disponibilité des services et une meilleure résilience de
l’infrastructure ?
2
I. Les Fondamentaux du Load Balancing Cloud
1. Qu'est-ce qu'un Load Balancer ?
Un Load Balancer (Équilibreur de Charge) est un dispositif réseau qui distribue
efficacement le trafic réseau ou applicatif entrant sur un ensemble de serveurs backend.
Les objectifs principaux du Load Balancing sont essentiels à toute architecture moderne :
● Haute Disponibilité (HA) : En cas de défaillance d'un serveur, le LB détecte l'état de
panne via des Health Probes et redirige le trafic vers les serveurs sains, assurant ainsi
une continuité de service.
● Scalabilité :Il facilite l’ajout ou le retrait de ressources dans le backend pool afin
d’absorber les variations de charge tout en maintenant la disponibilité du service.
● Performance : En répartissant les requêtes, il réduit la charge sur chaque serveur,
minimisant les temps de réponse.
2. Azure Load Balancer
L'Azure Load Balancer est le service natif de Microsoft Azure qui implémente la fonction
d'équilibrage de charge au niveau de la couche Transport (Layer 4 : TCP et UDP) du
modèle OSI.
Dans Azure, l'équilibrage de charge peut être classé selon deux axes principaux :
● Classification par Portée (Scope)
○ Public Load Balancer (Externe) : Distribue le trafic provenant d'Internet vers
les machines virtuelles du réseau virtuel. Nécessite une adresse IP publique
[Link]é quand les clients externes doivent accéder à une application.
○ Internal Load Balancer (Interne) : Distribue le trafic au sein d'un réseau virtuel
(VNet) ou entre des réseaux privés. Nécessite une adresse IP privée front-end.
● Classification par Référence SKU (Stock Keeping Unit)
La classification par Référence SKU détermine les fonctionnalités et la résilience du service.
○ SKU Basic : pour des applications simples, avec moins de fonctionnalités et de
performances
○ SKU Standard : Recommandée pour les environnements de production. Elle
offre une haute disponibilité supérieure, une intégration aux Zones de
3
Disponibilité d'Azure, des outils de surveillance avancés et une plus grande
évolutivité.
II. Architecture de la Solution
Cette section explique comment l’infrastructure Azure est organisée pour que le service web
reste toujours disponible et que le trafic soit bien réparti entre les réseaux.
La solution utilise trois catégories de ressources principales :
● Azure Load Balancer Standard pour distribuer le trafic et assurer la résilience.
● Machines Virtuelles (VMs) pour héberger l’application.
● Réseau et Sécurité pour protéger et organiser les communications internes et
externes.
1. Composants principaux
Pour mettre en place un service hautement disponible, plusieurs composants d'infrastructure
sont nécessaires pour soutenir le rôle central du Load Balancer.
1.1 Réseau Virtuel (VNet) et sous-réseau
Le VNet constitue le réseau privé, isolé et sécurisé, où toutes les ressources de la solution
Azure sont connectées. Un sous-réseau unique est créé pour héberger les machines virtuelles,
utilisant une plage d'adresses IP privées comme [Link]/24. Cette configuration sert à
identifier et à sécuriser la communication entre les machines de manière interne.
1.2 Machines Virtuelles (VMs)
Les VMs forment la couche applicative de l'architecture.
● Nombre et rôle : Deux VMs identiques, par exemple vm1 et vm2, sont déployés pour
former le pool backend du Load Balancer.
● Configuration : Les VMs utilisent le même système d’exploitation (Ubuntu Server
ou Windows Server) et ont un serveur web installé (Apache ou IIS). Pour tester,
chaque VM peut afficher son nom sur la page d’accueil afin de vérifier que le Load
Balancer distribue correctement le trafic.
Adresse IP privée : Chaque VM a une IP fixe dans le réseau interne ([Link] et
[Link]) pour communiquer avec le Load Balancer.
Adresse IP publique : Le Load Balancer a une IP publique qui est le point d’entrée
unique pour tous les utilisateurs externes.
4
1.3 Groupes de Sécurité Réseau (NSG)
Les NSG sont des pare-feu au niveau des ressources réseau, essentiels pour sécuriser
l'infrastructure. Ils contrôlent le trafic entrant et sortant des VMs.
Les règles typiques mises en œuvre sont :
● Autoriser le trafic web (HTTP/HTTPS) provenant du Load Balancer vers les VMs.
● Restreindre l'accès d'administration (SSH pour Linux ou RDP pour Windows) aux
VMs, le limitant à des adresses IP spécifiques ou via Azure Bastion pour des raisons
de sécurité.
2. Le Composant Azure Load Balancer
L'Azure Load Balancer est le composant central qui permet de répartir le trafic entre les
différentes VMs, assurant ainsi que l’application reste rapide, fiable et toujours disponible.
2.1 IP Frontend
L’IP Frontend correspond à l’adresse IP publique qui sert de point d’entrée unique à
l’application. Toutes les requêtes externes destinées au service passent d'abord par cette
adresse qui agit comme la « porte d’accès » du Load Balancer.
2.2 Pool Backend
Le Pool Backend constitue l'ensemble des cibles sur lesquelles le trafic est distribué. Il
regroupe les machines virtuelles (ex: vm1 et vm2) en se connectant directement à leur
interface réseau (NIC). C'est via cette NIC que le Load Balancer identifie l'IP privée de
chaque serveur pour lui acheminer les flux de données et vérifier sa disponibilité.
2.3 Health Probes
Pour s’assurer que les utilisateurs ne sont jamais dirigés vers une machine défaillante, le Load
Balancer utilise des Health Probes.
● Ces Health Probes effectuent des vérifications régulières sur le port d'écoute de
l'application (par exemple, le port 80).
● Si une VM ne répond pas correctement dans le délai imparti, elle est temporairement
retirée du pool backend actif, et le trafic est redirigé vers les machines saines
restantes. Ce mécanisme est la garantie fondamentale de la haute disponibilité.
2.4 Règles d’équilibrage
Les règles d’équilibrage définissent comment le trafic entrant sur l’IP publique et le port de
l’application (comme le port 80 pour HTTP) est distribué vers les VMs du pool backend.
Par défaut, la répartition se fait en fonction de cinq critères : IP source, port source, IP
5
destination, port destination et protocole. Cette méthode permet de répartir les requêtes de
manière équitable entre les VMs disponibles.
Si l’application nécessite que chaque utilisateur soit toujours dirigé vers la même VM
(affinité de session), le Load Balancer peut-être configuré pour maintenir cette continuité,
mais pour la plupart des cas, la répartition par défaut est optimale pour garantir performance
et disponibilité.
III. Étapes de Configuration et Mise en Œuvre
Lors de cette étape, nous verrons comment configurer les différents composants de la
solution proposée (Machines Virtuelles, Vnet, Load Balancer).
1. Création et configuration des VM
Nous commençons par créer deux machines virtuelles identiques en tout point (même
groupe de ressource, localisation, image, taille, règles de ports d'entrée). Chaque
machine fait partie du même réseau virtuel(Vnet) et au sein du même sous réseau
(subnet).
Une fois déployé, nous pouvons maintenant communiquer avec celles-ci à l’aide du
terminal Linux intégré dans Azure (cloud shell). Ce dernier emploie le protocole SSH
qui permet une connexion distante sécurisée aux VMs à travers leur adresse IP
publique, en autorisant l’exécution de commandes et la configuration des services.
Une fois la connexion établie, nous allons installer le serveur web Apache 2 dans les
deux machines virtuelles, à travers ce même terminal.
6
2. Création et configuration du Load Balancer
● Afin de répartir le trafic entre les VMs, nous avons besoin de configurer un
load balancer. Celui-ci fera partie du même groupe de ressource que les VMs
et aura un SKU (storage keeping unit) standard pour assurer le bon
fonctionnement du dispositif. Une fois l'instance du Load Balancer créée, nous
procédons à la configuration de son adresse IP frontale, qui servira de point de
contact unique pour les clients externes.
● Pour que l'équilibrage soit effectif, nous rattachons nos deux machines
virtuelles à un pool d'arrière-plan (backend pool), désignant ainsi les cibles
vers lesquelles le trafic sera acheminé.
● Afin de garantir la résilience de notre architecture, nous mettons en place une
sonde de santé (health probe). Ce mécanisme surveille en permanence l'état du
service Apache sur le port 80 de chaque VM ; si l'une d'elles devient
injoignable, le Load Balancer l'exclut automatiquement de la rotation pour ne
pas impacter l'utilisateur final.
● Enfin, nous définissons une règle d'équilibrage de charge pour mapper le trafic
entrant de l'adresse IP publique vers le pool de serveurs. Cette configuration
assure une distribution équitable des requêtes HTTP, optimisant ainsi les
performances globales de notre application web.
● Une fois l'infrastructure déployée, nous validons le bon fonctionnement du
système en accédant à l'adresse IP du Load Balancer depuis un navigateur. En
simulant des connexions successives, nous constatons que la charge est
alternativement dirigée vers l'une ou l'autre VM, confirmant que notre
mécanisme de répartition est opérationnel et prêt à absorber le trafic de
manière fluide et sécurisée.
7
IV. Tests et Validation de la Solution
Ces tests valident que l'architecture avec Azure Load Balancer assure une répartition de
charge optimale et une haute disponibilité, répondant ainsi aux exigences de la
problématique.
1. Test de Répartition de Charge (Load Balancing)
L'objectif de ce test est de vérifier que l'Azure Load Balancer utilise correctement
l'algorithme par défaut (hachage à cinq critères) pour distribuer équitablement les requêtes
entrantes entre les deux serveurs (VM1 et VM2) du Backend Pool.
1.1 Méthodologie
La vérification repose sur la différenciation visuelle du contenu de chaque machine virtuelle :
1. Les VMs VM1 et VM2 ont été configurées pour afficher une page d'accueil distincte
(ex : VM1 affiche welcome to vm1, VM2 affiche welcome to vm2).
2. L'accès a été effectué via l'adresse IP publique unique du Load Balancer Frontend.
3. Des tentatives de connexion successives ont été réalisées (actualisation du navigateur
ou utilisation de différents clients) pour observer si les réponses alternent entre le
contenu de VM1 et celui de VM2.
1.2 Résultats
Le test a confirmé que le Load Balancer répartit correctement le trafic :
● La première requête affiche, par exemple, le contenu de vm1.
● En actualisant la page, la requête suivante est dirigée vers vm2, et ainsi de suite.
8
Ce résultat valide l'efficacité de la règle d'équilibrage et prouve que le Load Balancer est
pleinement opérationnel.
2. Test de Rétablissement
2.1 Méthodologie
● Le service web précédemment arrêté sur VM2 a été redémarré.
● Le temps de la sonde de santé a été observé (généralement quelques dizaines de
secondes).
● L'accès à l'IP publique de l'ALB a été renouvelé.
2.2 Observation
Après la détection du rétablissement par la Sonde de Santé, le Load Balancer a
immédiatement réintégré VM2 dans le Backend Pool. Le trafic a repris son alternance
normale entre les deux serveurs.
Ceci prouve que le système est capable de se remettre automatiquement d'une panne
sans nécessiter d'intervention manuelle sur la configuration du Load Balancer.
9
V. Conclusion
À travers ce travail, nous avons démontré que la mise en place d’un Azure Load
Balancer Standard constitue une solution efficace pour répondre aux problématiques de
répartition du trafic, disponibilité et de résilience des applications web modernes. En
distribuant les requêtes entre plusieurs machines virtuelles, le Load Balancer permet d’éviter
la surcharge d’un serveur unique et d’améliorer les performances globales de l’application.
Les tests réalisés ont confirmé le bon fonctionnement du mécanisme d’équilibrage de
charge [Link] conclusion, l’utilisation d’Azure Load Balancer s’impose comme un élément
clé dans la conception d’infrastructures cloud performantes et hautement disponibles, offrant
une meilleure expérience utilisateur tout en garantissant la continuité des services.
10
Bibliographie
[Link]
[Link]
ep-guide-in-creating-a-load-balancer-in-azure-36mf
[Link]
[Link]
11