Qu'est-ce qu'un Application Load Balancer ? - Elastic Load Balancing

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Qu'est-ce qu'un Application Load Balancer ?

Elastic Load Balancing répartit automatiquement votre trafic entrant sur plusieurs cibles (par exemple, des instances EC2, des conteneurs et des adresses IP) dans une ou plusieurs zones de disponibilité. Il surveille l'état de santé de ses cibles enregistrées et achemine le trafic uniquement vers les cibles saines. Elastic Load Balancing met à l'échelle votre équilibreur de charge à mesure que votre trafic entrant change au fil du temps. Il est capable de s'adapter automatiquement à la plupart des charges de travail.

Elastic Load Balancing prend en charge les équilibreur de charge suivants : Equilibreurs Application Load Balancer, Network Load Balancer et Classic Load Balancer. Vous pouvez sélectionner le type d'équilibreur de charge adapté le mieux à vos besoins. Ce guide traite des équilibreurs de charge d'application. Pour plus d'informations sur les autres équilibreurs de charge, consultez leGuide de l'utilisateur des Network Load Balancers, leGuide de l'utilisateur pour les Gateway Load Balancers, et leGuide de l'utilisateur des équilibreurs de charge classiques.

Composants Application Load Balancer

Un équilibreur de charge constitue le point de contact unique pour les clients. L'équilibreur de charge distribue le trafic applicatif entrant sur différentes cibles, telles que des instances EC2, dans plusieurs zones de disponibilité. La disponibilité de votre application s'en trouve accrue. Vous ajoutez un ou plusieurs écouteurs à l'équilibreur de charge.

Un écouteur recherche les demandes de connexion des clients à l'aide du protocole et du port que vous avez configurés. Les règles que vous définissez pour un écouteur déterminent la manière dont l'équilibreur de charge achemine les demandes vers ses cibles enregistrées. Chaque règle comprend une priorité, une ou plusieurs actions et une ou plusieurs conditions. Lorsque les conditions d'une règle sont satisfaites, ses actions sont effectuées. Vous devez définir une règle par défaut pour chaque écouteur. Vous pouvez définir des règles supplémentaires si vous le souhaitez.

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. Vous pouvez enregistrer une cible auprès de plusieurs groupes cible. Vous pouvez configurer les vérifications de l'état pour chaque groupe cible. Les vérifications de l'état sont effectuées sur toutes les cibles enregistrées dans un groupe cible spécifié dans une règle de l'écouteur de votre équilibreur de charge.

Le schéma suivant illustre les composants de base. Notez que chaque écouteur contient une règle par défaut, et qu'un même écouteur contient une autre règle qui achemine les demandes vers un groupe cible différent. Une même cible est enregistrée auprès de deux groupes cible.


                Composants d'un Application Load Balancer de base

Pour plus d'informations, consultez la documentation suivante :

Présentation de l'Application Load Balancer

Un Application Load Balancer fonctionne au niveau de la couche Application, la septième couche du modèle OSI Open System Interconnection (OSI). Une fois que l'équilibreur de charge a reçu une demande, il évalue les règles d'écouteur par ordre de priorité pour déterminer quelle règle appliquer, puis il sélectionne une cible dans le groupe cible pour l'action de la règle. Vous pouvez configurer des règles d'écouteur afin d'acheminer les demandes vers différents groupes cibles en fonction du contenu du trafic de l'application. Le routage est effectué indépendamment pour chaque groupe cible, même si une cible est enregistrée avec plusieurs groupes cible. Vous pouvez configurer l'algorithme de routage utilisé au niveau du groupe cible. L'algorithme de routage par défaut est l'algorithme de routage en tourniquet (round-robin). Vous pouvez également spécifier l'algorithme de routage des demandes en attente les moins prioritaires.

Vous pouvez ajouter et supprimer des cibles de votre équilibreur de charge au fur et à mesure que vos besoins évoluent, sans interrompre le flux de demandes global vers votre application. Elastic Load Balancing évolue au fur et à mesure que le trafic vers votre application change au fil du temps. Elastic Load Balancing peut s'adapter automatiquement à la plupart des charges de travail.

Vous pouvez configurer des vérifications de l'état qui sont utilisées pour surveiller l'état de santé des cibles enregistrées afin que l'équilibreur de charge envoie les demandes uniquement aux cibles saines.

Pour de plus amples informations, veuillez consulterFonctionnement de Elastic Load Balancingdans leElastic Load Balancing.

Avantages de la migration depuis un Classic Load Balancer

