Elastic Load Balancing est le cœur des applications dans AWS. Apprenez tout sur ELB, ses types et ses fonctionnalités dans cet article.

De nos jours, la plupart des organisations ont besoin de gérer et d'augmenter l'évolutivité, la disponibilité et la tolérance aux pannes de leurs applications. AWS fournit une excellente solution pour cela, à savoir le service Elastic Load Balancing. Ce service consiste en un équilibreur de charge qui peut répartir les charges de travail sur de nombreuses ressources de calcul telles que des serveurs virtuels.

l'équilibrage de charge

Les services de Load Balancing nous permettent de configurer bilans de santé pour surveiller la santé des ressources de calcul. Cela nous permet également de décharger le travail de chiffrement et de déchiffrement sur votre équilibreur de charge afin que les ressources de calcul puissent se concentrer sur leur travail principal.

Elastic Load Balancing (ELB): Overview

ELB est un service qui distribue automatiquement le trafic entrant sur plusieurs EC2 instances. Cela permet d'atteindre des niveaux de tolérance aux pannes plus élevés dans vos applications en fournissant la capacité d'équilibrage de charge pour la distribution du trafic des applications.

Équilibrage de charge élastique
Source : AWS

De plus, Elastic Load Balancing peut détecter les instances EC2 défectueuses, et dès qu'une instance EC2 s'avère défectueuse, ELB arrête de lui envoyer du trafic jusqu'à ce qu'elle redevienne saine. Les clients peuvent facilement activer Elastic Load Balancing dans une ou plusieurs zones de disponibilité pour des performances applicatives plus cohérentes.

Elastic Load Balancing Features

Sécurité

Vous pouvez gérer et créer des groupes de sécurité associés à Elastic Load Balancing dans Amazon Cloud privé virtuel (VPC) pour offrir des options de mise en réseau et de sécurité supplémentaires pour Application Load Balancer et Classic Load Balancer.

La haute disponibilité

Un équilibreur de charge élastique est hautement disponible. Vous pouvez répartir le trafic entrant vers votre application vers des instances EC2 dans une seule zone de disponibilité ou plusieurs zones de disponibilité.

Haut débit

Les équilibreurs de charge élastiques sont conçus pour gérer le trafic à mesure qu'il grandit et peuvent charger et équilibrer des millions de requêtes/s. Il peut également gérer des pics de trafic soudains.

Bilans de santé

Avec Elastic Load Balancing, vous pouvez contrôler l'intégrité de vos instances EC2 et ne pas risquer d'envoyer du trafic vers une instance défaillante.

Surveillance opérationnelle et journalisation

Amazon CloudWatch signale les métriques d'application et d'équilibreur de charge classique telles que le nombre d'erreurs, les types d'erreurs, les demandes latence, le nombre de demandes, etc.

Supprimer la protection

Vous pouvez activer la protection contre la suppression sur un Elastic Load Balancer pour l'empêcher d'être supprimé accidentellement.

YouTube vidéo

Components of Elastic Load Balancers

Les auditeurs

Vous devez configurer un ou plusieurs écouteurs pour votre équilibreur de charge. C'est un processus qui vérifie les demandes de connexion. Il est configuré avec un protocole et un port pour les connexions pour les connexions front-end (client à load balancer) et un protocole pour les connexions back-end (load balancer à instance back-end).

Les protocoles pris en charge pour l'équilibrage de charge élastique incluent :

  • HTTPS (HTTP sécurisé)
  • TCP
  • SSL (TCP sécurisé)

Load Balancer

Un équilibreur de charge sert de "policier du trafic" devant vos serveurs, répartissant les demandes des clients sur tous les serveurs équipés pour les gérer de manière à maximiser la vitesse et l'utilisation de la capacité et à garantir qu'aucun serveur n'est surchargé, ce qui peut entraîner une dégradation des performances.

