Configurer le load balancing (équilibrage de charge) de CloudFlare

CloudFlare est un service AntiDoS et CDN qui propose une solution payante de load balacing.
C'est une solution d'équilibrage et de répartitions des charges.
Grâce à ce mécanisme de FailOver, vous répartissez les requêtes WEB et le trafic WEB vers plusieurs serveurs WEB.
Cela permet d'optimiser les performances et la disponibilité de votre site WEB pour de la haute disponibilité.

Cet article vous présente la solution de load balancing de Cloudflare et comment la mettre en place pour son site WEB.

Configurer le load balancing (équilibrage de charge) de CloudFlare

Qu'est-ce le load balancing de CloudFlare

Un équilibreur de charge agit comme le «flic de la circulation» qui achemine les demandes des clients sur tous les serveurs capables de répondre à ces demandes.
Cela maximise la vitesse et l'utilisation de la capacité et garantit qu'aucun serveur n'est surchargé de travail, ce qui pourrait dégrader les performances.
Si un seul serveur tombe en panne, l'équilibreur de charge redirige le trafic vers les serveurs en ligne restants.

Le load balancing apporte est une fonction importante pour la mise en place de la haute disponibilité, en apportant la redondance de serveurs WEB.
Voici les apports de l'équilibrage de charge :

  • Distribuer efficacement les demandes des clients ou la charge du réseau sur plusieurs serveurs
  • Assurer la haute disponibilité et la fiabilité en envoyant des demandes uniquement aux serveurs en ligne
  • Offrir la flexibilité d'ajouter ou de soustraire des serveurs en fonction de la demande
  • Lutter contre les attaques DDoS en dispatchant les requêtes sur plusieurs serveurs
Le load balancing (équilibrage de charge) de CloudFlare

La solution de load balancing de ClouFlare est assez simple à mettre en place :

  • Vous définissez un ou plusieurs pool de serveurs d’origine. Ce sont des groupes de serveurs d’origine (« points de terminaison ») vers lesquels Cloudflare dirige le trafic
  • Des analyses qui explorent activement l’intégrité de chacun de vos serveurs d’origine à partir des centres de données de Cloudflare. Si un serveur n'est pas disponible, il est marqué comme non sain et le trafic n'est plus redirigé vers ce dernier

Il est possible de créer un pool de serveur de secours qui prend le relai en cas de mise hors ligne complète du premier pool de serveurs.
Enfin vous définissez des priorités de charge selon un poids ou une région géographique.
De ce fait, vous pouvez donc aussi l'utiliser pour répartir les requêtes WEB vers des serveurs géographiques les plus proches dans le cas d'un site WEB mondial.

Activer et configurer le load balancing de CloudFlare

Configurer le load balancing de CloudFlare

Pour bénéficier du FailOver Clouflare, vous devez avoir souscrit à la solution CloudFlare.
Notamment les DNS doivent aussi être configurés afin que l'enregistrement DNS de votre site WEB pointe vers les serveurs CloudFlare.

Temps nécessaire : 15 minutes.

