Qu'est-ce qu'un équilibreur de charge 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 équilibreur de charge Application Load Balancer ?

Elastic Load Balancing distribue 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 contrôle l'état des 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 applications.

Elastic Load Balancing prend en charge les équilibreurs de charge suivants : Application Load Balancers, dispositifs d'équilibrage de charge de réseau, dispositifs d'équilibrage de charge de passerelle et Classic Load Balancers. Vous pouvez sélectionner le type d'équilibreur de charge qui correspond le mieux à vos besoins. Ce guide traite des Application Load Balancers. Pour plus d'informations sur les autres équilibreurs de charge, consultez le Guide de l'utilisateur des Network Load Balancers (français non garanti), le Guide de l'utilisateur des Gateway Load Balancers (français non garanti) et le Guide de l'utilisateur des Classic Load Balancers.

Composants d'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.


                Les composants d'un Application Load Balancer de base

Pour plus d'informations, consultez la documentation de suivante :

Présentation d'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). 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 fait évoluer votre équilibreur de charge au fur et à mesure que le trafic vers votre application change. Elastic Load Balancing peut s'adapter automatiquement à la plupart des applications.

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, consultez la section Fonctionnement d'Elastic Load Balancing, dans le Guide de l'utilisateur Elastic Load Balancing.

Avantages de la migration depuis un Classic Load Balancer

L'utilisation d'un Application Load Balancer 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.

  • Prise en charge du routage en fonction des champs de la demande, notamment des Conditions de l'en-tête HTTP et méthodes, des paramètres de requête et des 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.

  • Prise en charge 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 en utilisant ce port. Cela vous permet d'utiliser vos clusters plus efficacement.

  • Support pour le suivi indépendant de l'état de santé de chaque service, car les bilans de santé sont définis au niveau du groupe cible et de nombreux CloudWatch indicateurs sont signalés 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 de plus amples informations sur les fonctions prises en charge par chaque type d'équilibreur de charge, consultez Comparaison des produits pour Elastic Load Balancing.

Elastic Load Balancing fonctionne avec les services suivants pour améliorer la disponibilité et la capacité de mise à l'échelle 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 souhaité, même en cas de défaillance d'une instance, et vous permet d'augmenter ou de réduire automatiquement le nombre d'instances en fonction de l'évolution de la demande. Si vous activez Auto Scaling avec Elastic Load Balancing, les instances lancées par Auto Scaling sont automatiquement enregistrées auprès du groupe cible, et les instances résiliées par Auto Scaling sont automatiquement désenregistrées du groupe cible.

  • AWS Certificate Manager – Lorsque vous créez un écouteur HTTPS, vous pouvez spécifier les 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 — Vous permet de surveiller votre équilibreur de charge et de prendre les mesures nécessaires. Pour plus d’informations, consultez CloudWatch métriques pour votre Application Load Balancer.

  • Amazon ECS – Vous 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 plus d'informations, consultez Répartition de charge des services dans le Guide du développeur Amazon Elastic Container Service.

  • AWS Global Accelerator – Améliore la disponibilité et les performances de votre application. Utilisez un accélérateur pour répartir le trafic entre plusieurs équilibreurs de charge dans une ou plusieurs régions AWS. Pour plus d’informations, consultez le Guide du développeur AWS Global Accelerator.

  • Route 53 – Fournit un moyen fiable et économique d'acheminer les visiteurs vers des sites Web en traduisant les noms de domaine (tels que www.example.com) en adresses IP numériques (telles que 192.0.2.1) que les ordinateurs utilisent pour se connecter les uns aux autres. AWS attribue 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. Pour de plus amples informations, consultez Acheminement du trafic vers un équilibreur de charge ELB dans le Guide du développeur Amazon Route 53.

  • AWS WAF – Vous pouvez utiliser AWS WAF avec 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 Équilibreurs de charge des applications et AWS 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).

Tarification

Avec votre équilibreur de charge, vous payez uniquement en fonction de votre utilisation. Pour plus d'informations, veuillez consultez Tarification Elastic Load Balancing.