L'équilibreur de charge achemine le trafic vers les serveurs actifs au cas où un serveur se déconnecte. L'équilibreur de charge lance des requêtes vers un nouveau serveur lorsqu'il est ajouté au groupe de serveurs.

Groupes cibles

Les requêtes sont acheminées vers une ou plusieurs cibles enregistrées à l'aide de chaque groupe cible. Vous définissez un groupe cible et des conditions lorsque vous créez chaque règle d'écouteur. Lorsqu'une condition de règle est satisfaite, le trafic est acheminé vers le groupe cible approprié.

Pour différents types de demandes, vous pouvez créer des groupes cibles distincts. Par exemple, créez différents groupes cibles pour les requêtes vers les microservices et les requêtes génériques de votre application. 

Types of Load Balancers

Équilibreur de charge d'application

Application Load Balancer permet aux développeurs de configurer et de diriger le trafic entrant des utilisateurs finaux vers les applications exécutées sur le cloud public AWS.

L'équilibrage de charge est crucial dans un environnement cloud avec de nombreuses applications Web. Un équilibreur de charge garantit qu'aucun serveur n'est surchargé en divisant le trafic réseau et les flux d'informations entre plusieurs serveurs. Cela améliore l'expérience utilisateur, augmente la réactivité et la disponibilité des applications et peut se défendre contre les déni de service (DDoS) agressions.

YouTube vidéo

L'accès aux applications Web s'est considérablement développé ces dernières années. Cependant, une augmentation inattendue du trafic peut ralentir les services en ligne et réduire leur disponibilité. L'équilibreur de charge d'application distribue efficacement la charge du réseau dans le cloud public pour augmenter la stabilité et la disponibilité.

L'équilibreur de charge d'application ne dirigera le trafic vers une cible saine à l'intérieur de la ressource cloud que si une application problématique atteint la couche 7. WebSocket est un autre protocole pris en charge par l'équilibreur de charge d'application pour une connectivité accrue avec le serveur sous-jacent.

Sites Web et applications mobiles qui s'exécutent dans des conteneurs ou sur AWS EC2 les instances bénéficient le plus de l'utilisation d'un équilibreur de charge d'application. Dans une architecture de microservices, Application Load Balancer peut être utilisé comme équilibreur de charge interne devant des instances EC2 ou des conteneurs Docker qui implémentent un service spécifique. De plus, il peut être utilisé devant une application API RESTful.

De nombreux services AWS sont compatibles avec l'équilibreur de charge d'application, notamment :

  • Mise à l'échelle automatique d'AWS
  • Amazon Service de conteneur élastique
  • AWS CloudFormation
  • AWS CodeDeploy
  • Gestionnaire de certificats AWS

Équilibreur de charge classique

Le trafic des applications entrantes est réparti sur de nombreuses instances EC2 dans différentes zones de disponibilité à l'aide d'un équilibreur de charge classique. Un équilibreur de charge classique agit comme l'unique point de contact du client. Cela rend votre application plus accessible. Sans altérer le flux général des requêtes vers votre application, vous pouvez ajouter/supprimer des instances de votre équilibreur de charge classique au fur et à mesure que vos besoins évoluent.

Un écouteur utilise le protocole et le port que vous avez définis pour surveiller les demandes de connexion client. L'écouteur transmet ensuite les demandes à une ou plusieurs instances enregistrées à l'aide du protocole et du port configurés. Vous modifiez votre équilibreur de charge en ajoutant un ou plusieurs écouteurs.

Pour vous assurer que l'équilibreur de charge achemine uniquement les demandes vers des instances saines, vous pouvez configurer des vérifications de l'état, qui sont utilisées pour surveiller l'état des instances enregistrées.

L'équilibreur de charge classique, par défaut, répartit uniformément le trafic entre les zones de disponibilité que vous activez pour votre équilibreur de charge. Activez l'équilibrage de charge entre zones sur votre équilibreur de charge pour répartir le trafic entre toutes les instances enregistrées dans toutes les zones de disponibilité activées.

l'équilibrage de charge