Configurer le load balancing de CloudFlare

  1. Connectez-vous à votre interface de gestion CloudFlare

    Connectez-vous à l'interface de gestion CloudFlare puis ouvrez le site WEB sur le quel vous souhaitez configurer l'équilibrage de charge.Interface de gestion CloudFlare

  2. Ouvrez le menu Traffic et Load balancing

    Dans la barre de menus, cliquez sur Traffic 1
    Puis Load Balancing 2
    Depuis cette interface, vous gérer les loads balancers.
    A droite, on trouve trois menus :
    - Créer un load balancer : permet de créer un équilibrage de charge
    - Gérer les analyses : les analyses des pool de serveurs pour vérifier que ces derniers fonctionnent
    - Gérer les pools : les pools de serveurs d'origine

    Cliquez sur Créer un load balancer.
    Configurer le load balancing de CloudFlare

  3. Activer l'abonnement Load Balancing

    L'équilibrage de charge de CloudFlare est une offre payante.
    Pour activer un pool de deux serveurs, c'est 5$ par mois.
    Les 500 000 premières requêtes sont gratuites puis 5$ par 500k supplémentaires.
    Enfin d'autres options sont payantes comme l'ajout de serveurs d'origine, vérification plus rapide, créer des régions géographiques etc.

    Une fois les options réglez, confirmez l'abonnement.
    Configurer le load balancing de CloudFlare

  4. Créer un load balancer

    Ensuite saisissez l'adresse de votre site WEB.Configurer le load balancing de CloudFlare

  5. Affinité de session

    Vous pouvez définir et affiner les sessions en activant affinité de session.
    Cela permet de créer une session permanent qui, associe toutes les requêtes d’un utilisateur final à un seul et même serveur d’origine.
    Pour cela, Cloudflare définit un cookie dans la réponse initiale au client de telle sorte que les requêtes consécutives contenant ce cookie sont acheminées vers le même serveur d’origine tant qu’il est disponible.

    Cela est conseillé lorsque votre site internet utilise des sessions utilisateurs (connexion avec un utilisateur/mot de passe), selon votre configuration, le changement de serveur par l'équilibrage de charge peut provoquer des déconnexions.
    Il est alors possible de définir la durée de validité de la session (Session TTL) en secondes.

    Cliquez sur page suivante pour continuer.
    Configurer le load balancing de CloudFlare

  6. Ajouter un pool de serveurs d'origine

    Ensuite on créé le pool de serveur d'origine, comme aucune n'est encore disponible, cliquez sur Créer un pool de serveurs d'origine.Configurer le load balancing de CloudFlare

  7. Créer un pool de serveurs d'origine

    Puis on saisit les informations du pool de serveurs d'origine avec un nom et une description.
    En dessous, on définit le nom et adresse IP du serveur d'origine.
    On peut appliquer un poids qui finit le pourcentage de redirection de la charge.Configurer le load balancing de CloudFlare

  8. Exemple de création de pool de serveurs d'origine

    Par exemple, ci-dessous, le pool de serveur malekal avec deux serveurs avec leurs noms et adresse IP.
    Un poids de 0.5 soit 50% est configuré pour chacun d'eux.
    Ainsi le trafic global est redirigé à 50% sur chacun.Créer le Load Balancer CloudFlare

  9. Le moniteur d'analyse

    Ensuite on arrive dans la partie où on peut joindre une analyse du pool de serveurs d'origine.
    Il s'agit de vérifier que le serveur est bien en ligne et fonctionnel.
    Si CloudFlare détecte que ce dernier est en panne, la redirection du trafic vers ce dernier est alors interrompu.
    Cliquez sur Joindre un moniteur pour en créer un.Configurer le load balancing de CloudFlare

  10. Créer un moniteur

    Configurer ce dernier en choisissant le type de protocole HTTP ou HTTPS et le chemin d'accès.
    Dans les options avancés de health check, on peut paramétrer l'intervalle des vérifications et délai d'expiration.
    Il ne faut pas configurer un délai trop court, car cela peut flooder et DoS votre serveur WEB et réduire les performances.
    Ce sont donc des paramètres à affiner avec le temps.

    Il est possible de vérifier la page racine du site, soit donc le chemin d'accès / mais vous pouvez aussi créer un script PHP qui vérifie la connexion à la base de données.
    Ainsi, si le serveur ne parvient pas à se connecter à cette dernière, on peut le retirer du load balancing.
    Configurer le load balancing de CloudFlare

  11. joindre une analyse du pool de serveurs d'origine

    Enfin vous pouvez configurer un seuil d'intégrité, c'est le nombre de serveurs minimale pour considérer que le pool de serveur est valide. Lorsqu'il est invalide, c'est le pool secondaire (si configuré) qui prend le relai.
    Enfin, on peut aussi configurer un email de notification pour vous alerter lorsqu'un serveur WEB est hors ligne.Configurer le load balancing de CloudFlare

  12. Direction du trafic

    Puis en dernier ligne, vous définissez comment Cloudflare achemine le trafic vers les pools.
    C'est donc une stratégie d'acheminement et de basculement des requêtes.
    Vous avez le choix entre :
    - Désactivée : Cloudflare achemine le trafic vers les pools en suivant l'ordre de basculement
    - Direction dynamique : le serveur final est choisi en fonction de la latence pour un basculement le plus rapide
    - Direction géographique : achemine le trafic vers la région la plus proche
    - Aléatoire : le trafic est redirigé de manière aléatoireConfigurer le load balancing de CloudFlare

  13. Fin de création du Load Balancing

    Enfin dans la dernière étape, un récapitulatif et résumé des paramètres du load balancing s'affiche.
    Vous pouvez l'enregistrer comme brouillon ou l'enregistrer et le déployer.Configurer le load balancing de CloudFlare

Bravo ! vous avez réussi à mettre en place le load balancing (équilibrage de charge) de CloudFlare sur votre site WEB.

Administrer le load balancing

CloudFlare vous permet de gérer et administrer vos load balancing.
A tout moment, vous pouvez désactiver le load balacing pour revenir à la configuration initiale.
L'interface vous indique si le pool est sain et en déroulant ce dernier, on obtient le détails pour chaque serveur d'origine.

Administrer le load balancing de CloudFlare

Lorsqu'un serveur d'origine est hors ligne, il est considéré comme Critique.
Le trafic n'est alors plus achemine vers ce dernier.

Administrer le load balancing de CloudFlare

A ce moment là, si vous avez configuré les notifications, vous recevez un mail d'alerte lorsque le serveur change d'état.
Lorsque le Pool et Up ou Down.

Les alertes de notifications par mail de CloudFlare lorsque le pool ne répond plus

Le menu Load Balancing Analystics donne un historique des requêtes par pool ainsi que les mises hors ligne.
Un graphique donne les requêtes par heure.

graphiques des requêtes du load balancing Cloudflare

Puis en dessous, la répartition de la charge et trafic par serveur WEB.
Enfin tout à la fin, s le journal et historique des évènements.

Les journaux du load balancing de Cloudflare

On peut alors obtenir des détails sur le motif de la défaillance avec le code et réponse HTTP lorsque le serveur ne répond pas.

Les évènements et erreurs du load balancing de Cloudflare

Liens

Le load balancing permet d'assurer la haute disponibilité de son serveur WEB.
Plus d'informations dans cet article :

Tags: