HAProxy est un équilibreur de charge open source aux performances très impressionnantes. Il est utilisé pour les applications Web frontales, même à l'échelle planétaire, comme Twitter. Il peut équilibrer la charge des applications en réseau sur TCP (couche 3) et HTTP (couche 7). Il bascule également les requêtes vers les instances de serveur actives si nécessaire, et offre donc une haute disponibilité (HA).
E2E Networks propose des nœuds désignés avec une puissance de calcul adaptée à l'exécution d'un équilibreur de charge hautes performances comme HAProxy. Ces nœuds sont appelés nœuds Virtual Load Balancer (VLB). Dans ce blog, nous expliquerons comment configurer HAProxy sur un nœud Virtual Load Balancer sur E2E Cloud. Nous utiliserons HAProxy au niveau 7, pour les applications PHP frontales exécutées sur les serveurs Web Apache. Dans la deuxième et dernière partie de ce blog, nous passerons en revue quelques étapes supplémentaires que la plupart des administrateurs de sites Web doivent effectuer, en plus de la configuration de base. Ces étapes supplémentaires sont :la mise en œuvre de la permanence de la session et la sécurisation de l'accès au site Web à l'aide de SSL. Dans une large mesure, ces deux blogs sont autonomes et ensemble, ils devraient aider les administrateurs système à configurer facilement HAProxy en tant qu'équilibreur de charge frontal pour les applications Web déployées sur E2E Cloud.
Installation et configuration de base
Bien que nous nous concentrions sur HAProxy, nous commencerons par l'installation de deux serveurs Web, vers lesquels les requêtes HTTP peuvent être acheminées. Après vous être connecté à notre tableau de bord des réseaux E2E, nous suivons les liens vers "Créer un nœud" et choisissons une distribution Ubuntu 16.04 avec 1 CPU et 2 Go de RAM . Laissez ce nœud de calcul virtuel être nommé 'websrv1 ‘. Ensuite, nous créons un autre nœud identique pour installer une deuxième instance de serveur Web, nommée 'websrv2 ‘. Sur chaque nœud de serveur Web, nous installons Apache 2.4 et PHP, en exécutant les commandes suivantes sur le terminal (de chaque nœud de serveur Web) :
- apt-obtenir la mise à jour
- apt-get install apache2 # installe le serveur Web
- apt-get install php libapache2-mod-php php-mcrypt # php et les packages associés
- systemctl enable apache2 # permet au serveur Web de démarrer au redémarrage du système
- systemctl restart apache2 # redémarrage du serveur Web
- systemctl status apache2 # vérifier que le serveur Web est opérationnel
Afin de tester que les instances de serveur Web peuvent serveur PHP, nous allons créer un simple fichier PHP à la racine du document (répertoire/var/www/html) sur chaque serveur Web à l'aide de l'éditeur vi :
/> ?>