Elastic Load Balancing
Application Load Balancers

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

Elastic Load Balancing prend en charge trois types d'équilibreurs de charge : les Application Load Balancers, les Équilibreurs de charge du réseau et les Equilibreurs de charge classiques. Ce guide présente les Application Load Balancers. Pour plus d'informations sur les Équilibreurs de charge du réseau, consultez le Guide de l'utilisateur pour les Équilibreurs de charge du réseau. Pour plus d'informations sur les Equilibreurs de charge classiques, consultez le Guide de l'utilisateur pour les Equilibreurs de charge classiques.

Composants Equilibreur de charge d'application

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 Equilibreur de charge d'application de base

Pour plus d'informations, consultez la documentation suivante :

Présentation d'Equilibreur de charge d'application

L'Equilibreur de charge d'application 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 dans votre équilibreur de charge au fur et à mesure que vos besoins évoluent, sans interrompre le débit global de demandes transmises à votre application. Elastic Load Balancing met à l'échelle votre équilibreur de charge en fonction de la modification du trafic vers votre application au fil du temps. Elastic Load Balancing peut procéder à une mise à l'échelle automatique en fonction de 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 plus d'informations, consultez Fonctionnement d'Elastic Load Balancing dans le manuel Elastic Load Balancing Guide de l'utilisateur.

Avantages de la migration depuis un Equilibreur de charge classique

Utiliser un Equilibreur de charge d'application au lieu d'un Equilibreur de charge classique offre les avantages suivants :

  • Prise en charge du routage basé sur le chemin d'accès. 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 du routage basé sur l'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 en-têtes et méthodes HTTP standard et personnalisés, 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 chaque instance ou adresse IP avec le même groupe cible à l'aide de plusieurs ports.

  • 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 d'applications en conteneur. 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.

  • Prise en charge 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 sont présentées au niveau du groupe cible CloudWatch. 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, consultez Comparaison des produits Elastic Load Balancing.

Comment faire ses premiers pas

Pour créer un Equilibreur de charge d'application, utilisez l'un des didacticiels suivants :

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

  • Amazon EC2 – Serveurs virtuels qui s'exécutent sur 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 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 enregistrées automatiquement avec l'équilibreur de charge, et l'enregistrement des instances qui sont résiliées par Auto Scaling est annulé automatiquement sur l'équilibreur de charge.

  • 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 – Permet de surveiller votre équilibreur de charge et de prendre les mesures nécessaires. Pour plus d'informations, consultez Métriques 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 plus d'informations, consultez Équilibrage de charge des services dans le manuel Amazon Elastic Container Service Developer Guide.

  • 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, veuillez consulter Manuel du développeur AWS Global Accelerator.

  • Route 53 – Constitue un moyen extrêmement fiable et rentable d'acheminer les visiteurs vers des sites web en traduisant des noms de domaines (comme 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 affecte 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 utiliser AWS WAF avec votre Equilibreur de charge d'application 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 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, consultez Tarification Elastic Load Balancing.