Qu'est-ce qu'AWS Load Balancer ? | Réseaux Avi (2023)

<< Retour au glossaire technique

Définition de l'équilibreur de charge AWS

Équilibreurs de charge AWSaccepter le trafic d'application entrant des clients et le distribuer à travers diverscibles enregistréescomme les instances EC2 dans plusieurs zones de disponibilité. LeÉquilibreur de charge d'application AWSpermet aux développeurs d'acheminer et de configurer le trafic entrant dans le cloud public AWS entre les utilisateurs finaux et les applications.

Point de contact unique pour les clients, leÉquilibreur de charge élastique AWSachemine uniquement vers les instances saines et identifie les instances non saines. Une fois la cible opérationnelle, leAlgorithme d'équilibreur de charge AWSreprend le routage du trafic vers celui-ci.

L'équilibrage de charge est essentiel dans les environnements cloud avec plusieurs services Web.

Qu'est-ce qu'AWS Load Balancer ? | Réseaux Avi (1)

FAQ sur l'équilibreur de charge AWS

Qu'est-ce qu'AWS Load Balancer ?

Équilibrage de charge élastique AWS (ELB)distribue le trafic entrant des applicationsautomatiquement sur plusieurs cibles telles que des conteneurs, des instances EC2 etAdresses IPdans une ou plusieurs zones de disponibilité. Cela distribue et équilibre la manière dont le trafic frontal atteint les serveurs principaux et augmente la tolérance aux pannes et la disponibilité des applications utilisateur. L'équilibrage de charge AWS surveille égalementcibles enregistréespour la santé et les itinérairesdistribue le traficpar conséquent.

Types d'équilibreur de charge AWS

Ils sont quatreTypes d'équilibreur de charge AWSprise en charge:

  • Équilibreur de charge classique AWS
  • Équilibreur de charge réseau AWS (NLB)
  • Équilibreur de charge d'application AWS (ALB)
  • Équilibreur de charge de passerelle AWS (GLB)

Le classique AWS de la génération précédentetype d'équilibreur de chargeest désormais recommandé uniquement lorsque les utilisateurs ont des instances en cours d'exécution sur un réseau EC2-Classic. Pour tous les autres utilisateurs,Équilibreur de charge classique AWSles fonctionnalités peuvent être remplacées soit parÉquilibreur de charge réseau AWS (NLB)ouÉquilibreur de charge d'application AWS (ALB).

