GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Comment configurer un équilibreur de charge sur un serveur BMC s0.d1.small

Présentation

L'instance CPU unique préconfigurée phoenixNAP Bare Metal Cloud est une solution idéale pour l'équilibrage de charge. Un équilibreur de charge logiciel ne nécessite pas de matériel exigeant et l'instance BMC la moins chère est plus que suffisante pour vous permettre de démarrer.

Ce didacticiel explique un exemple de configuration d'un équilibreur de charge sur l'instance de serveur BMC s0.d1.small de phoenixNAP.

Prérequis

  • Un compte Bare Metal Cloud (BMC).
  • Accès à la ligne de commande/au terminal avec les privilèges sudo.
  • Accès au navigateur avec une connexion Internet stable.

Qu'est-ce que l'équilibrage de charge ?

L'équilibrage de charge répartit les volumes de trafic élevés sur plusieurs serveurs, garantissant qu'aucune instance n'est surchargée. L'objectif final de l'équilibrage de charge est l'efficacité globale du traitement et une meilleure expérience utilisateur.

L'équilibreur de charge surveille la santé du serveur principal et garantit une gestion optimale des demandes et des ressources du serveur. Par exemple, les équilibreurs de charge aident à rediriger le trafic lorsqu'un serveur ne peut pas recevoir une requête.

Instance BMC S.0 en tant qu'équilibreur de charge

Les équilibreurs de charge logiciels sont faciles à configurer sur un serveur BMC en tant que processus Linux. Par exemple, l'utilitaire de serveur HAproxy est simple à installer et à configurer en tant qu'équilibreur de charge sur une instance BMC.

La configuration a la structure suivante :

  • La petite instance BMC agit comme un équilibreur de charge.
  • Les trois serveurs de test agissent comme une batterie de serveurs.

Suivez les instructions pour configurer un exemple d'application Web locale avec un équilibreur de charge.

Étape 1 :Générer des clés SSH

Générez une paire de clés sur la machine que vous utiliserez pour vous connecter à BMC via SSH. Ignorez cette étape s'il existe une clé enregistrée sur le portail BMC que vous souhaitez utiliser.

1. Ouvrez le terminal (CTRL +ALT +T ).

2. Générez une nouvelle clé SSH :

ssh-keygen

La commande démarre le processus keygen.

3. Suivez les étapes pour créer la paire de clés. S'il existe des clés existantes que vous souhaitez conserver sous id_rsa , modifiez le nom de la clé. Sinon, appuyez sur Entrée pour choisir l'emplacement par défaut et écraser les clés existantes.

Ajoutez une phrase de passe pour plus de sécurité.

Une fois le processus terminé, la sortie imprime l'emplacement de la paire de clés et l'image aléatoire.

4. Ouvrez le id_rsa.pub fichier en utilisant Vi :

sudo vi ~/.ssh/id_rsa.pub

5. Copiez le contenu du fichier et quittez l'éditeur :

:q

L'étape suivante utilise le id_rsa.pub contenu.

Étape 2 :Déployez une instance BMC s0.d1.small et connectez-vous via SSH

1. Connectez-vous au portail BMC à l'aide de vos informations d'identification du portail client phoenixNAP.

2. Cliquez sur Déployer un nouveau serveur sur les Serveurs page.

3. Sélectionnez l'emplacement pour le serveur dans la première section. Choisissez un modèle de facturation juste après.

4. Sélectionnez le s0.d1.small Instance BMC du Serveur rubrique.

5. Choisissez un système d'exploitation dans la section suivante. Nous utilisons Ubuntu Bionic . Appuyez sur Suivant pour passer à la page Détails de l'instance.

6. Entrez le nom d'hôte et une description facultative pour le serveur.

7. Si vous avez généré une nouvelle clé dans la section précédente, cliquez sur Ajouter une nouvelle clé SSH publique et collez le id_rsa.pub contenu pour ajouter une nouvelle clé. Si vous avez une clé enregistrée sur le portail, saisissez le nom de la clé enregistrée et sélectionnez-la dans la liste.

8. Achetez une allocation IP ou attribuez une allocation existante. Pour tester ce guide, une seule IP publique est nécessaire, ce qui rend /31 Attribution IP l'exigence minimale.

9. Vérifiez à nouveau les détails et cliquez sur Déployer un nouveau serveur bouton pour terminer le processus lorsque vous êtes prêt.

10. Tapez le nom d'hôte pour localiser votre instance BMC et cliquez sur le nom pour voir les détails du serveur. Le serveur est prêt lorsque l'état affiche Sous tension .

L'IP attribuée est dans les IP publiques section sur les Détails du serveur page.

Utilisez les adresses pour l'étape suivante.

10. Connectez-vous en SSH à la machine en exécutant la commande suivante dans le terminal :

ssh [email protected]<your public IP>

Si la sortie demande de confirmer l'authenticité, tapez oui pour ajouter l'emplacement aux hôtes connus et se connecter au serveur BMC.

Étape 3 :Installez HAProxy

1. Ajoutez le référentiel HAProxy :

sudo add-apt-repository ppa:vbernat/haproxy-1.8

