Tout ce que vous devez savoir sur l'équilibreur de charge d'application



Ce blog vous donne une connaissance approfondie d'un équilibreur de charge d'application. Il démontre la création et l'utilisation de NLB à l'avantage de votre application.

Plus un détective a d'indices, plus il lui est facile de résoudre l'affaire. C'est exactement comment fonctionne un équilibreur de charge. Plus un équilibreur de charge dispose d'informations, mieux cela fonctionne. Dans ce blog, je vais parler d'Application Load Balancer et de la façon dont il distribue le trafic entrant en obtenant un meilleur accès aux en-têtes de paquets, aux détails HTTPS et HTTPS.

Sujets couverts:





Qu'est-ce que l'équilibreur de charge d'application?

Je suis sûr que vous avez entendu parler du modèle OSI. Il s’agit d’une architecture à 7 couches, chaque couche effectuant une tâche spéciale de transfert de données à travers le monde. Ces couches comprennent: la couche physique, la couche liaison de données, la couche réseau, la couche transport, la couche session, la couche présentation et la couche application. Application Load Balancer fonctionne sur la 7ème couche du modèle OSI comme son nom l'indique. Ila la capacité d'examiner le contenu au niveau de l'application et d'acheminer le trafic en fonction de ces informations acquises. Le contenu au niveau de l'application comprend les détails des paquets, les détails HTTP et HTTPS. Cela rend le routage plus facile, plus rapide et beaucoup plus efficace. C’est l’une des plus utilisées .

Fonctionnement de l'équilibreur de charge d'application

L'équilibreur de charge d'application se compose de les auditeurs et règles . Lorsqu'un client fait la demande, l'auditeur l'acquitte. Les règles sont des lignes directrices qui régissent le routage de chaque demande client une fois qu'elle est entendue par l'auditeur. Les règles se composent de trois éléments - Groupe ciblé , Priorité et Conditions . Les groupes cibles se composent de cibles enregistrées (serveurs sur lesquels le trafic doit être acheminé). Chaque groupe cible achemine les demandes vers une ou plusieurs cibles enregistrées, telles que des instances EC2, à l'aide du protocole et du numéro de port que vous spécifiez. Donc, fondamentalement, lorsque l'auditeur reçoit la demande, il passe par l'ordre de priorité pour déterminer la règle à appliquer, analyse les règles et, en fonction de la condition, décide quel groupe cible reçoit la demande.



ALB - Équilibreur de charge d

Vous pouvez toujours ajouter ou supprimer des cibles de votre équilibreur de charge en cas de besoin, sans interrompre le flux global des demandes adressées à votre application. ELB fait évoluer votre équilibreur de charge de manière dynamique, c'est-à-dire à mesure que le trafic sur votre application change au fil du temps, ce qui permet de préparer votre application à diverses situations.

Caractéristiques qui le rendent meilleur que l'équilibreur de charge classique

Routage basé sur le contenu: L'équilibreur de charge d'application doit accéder aux en-têtes HTTP et achemine donc le trafic en fonction de ceux-ci.



Prise en charge des applications basées sur des conteneurs: Avec le puissant concept de conteneurisation, la plupart des utilisateurs mettent leurs microservices dans des conteneurs et les hébergent sur des instances EC2. Cela permet à une seule instance EC2 d'exécuter plusieurs services. L'équilibreur de charge d'application prend en charge ces applications basées sur des conteneurs. Une instance peut héberger plusieurs conteneurs et écouter sur plusieurs ports, derrière le même groupe cible. Il effectue également des vérifications de l'état détaillées au niveau du port.

De meilleures mesures: L'équilibreur de charge d'application effectue des vérifications d'intégrité par port et génère également un rapport. La vérification de l'état spécifie une plage de réponses HTTP acceptables. Ces vérifications de l'état sont également accompagnées de codes d'erreur détaillés.

Routage basé sur le chemin: L'équilibreur de charge d'application prend en charge le routage basé sur le chemin et sur l'hôte, ce qui n'est pas le cas avec l'équilibreur de charge classique. OuiVous pouvez acheminer les demandes vers plusieurs domaines à l'aide d'un seul équilibreur de charge.

Enregistrer l'adresse IP et les fonctions Lambda: Outre l'enregistrement des instances EC2, vous pouvez également enregistrer des adresses IP et des fonctions Lambda sur votre cible. Et doncvous pouvez également enregistrer des cibles qui sont en dehors du VPC.

Fournit des protocoles et des charges de travail supplémentaires:

Application Load Balancer fournit deux protocoles supplémentaires - HTTP / 2 et WebSocket

HTTPS / 2: Ce protocole prend en charge les requêtes multiplexées sur une seule connexion. Cela réduit le trafic réseau.

WebSocket: Ce protocole vous permet de mettre en place une connexion TCP durable entre le client et le serveur. Ce protocole est bien plus efficace que les anciennes méthodes.

Démonstration: créez un équilibreur de charge d'application et démontrez qu'il fonctionne

Comprenons mieux l’équilibreur de charge d’application en créant un et en l’utilisant. Dans cette démo, je vais créer deux instances EC2, déployer le serveur Web Nginx sur les deux avec une sortie HTML différente (facile à différencier entre elles), créer un équilibreur de charge d'application, enregistrer ces deux instances sur cet équilibreur de charge et vérifier si le serveur Web déployé sur les instances est accessible à partir du DNS de l'équilibreur de charge. Commençons.