L'utilisation d'un équilibreur de charge d'application au lieu d'un Classic Load Balancer présente les avantages suivants :

  • Prise en charge de Conditions de chemin. Vous pouvez configurer des règles pour votre écouteur qui transmettront les demandes en fonction de l'URL contenue dans chaque demande. Vous pouvez ainsi structurer votre application sous forme de petits services, et acheminer les demandes vers le service correct en fonction du contenu de l'URL.

  • Prise en charge de Conditions d'hôte. Vous pouvez configurer des règles pour votre écouteur qui transmettront les demandes en fonction du champ hôte contenu dans l'en-tête HTTP. Cela vous permet d'acheminer les demandes vers plusieurs domaines à l'aide d'un seul équilibreur de charge.

  • Support du routage en fonction des champs de la demande, tels queConditions d'en-tête HTTPet les méthodes, les paramètres de requête et les adresses IP source.

  • Prise en charge de l'acheminement des demandes vers plusieurs applications sur une seule instance EC2. Vous pouvez enregistrer une instance ou une adresse IP auprès de plusieurs groupes cibles, chacun sur un port différent.

  • Prise en charge du réacheminement des demandes depuis une URL vers une autre.

  • Prise en charge du renvoi d'une réponse HTTP personnalisée.

  • Prise en charge de l'enregistrement des cibles par adresse IP, y compris les cibles en dehors du VPC pour l'équilibreur de charge.

  • Prise en charge de l'enregistrement de fonctions Lambda en tant que cibles.

  • Prise en charge permettant à l'équilibreur de charge d'authentifier vos applications via leurs identités d'entreprise ou sociales avant d'acheminer les demandes.

  • Support des applications conteneurisées. Amazon Elastic Container Service (Amazon ECS) peut sélectionner un port inutilisé lors de la planification d'une tâche et enregistrer la tâche auprès d'un groupe cible à l'aide de ce port. Cela vous permet d'utiliser vos clusters plus efficacement.

  • Support de la surveillance de l'état de santé de chaque service indépendamment lorsque les vérifications de l'état sont définies au niveau du groupe cible et que de nombreuses métriques CloudWatch sont présentées au niveau du groupe cible. Attacher un groupe cible à un groupe Auto Scaling vous permet de mettre à l'échelle chaque service dynamiquement en fonction de la demande.

  • Les journaux d'accès contiennent des informations supplémentaires et sont stockés sous un format compressé.

  • Amélioration des performances de l'équilibreur de charge.

Pour plus d'informations sur les fonctions prises en charge par chaque type d'équilibreur de charge, consultezComparaisons de produitspour Elastic Load Balancing.

Elastic Load Balancing fonctionne avec les services suivants pour améliorer la disponibilité et l'évolutivité de vos applications.

  • Amazon EC2— Serveurs virtuels qui exécutent vos applications dans le cloud ; Vous pouvez configurer votre équilibreur de charge pour acheminer le trafic vers vos instances EC2.

  • Amazon EC2 Auto Scaling— Garantit que vous exécutez le nombre d'instances voulu, même en cas d'échec d'une instance, et vous permet d'augmenter ou de diminuer automatiquement le nombre d'instances au fur et à mesure de l'évolution de la demande sur vos instances. Si vous activez Auto Scaling avec Elastic Load Balancing, les instances qui sont lancées par Auto Scaling sont automatiquement enregistrées auprès de l'équilibreur de charge, et les instances qui sont résiliées par Auto Scaling sont annulées automatiquement de l'équilibreur de charge.

  • AWS Certificate Manager— Lorsque vous créez un écouteur HTTPS, vous pouvez spécifier des certificats fournis par ACM. L'équilibreur de charge utilise les certificats pour mettre fin aux connexions et déchiffrer les demandes de clients. Pour plus d'informations, consultez Certificats SSL.

  • Amazon CloudWatch— Permet de surveiller votre équilibreur de charge et de prendre les mesures nécessaires. Pour plus d'informations, consultez Mesures CloudWatch pour votre Application Load Balancer.

  • Amazon ECS— Permet d'exécuter, d'arrêter et de gérer des conteneurs Docker sur un cluster d'instances EC2. Vous pouvez configurer votre équilibreur de charge pour acheminer le trafic vers vos conteneurs. Pour de plus amples informations, veuillez consulterEquilibrage de chargedans leGuide du développeur Amazon Elastic Container Service.

  • AWS Global AcceleratorAméliore la disponibilité et les performances de votre application. Utilisez un accélérateur pour répartir le trafic sur plusieurs équilibreurs de charge dans un ou plusieursAWSRégions. Pour plus d'informations, consultez le Manuel du développeur AWS Global Accelerator.

  • Route 53— Fournit un moyen fiable et rentable d'acheminer les visiteurs vers des sites web en traduisant des noms de domaines (tels quewww.example.com) dans les adresses IP numériques (telles que192.0.2.1) que les ordinateurs utilisent pour se connecter les uns aux autres.AWSaffecte des URL à vos ressources, telles que les équilibreurs de charge. Vous pourrez néanmoins vouloir une URL qui soit simple à mémoriser par les utilisateurs. Par exemple, vous pouvez mapper votre nom de domaine à un équilibreur de charge.

  • AWS WAF— Vous pouvez utiliserAWS WAFavec votre Application Load Balancer pour autoriser ou bloquer des demandes en fonction des règles d'une liste de contrôle d'accès web (ACL web). Pour plus d'informations, consultez Application Load Balancers etAWS WAF.

Pour afficher des informations sur les services qui sont intégrés à votre équilibreur de charge, sélectionnez celui-ci dans AWS Management Console et choisissez l'onglet Integrated services (Services intégrés).

Pricing

Avec votre équilibreur de charge, vous payez uniquement en fonction de votre utilisation. Pour de plus amples informations, veuillez consulterElastic Load Balancing.