2. Appuyez sur Entrée lorsqu'on lui a demandé d'ajouter le référentiel.

3. Une fois le processus terminé, mettez à jour les packages :

sudo apt-get update

4. Enfin, installez HAProxy avec :

sudo apt-get install haproxy

Étape 4 :Créer des serveurs Web de test

1. Créez trois répertoires qui serviront de serveurs :

mkdir server{1..3}

2. Créez une page de destination pour chaque serveur :

touch server{1..3}/index.html

3. Modifiez chaque index.html fichier :

sudo vi server1/index.html

4. Ajoutez le contenu suivant :

<!DOCTYPE html>
<html>
        <title>Server 1</title>
        <body>Connected!</body>
</html>

5. Ajoutez le même contenu à server2/index.html et server3/index.html . Remplacez le contenu des balises de titre par Server 2 et Server 3 respectueusement.

Étape 5 :Configurer l'équilibreur de charge HAProxy

1. Modifiez la configuration par défaut pour HAProxy :

sudo vi /etc/haproxy/haproxy.cfg

2. Supprimez tout du fichier et ajoutez le contenu suivant :

defaults
  mode http
  timeout client 10s
  timeout connect 5s
  timeout server 10s
  timeout http-request 10s

frontend myfrontend
  bind 127.0.0.1:80
  default_backend myservers

backend myservers
  balance roundrobin
  server server1 127.0.0.1:8000
  server server2 127.0.0.1:8001
  server server3 127.0.0.1:8002

Le fichier de configuration comporte trois sections :

  • defaults sont les paramètres partagés définis sur toutes les sections suivantes. La section définit les temps d'attente pour éviter les problèmes de connexion courants.
  • frontend définit l'adresse et le port où HAProxy reçoit les requêtes. Le default_backend la ligne pointe vers l'endroit où l'équilibreur de charge doit relayer les connexions.
  • backend stocke les adresses de serveur et les ports de plusieurs serveurs, définis à l'étape suivante. L'algorithme d'équilibrage de charge est défini sur round robin .

3. Enregistrez le fichier et fermez :

:wq

4. Redémarrez HAProxy pour appliquer la configuration :

sudo systemctl restart haproxy

La sortie n'imprime rien sur la console.

Étape 6 :Exécutez les serveurs et testez l'équilibreur de charge

1. Ouvrez trois autres onglets de terminal et connectez-vous au serveur :

ssh [email protected]<your public IP>

Il y a maintenant quatre onglets de terminal ouverts.

2. Dans chaque onglet, accédez aux dossiers du serveur :

cd server1
cd server2
cd server3

3. Exécutez le serveur de test dans chaque onglet de terminal sur un port différent :

python3 -m http.server 8000 --bind 127.0.0.1
python3 -m http.server 8001 --bind 127.0.0.1
python3 -m http.server 8002 --bind 127.0.0.1

4. Dans le quatrième onglet, testez la connexion en utilisant curl :

curl 127.0.0.1:80

Exécutez la commande deux fois de plus pour confirmer que l'équilibreur de charge fonctionne correctement.

L'algorithme d'équilibrage de charge round robin garantit que les requêtes sont acheminées vers chaque serveur une fois pour équilibrer la charge.

Pourquoi utiliser S.0 comme équilibreur de charge ?

La configuration d'un serveur S.0 BMC en tant qu'équilibreur de charge est un moyen peu coûteux d'optimiser la vitesse et la capacité des ressources d'un cluster de serveurs.

Certains avantages de l'utilisation du serveur BMC s0.d1.small en tant qu'équilibreur de charge incluent :

  • Faible coût . L'instance est l'offre la plus petite et la moins chère, et la configuration gère facilement la charge de travail de l'équilibreur de charge. Payez sur une base horaire, par mois, ou effectuez une réservation prolongée en fonction de votre cas d'utilisation.
  • Gestion efficace de la surcharge du réseau . L'instance à usage général est couramment utilisée pour les sites Web à fort trafic et utilise toutes les ressources de manière équilibrée.
  • Sécurité accrue et haute disponibilité . Le réseau est robuste, rapide, à faible latence et fiable. De plus, chaque serveur est livré avec une protection DDoS de 20 Gbit/s pour garantir une disponibilité et une sécurité maximales en cas d'attaque.

Ubuntu
  1. Comment configurer WireGuard sur Ubuntu 22.04

  2. Comment configurer l'équilibreur de charge HAProxy

  3. Comment installer et configurer l'équilibreur de charge HAProxy sur Debian 11

  4. Comment installer et configurer l'équilibreur de charge HAProxy sur Ubuntu 20.04

  5. Comment configurer un serveur TeamSpeak sur Ubuntu 16.04

Comment configurer un serveur OpenVPN sur CentOS 7

Comment configurer un serveur Minecraft sur Debian 10

Comment configurer le serveur d'impression CUPS sur Ubuntu 20.04

Comment configurer le serveur DHCP sur CentOS 8

Comment configurer HAProxy comme équilibreur de charge pour Nginx sur CentOS 8

Comment configurer un serveur Apt-cacher ?