Étape 1: et connectez vos instances à Putty ou cmder.

Étape 2: Installez le serveur Web Nginx sur les deux instances. Exécutez les commandes suivantes pour installer Nginx:

$ sudo apt-get update $ sudo apt install nginx $ sudo ufw app list $ sudo ufw allow 'Nginx HTTP' $ sudo ufw status

Copiez l'adresse IP publique des instances et collez-la sur un navigateur comme une URL, pour vérifier si Nginx a été installé avec succès.

Étape 3 : Modifiez la sortie HTML du serveur Web Nginx pour éviter la confusion entre les déploiements sur les deux instances.

$ cd / var / www / html $ sudo vi index.nginx-debian.html

Changez le contenu de la balise H1 en «Bienvenue dans Nginx! - SERVEUR 1 ”. Faites de même sur l'autre instance sauf, changez-le en «Bienvenue dans Nginx! - SERVEUR 2 ”.

Étape 4: Créez un équilibreur de charge d'application. Dans le volet de navigation, sous L'ÉQUILIBRAGE DE CHARGE , choisissez Équilibreurs de charge et cliquez sur Créer sous Application Load Balancer.

Vous serez dirigé vers une autre page, choisissez Créer un équilibreur de charge Là.

Configurons l'équilibreur de charge. Pour Nom, saisissez le nom que vous souhaitez que votre équilibreur de charge porte. Pour Schéma, sélectionnez Internet ou Interne. Dans ce cas, j'ai choisi Internet. La connexion Internet achemine essentiellement les demandes des clients vers la cible via Internet.

Pour les écouteurs, la valeur par défaut est d'accepter le trafic TCP sur le port 80 et je continue avec la même configuration d'écouteur par défaut. Si vous souhaitez ajouter un autre auditeur, vous pouvez choisir Ajouter un auditeur .

Pour Zone de disponibilité, sélectionnez le VPC que vous avez utilisé pour créer vos instances EC2. Sélectionnez une zone de disponibilité et le sous-réseau de cette zone de disponibilité pour chaque zone de disponibilité utilisée pour créer une instance EC2.

Vous ajoutez des balises à votre équilibreur de charge si nécessaire. Les balises sont particulièrement utiles lorsque vous disposez de plusieurs équilibreurs de charge.

Cliquer sur Suivant: Configurer les paramètres de sécurité . Vous pouvez voir un avertissement, mais vous pouvez l'ignorer.

Dans cette étape, vous pouvez configurer la sécurité de votre équilibreur de charge, vous pouvez soit Créer un nouveau groupe de sécurité ou Sélectionnez un groupe de sécurité existant . Dans ce cas, j'ai choisi un groupe de sécurité existant.

Une fois la configuration de la sécurité terminée, cliquez sur Suivant: Configurer le routage . Sélectionner un Nouveau groupe cible. Ajouter le Nom vous souhaitez donner votre Groupe ciblé . Sélectionnez le Type de cible comme Instance, car nous attachons des instances. L'équilibreur de charge d'application vous permet également d'attacher des adresses IP et des fonctions Lambda. Laisse le Protocole et Port être celui par défaut.

Je n’ai rien changé en Bilans de santé et Vérifications de l'état avancées Soit. Les paramètres par défaut sont assez bons pour nous.

comment définir le chemin de classe sous linux

Cliquer sur Suivant: Enregistrer les cibles pour ajouter vos cibles (dans ce cas, des instances) à votre équilibreur de charge.

Sélectionnez les instances que vous souhaitez ajouter comme cibles puis cliquez sur Ajouter au registre.

Vos cibles (instances) ont maintenant été enregistrées dans l'équilibreur de charge.

Cliquer sur Suivant: Revoir . Passez en revue votre Load Balancer puis cliquez enfin sur Créer .

Votre équilibreur de charge est maintenant créé et vous pouvez vérifier son état.

Yayyy !! Vous avez créé avec succès un équilibreur de charge d'application. Voyons maintenant si cela fonctionne réellement.

Étape 5: Copiez le nom DNS de votre équilibreur de charge et collez-le sur un navigateur comme une URL. Vous devriez voir la sortie de la première instance.

Maintenant, allez dans un autre navigateur et collez le même nom DNS, vous devriez voir la sortie de la deuxième instance.

Et cela montre que l'équilibreur de charge équilibre la charge de deux instances dessus. Les charges sur vos deux instances EC2 seront gérées par cet équilibreur de charge. Une autre façon de tester le fonctionnement de votre Load Balancer consiste à fermer une instance et à vérifier si ses déploiements sont déployés sur le DNS de Load Balancer.

Cela nous amène à la fin de ce blog Application Load Balancer. J'espère que vous avez compris le concept derrière ce service incroyable fourni par Amazon. Pour plus de blogs de ce type, visitez ' '.

Si vous souhaitez en savoir plus sur le Cloud Computing et faire carrière dans le Cloud Computing, consultez notre qui s'accompagne d'une formation en direct animée par un instructeur et d'une expérience de projet réelle. Cette formation vous aidera à comprendre le Cloud Computing en profondeur et vous aidera à maîtriser le sujet.

Vous avez une question pour nous? Veuillez le mentionner dans la section commentaires et nous vous répondrons ou posterons votre question à . Chez Edureka Community, nous avons plus de 1,00,000+ fanatiques de technologie prêts à vous aider.