Types d'équilibreur de charge classique :

  • Équilibreurs de charge classiques accessibles sur Internet: Un équilibreur de charge accessible sur Internet peut acheminer les demandes des clients vers les instances EC2 enregistrées auprès de l'équilibreur de charge sur Internet, grâce à son domaine DNS résolvable publiquement. Votre équilibreur de charge reçoit un public DNS nom lors de sa construction, que les clients peuvent utiliser pour faire des requêtes. Les serveurs DNS traduisent le nom DNS de votre équilibreur de charge en adresses IP publiques des nœuds de l'équilibreur de charge. Les adresses IP privées connectent chaque nœud d'équilibrage de charge aux instances principales.
  • Équilibreurs de charge classiques internes : Les nœuds d'un équilibreur de charge interne n'ont que des adresses IP personnelles. Le nom DNS d'un équilibreur de charge interne peut être résolu publiquement en adresses IP des nœuds. Par conséquent, les requêtes ne peuvent être acheminées que par des équilibreurs de charge internes à partir de clients ayant accès à l'équilibreur de charge. VPC.

Équilibreur de charge réseau

L'équilibreur de charge réseau fonctionne au niveau de la quatrième couche du Modèle OSI. Il peut traiter des millions de requêtes par seconde.

L'équilibreur de charge choisit une cible dans le groupe cible pour la règle par défaut après avoir reçu une demande de connexion. Il essaie d'établir une TCP connexion à la cible sélectionnée sur le port indiqué dans les paramètres du listener. 

YouTube vidéo

Pour augmenter la tolérance aux pannes de votre application, vous pouvez activer plusieurs zones de disponibilité, un service payant dans AWS pour les équilibreurs de charge réseau. Si une zone de disponibilité tombe en panne, votre application ne cessera pas de fonctionner.

Pour le trafic TCP, une cible est sélectionnée à l'aide d'un algorithme de hachage de flux basé sur le protocole, le port source, l'adresse IP source, le port de destination, l'adresse IP de destination et le numéro de séquence TCP.

Les connexions TCP des clients ont des numéros de séquence et des ports source différents, de sorte que les connexions sont acheminées vers d'autres cibles. Chaque connexion TCP unique est acheminée vers une seule cible pendant toute la durée de la connexion.

Équilibreur de charge de passerelle

Vos appliances virtuelles tierces peuvent être simplement déployées, mises à l'échelle et gérées à l'aide de Gateway Load Balancer. Il fournit une passerelle unique pour répartir le trafic entre de nombreuses appliances virtuelles et les augmenter ou les réduire en fonction de la demande. Cela élimine les points de défaillance potentiels de votre réseau et augmente la disponibilité.

YouTube vidéo

Les appliances virtuelles de fabricants indépendants peuvent être trouvées, testées et achetées directement via AWS Marketplace. Que vous souhaitiez continuer à travailler avec vos fournisseurs actuels ou essayer quelque chose de nouveau, cette expérience intégrée accélère le processus de déploiement afin que vous puissiez bénéficier plus rapidement de vos appliances virtuelles.

Avantages de l'équilibreur de charge de passerelle :

  • Déploiement plus rapide des appliances virtuelles tierces.
  • Faire évoluer vos appliances virtuelles tout en maîtrisant les coûts.
  • Améliorer la disponibilité de l'appliance virtuelle

Mot de la fin

Les équilibreurs de charge élastiques sont un élément essentiel de nombreuses infrastructures créées sur AWS. Les fonctionnalités que nous obtenons d'un ELB facilitent la gestion de votre infrastructure. Elastic Load Balancing est une méthode éprouvée de répartition des demandes de trafic applicatif et Web sur plusieurs cibles ou instances.

Vous pouvez faire évoluer automatiquement vos différentes charges de travail à l'aide d'Elastic Load Balancer. Nous avons couvert tous les types de équilibreurs de charge fournis par AWS, et vous pouvez les utiliser selon les demandes de votre application.