(Équilibreur de charge de la passerelle AWSne fait pasrépartir le trafic sur plusieurs cibles, ses applications sont donc moins étendues. Sur le plan deDifférences entre les équilibreurs de charge AWSc'est le plus important pour la plupart des utilisateurs.)

Regardez de plus près avec unComparaison des équilibreurs de charge AWS:

Équilibreur de charge classique AWS

Cet équilibreur de charge simple fonctionne à la fois au niveau de la demande et au niveau de la connexion et était à l'origine utilisé pour les instances EC2 classiques. Son principal inconvénient est qu'il ne prend pas en charge certaines fonctionnalités, telles que le routage basé sur la route ou sur l'hôte. Un équilibreur de charge bien configuré peut améliorer l'efficacité et les performances en répartissant la charge entre les serveurs, quel que soit leur contenu.

Équilibreur de charge d'application AWS

L'équilibreur de charge d'application (ALB) est un équilibreur de charge de couche 7 du modèle OSI qui achemine les paquets réseau en fonction de leur contenu vers différents services principaux. Contrairement au classiqueÉquilibreur de charge élastique AWSqui devrait s'exécuter pour chaque service, unÉquilibreur de charge d'application AWSlivreÉquilibrage de charge AWS couche 7qui peut équilibrer le trafic réseau de nombreux services principaux.

Cet équilibreur de charge nouvelle génération offre un support natif des protocoles WebSocket et HTTP/2. WebSocket permet aux développeurs de minimiser la consommation d'énergie même lorsqu'ils configurent des connexions TCP persistantes entre le client et le serveur. HTTP/2 réduit le trafic réseau en multiplexant les requêtes sur une seule connexion.

AWS Load Balancer classique vs applicationÉquilibreur de charge

Équilibreur de charge d'application AWS performanceest plus élevé et prend en charge plus de fonctionnalités par rapport à l'équilibreur de charge classique, telles que les suivantes

  • adresse IPinscription en tant que cibles
  • Routage basé sur le chemin/basé sur l'hôte
  • Appel des fonctions Lambda pour traiter les requêtes HTTP(S)
  • Équilibreur de charge AWS WAF
  • SNI
  • Conteneurs améliorés via l'équilibrage de charge entre plusieurs ports d'une même instance

Équilibreur de charge réseau AWS

AWS recommandeAWS Network Load Balancer (NLB) si l'application doit atteindre une adresse IP statique et des performances extrêmes. En matière deApplication AWS vs équilibreur de charge réseaucomparaison, le NLB est mieux optimisé pour gérer les modèles de trafic instables et irréguliers et les charges de travail qui fluctuent rapidement.

NLB offre un débit élevé et s'adapte pour gérer des millions de requêtes par seconde. Cela signifie que l'équilibreur de charge réseau est mieux adapté pour atteindre des performances réseau extrêmes et gérer des flux de travail en rafale au niveau de la couche de transport. Les équilibreurs de charge réseau AWS évitent également les problèmes de mise en cache DNS et fonctionnent avec les politiques de sécurité de pare-feu existantes des utilisateurs grâce à ses adresses IP statiques et résilientes. EtRésiliation TLS de l'équilibreur de charge AWSn'est possible qu'avec NLB.

Fonctionnement de l'équilibreur de charge AWS

LeÉquilibreur de charge AWSaugmente la disponibilité des applications en servant de point de contact unique pour les clients. Les utilisateurs peuvent facilement ajouter et supprimer des instances duÉquilibreur de charge AWSsans perturber le flux global de demandes vers l'application car les besoins évoluent au fil du temps. De cette manière, l'équilibrage de charge élastique AWS s'adapte à mesure que le trafic des applications fluctue et peut en fait s'adapter automatiquement à la plupart des charges de travail.

Les utilisateurs ajoutent un ou plusieurs écouteurs à l'équilibreur de charge. Un écouteur utilise le port et le protocole configurés pour vérifier les demandes de connexion des clients et transmet les demandes à l'aide du numéro de port et du protocole configurés aux instances enregistrées.Contrôles de santéassurer laÉquilibreur de charge AWSenvoie des requêtes uniquement aux instances saines.

LeÉquilibreur de charge AWS distribue le traficuniformément dans les zones de disponibilité activées par défaut. Pour améliorer la tolérance aux pannes, maintenez des instances en nombre approximativement équivalent dans les zones de disponibilité. Vous pouvez également activer l'équilibrage de charge entre zones. Ce type desupports élastiques d'équilibrage de chargemêmerépartition du traficsur toutes les instances enregistrées.

L'activation d'une zone de disponibilité crée un nœud d'équilibrage de charge à l'intérieur de la zone de disponibilité. Les cibles, même si elles sont enregistrées, ne reçoivent pas de trafic si la zone de disponibilité n'est pas activée.

De plus, même le classiqueAlgorithme d'équilibreur de charge AWSfonctionne mieux avec au moins uncible enregistréedans chaque zone de disponibilité activée, mais en activant plusieurs zones de disponibilité pour tous les équilibreurs de charge.Équilibreurs de charge d'application AWSnécessitent l'activation d'au moins deux zones de disponibilité pour assurer un routage continu du trafic.

Les cibles dans une zone de disponibilité désactivée restent enregistrées auprès duÉquilibreur de charge AWS, mais ils ne reçoivent pas de trafic. En savoir plus dans leAWSguide du développeur.

Fonctionnalités et avantages d'AWS Load Balancer

LeÉquilibreur de charge AWSest conçu pour assurer l'élasticité des ressources et une haute disponibilité. Voici quelques-unes des clésÉquilibreur de charge AWSavantages

  • Haute disponibilité et distribution du trafic du site Web vers plusieurs destinations ou cibles.
  • S'adapter sans intervention humaine aux changements majeurs du trafic du site Web.
  • Les fonctions de déchiffrement SSL/TLS et d'authentification des utilisateurs offrent une sécurité élevée.
  • L'équilibrage de charge hybride peut faciliter la migration des ressources cloud.
  • L'audit et la surveillance continus offrent une visibilité accrue de vos applications.
  • Prise en charge d'AWSgestionnaire de certificats.

Voici un examen plus approfondi de certains des plus importantsAttributs de l'équilibreur de charge AWSet fonctionnalités.

Mise à l'échelle automatique Amazon EC2

  • Maintenir la disponibilité des applications avecMise à l'échelle automatique Amazon EC2et ajoutez ou supprimez des instances EC2 automatiquement et avec des fonctionnalités de mise à l'échelle dynamique et prédictive en fonction de conditions définies.
  • Maintenir la disponibilité et la santé de la flotte en utilisantMise à l'échelle automatique Amazon EC2fonctionnalités de gestion de flotte.
  • Utilisez la mise à l'échelle prédictive et la mise à l'échelle dynamique en tandem pour une mise à l'échelle plus rapide.

Proxy inverse AWS Load Balancer

Équilibreur de charge d'application AWSpeut être utilisé comme proxy inverse, mais il ne prend en charge aucune cible dynamique, uniquement des cibles statiques. En d'autres termes, il prend en charge fixeAdresses IPmais pas les noms de domaine.

Équilibreur de charge interne vs externe AWS

Comment leÉquilibreurs de charge internes et externes AWSdifférer?

Un équilibreur de charge interneroutes traficaux instances EC2 dans des sous-réseaux privés auxquels les clients doivent pouvoir accéder. Même un enregistrement Route53 pointant vers un équilibreur de charge interne ne peut pas accorder l'accès à un client qui ne se trouve pas sur le cloud privé virtuel (VPC).

Les équilibreurs de charge externes, dont les nœuds ont desAdresses IP, sont nécessaires pour que les clients qui ne sont pas sur le VPC puissent se connecter. Les équilibreurs de charge externes, parfois appelés équilibreurs de charge accessibles sur Internet, ont des noms DNS qui peuvent être résolus publiquement par le publicAdresses IPdes nœuds. Cela leur permet dedemandes de routagede partout sur Internet.

Les nœuds d'équilibreur de charge internes ont desAdresses IPuniquement, et le nom DNS de l'équilibreur de charge interne est résolvable publiquement à ceux privésAdresses IP. Par conséquent, les équilibreurs de charge internes peuvent accepter et gérer les demandes uniquement des clients qui peuvent accéder au cloud privé virtuel.

Basculement de l'équilibreur de charge AWS

Utiliser les groupes de mise à l'échelle automatique et l'équilibrage de charge élastique AWSbilans de santépour identifier et éliminer automatiquement les instances défaillantes, sans temps d'arrêt. Chaque application est déployée sur son propre cluster d'instances. Un groupe Auto Scaling (ASG) et un ELB contrôlent ce cluster. L'ASG contrôle le nombre d'instances existant dans le cluster et quand ajuster ce nombre.

L'ASG vérifie l'intégrité d'une instance chaque fois qu'il en démarre une, et la vérification peut avoir deux résultats. Si l'instance passe leBilan de santé, l'ASG lui permet de s'exécuter et l'ELB le marque "En service" afin qu'il puisse lui envoyer le trafic entrant.

Si quelque chose ne va pas avec l'instance ou l'application qui s'y trouve et que l'instance échoue, leBilan de santé, l'ASG lui accorde un délai de grâce car l'ELB le marque comme "hors service" jusqu'à ce que l'ASG le remplace.

La surveillance est continue et l'ELB marquera toute instance qui échouebilans de santéet arrêter le routage du trafic afin que l'ASG puisse répondre et le remplacer.

Contrôleur d'équilibreur de charge AWS

Équilibreur de charge AWSContrôleur, parfois appeléÉquilibreur de charge AWS Kuberneteset anciennement appelé "AWS ALBContrôleur d'entrée», gère les équilibreurs de charge élastiques dans les clusters Kubernetes. Il fournit des équilibreurs de charge d'application pour satisfaireKubernetesRessources d'entréeet fournit des Network Load Balancers pour satisfaire KubernetesRessources de services.

Routage du chemin de l'équilibreur de charge AWS

Routage du chemin de l'équilibreur de charge AWS, également appelé routage basé sur le chemin ou routage basé sur l'URL, est une caractéristique unique duÉquilibreur de charge d'application AWS. L'ALB transmet les demandes à des cibles spécifiques en fonction de règles configurées.

Configuration de l'équilibreur de charge AWS

Utilisez l'interface Web AWS Management Console pour créer et configurer unÉquilibreur de charge AWS.

Avant de commencer, choisissez les deux zones de disponibilité que vous utiliserez pour vos instances EC2. Dans chaque zone de disponibilité, configurez au moins un sous-réseau public dans le cloud privé virtuel (VPC) ; ceux-ci sont utilisés pour configurer l'équilibreur de charge. De plus, les utilisateurs peuvent lancer des instances EC2 dans d'autres sous-réseaux des zones de disponibilité.

Chaque zone de disponibilité doit avoir une ou plusieurs instances EC2 avec un serveur Web tel que Ngnix ou Apache installé. Les groupes de sécurité doivent activer l'accès HTTP pour ces instances sur le port 80.

Ensuite, utilisezAWS configure l'équilibreur de chargedocuments à

  • Sélectionnez quel type deÉquilibreur de charge AWSutiliser
  • Configuration de base complète
  • Configurer un groupe de sécurité
  • Configurez ungroupe ciblé
  • Enregistrer les cibles
  • Créer un équilibreur de charge et le tester
  • Obtenez plus de détails surcomment configurer les équilibreurs de charge AWS

Limites d'AWS Load Balancer

Équilibreurs de charge AWSfait unebon travailavec des fonctions de base, mais ils font face à quelques défis importants.

Latence de l'équilibreur de charge AWS

Latence de l'équilibreur de charge AWSfait partie des limitations les plus notables du système. Avec un équilibreur de charge classique, plusieurs choses peuvent entraîner une latence élevée, à commencer par une configuration défectueuse. Au-delà de cela, les points problématiques à latence élevée sont fondamentalement les mêmes pour leÉquilibreur de charge d'application AWS, en particulier concernant les instances backend :

  • Configuration défectueuse
  • Problèmes de connectivité réseau
  • Et en ce qui concerne les instances backend
    • Utilisation élevée du processeur
    • Utilisation élevée de la mémoire (RAM)
    • Configuration du serveur Web défectueuse
    • Problèmes causés par les dépendances d'applications Web telles que les compartiments Amazon S3 ou les bases de données externes exécutées sur des instances principales

Évolutivité : AWS Load Balancer vs Autoscaling

Leéquilibreur de charge et mise à l'échelle automatique AWSont leur lien le plus proche dans les offres d'équilibrage de charge réseau (NLB) mises à jour. Ceux-ci interagissent dans la couche 4 et peuvent mettre fin aux connexions TCP/TLS entrantes, assurer une connexion ultérieure pour la cible en amont et déterminer quelle est cette cible.

LeÉquilibreur de charge réseau AWSgère, ajoute et supprime les cibles disponibles en tant quegroupe ciblé, ce qui rend le pool cible en amont élastique. De plusieurs façons,Équilibreurs de charge réseau AWSexcellent, mais ils sont toujours confrontés à quelques défis notables en matière d'évolutivité et d'élasticité.

Groupe cibléLimite

LeÉquilibreur de charge réseau AWSlimite le nombre d'instances de serveur frontal pouvant appartenir à ungroupe ciblé. SelonDocumentation AWSceci est basé sur un certain nombre de quotas, que les utilisateurs peuvent ajuster via des opérations de gestion de compte.

Cependant, les contraintes deArchitecture d'équilibreur de charge AWSsignifient que ces quotas ressemblent davantage à des limites strictes pour le système. Pour résoudre ce problème, vous pouvez essayer d'augmenter la taille de la cible avec une mise à l'échelle verticale ou utiliser plusieurs NLB, mais aucune des solutions n'est complète ou n'offre l'expérience transparente que les utilisateurs espèrent.

Stabilité de la connexion

Lorsqu'un grand nombre de connexions établies passent par un seul équilibreur de charge réseau, elles chutent parfois soudainement sans cause apparente. Il peut également y avoir un délai avant que les tentatives de reconnexion NLB réussissent et que le système réadmette le trafic.

Ce problème de stabilité de connexion pour les NLB uniques gérant un nombre élevé de connexions est dû aux limites de la conception architecturale et limite essentiellement le nombre de connexions qu'un seul NLB peut maintenir.

autres considérations

Des solutions telles queÉquilibreur de charge d'application AWS (ALB)ou même NLB manque d'analyses d'applications en temps réel, de gestion du trafic sur les clouds et de solides capacités d'équilibrage de charge. De la même manière,appareils virtuelsne peuvent pas prendre en charge la demande d'élasticité et d'automatisation des applications natives du cloud, ni évoluer sur plusieurs clouds. Et les équilibreurs de charge traditionnels sont conçus pour être basés sur des appliances, et non sur des environnements cloud. Ces solutions héritées exigent également une gestion fastidieuse des instances individuelles et de la configuration manuelle, et manquent d'intégration native avec les fonctionnalités populaires auprès des développeurs et des API AWS.

Est-ce que VMware NSX Advanced Load BalancerProposer une alternative à AWS Load Balancer ?

Oui. La plate-forme VMware NSX Advanced Load Balancer offre une sécurité avancée, des analyses d'applications, une surveillance des applications, un équilibrage de charge complet, une gestion du trafic multi-cloud, une mise à l'échelle automatique à la demande, etc. L'équilibreur de charge avancé VMware NSX se déploie dans des environnements virtualisés, bare metal ou conteneurs, dépassant de loin ce queÉquilibreurs de charge AWSet d'autres outils hérités peuvent faire.

Amazon ALB et ELB manquent de prise en charge avancée des politiques et de fonctionnalités de classe entreprise, et ne fournissent qu'un équilibrage de charge de base. L'équilibreur de charge avancé VMware NSX offre un équilibrage de charge complet de niveau entreprise et une prise en charge avancée des politiques :

  • Fonctionnalités avancées de commutation de contenu HTTP
  • Persistance globale
  • Suivi de santé personnalisable
  • Services DNS et GSLB sur plusieurs clouds

Apprendre encore plusici.

Pour en savoir plus sur la mise en œuvre réelle de l'équilibrage de charge, des applications de sécurité et des pare-feu d'applications Web, consultez notreVidéos explicatives sur la livraison d'applications.

References

Top Articles
Latest Posts
Article information

Author: Jamar Nader

Last Updated: 06/06/2023

Views: 5255

Rating: 4.4 / 5 (55 voted)

Reviews: 94% of readers found this page helpful

Author information

Name: Jamar Nader

Birthday: 1995-02-28

Address: Apt. 536 6162 Reichel Greens, Port Zackaryside, CT 22682-9804

Phone: +9958384818317

Job: IT Representative

Hobby: Scrapbooking, Hiking, Hunting, Kite flying, Blacksmithing, Video gaming, Foraging

Introduction: My name is Jamar Nader, I am a fine, shiny, colorful, bright, nice, perfect, curious person who loves writing and wants to share my knowledge and understanding with you.