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.
Configuration d'un Application Load Balancer
Lorsque vous activez l'équilibrage de charge, votre AWS Elastic Beanstalk environnement est équipé d'un équilibreur de charge Elastic Load Balancing pour répartir le trafic entre les instances de votre environnement. Elastic Load Balancing prend en charge plusieurs types d'équilibreur de charge. Pour en savoir plus, consultez le Guide de l'utilisateur Elastic Load Balancing. Elastic Beanstalk peut créer un équilibreur de charge pour vous, ou vous permettre de spécifier un équilibreur de charge partagé que vous avez créé.
Cette rubrique décrit la configuration d'un équilibreur de charge Application Load Balancer créé par Elastic Beanstalk et dédié à votre environnement. Voir aussi Configuration d'un Application Load Balancer partagé. Pour plus d'informations sur la configuration de tous les types d'équilibreur de charge pris en charge par Elastic Beanstalk, consultez Équilibreur de charge pour votre environnement Elastic Beanstalk.
Note
Vous pouvez choisir le type d'équilibreur de charge que votre environnement utilise uniquement lors de la création de l'environnement. Vous pouvez modifier les paramètres pour gérer le comportement de l'équilibreur de charge de votre environnement d'exécution, mais pas en changer le type. Vous ne pouvez pas non plus passer d'un équilibreur de charge dédié à un équilibreur de charge partagé ou inversement.
Introduction
Un équilibreur de charge Application Load Balancer inspecte le trafic au niveau de la couche protocole réseau de l'application pour identifier le chemin d'accès des demandes afin de les diriger vers différentes destinations pour divers chemins d'accès.
Lorsque votre environnement utilise un Application Load Balancer, Elastic Beanstalk le configure par défaut pour exécuter la même fonction qu'un Classic Load Balancer. L'écouteur par défaut accepte les HTTP demandes sur le port 80 et les distribue aux instances de votre environnement. Vous pouvez ajouter un écouteur sécurisé sur le port 443 avec un certificat pour déchiffrer le HTTPS trafic, configurer le comportement de vérification de l'état et transférer les journaux d'accès de l'équilibreur de charge vers un bucket Amazon Simple Storage Service (Amazon S3).
Note
Contrairement à un Classic Load Balancer ou à un Network Load Balancer, un Application Load Balancer ne peut pas avoir de couche transport (couche 4) ou/listeners. TCP SSL TLS Il ne prend en charge que HTTP les HTTPS auditeurs. En outre, il ne peut pas utiliser l'authentification du backend pour authentifier les HTTPS connexions entre l'équilibreur de charge et les instances du backend.
Dans un environnement Elastic Beanstalk, vous pouvez utiliser un équilibreur de charge Application Load Balancer pour diriger le trafic de certains chemins d'accès vers un autre processus sur vos instances de serveur web. Avec un Classic Load Balancer, l'ensemble du trafic vers un écouteur est acheminé vers un seul processus sur les instances de backend. Un équilibreur de charge Application Load Balancer vous permet de configurer plusieurs règles sur l'écouteur afin d'acheminer les demandes de certains chemins d'accès vers d'autres processus de backend. Vous configurez chaque processus avec le port sur lequel le processus écoute.
Par exemple, vous pouvez exécuter un processus de connexion séparément de votre application principale. Tandis que l'application principale sur les instances de votre environnement accepte la plupart des demandes et écoute sur le port 80, votre processus de connexion écoute sur le port 5000 et accepte les demandes du chemin d'accès /login
. Toutes les demandes entrantes provenant de clients arrivent sur le port 80. Avec un équilibreur de charge Application Load Balancer, vous pouvez configurer un seul écouteur pour le trafic entrant sur le port 80, avec deux règles qui acheminent le trafic vers deux processus distincts, selon le chemin d'accès de la requête. Vous ajoutez une règle personnalisée qui achemine le trafic vers /login
pour le processus de connexion écoutant sur le port 5000. La règle par défaut achemine tout le reste du trafic vers le processus d'application principale à l'écoute sur le port 80.
Une règle d'équilibreur de charge Application Load Balancer fait correspondre une demande à un groupe cible. Dans Elastic Beanstalk, un groupe cible est représenté par un processus. Vous pouvez configurer un processus avec un protocole, le un et des paramètres de vérification de l'état. Le processus représente le processus en cours d'exécution sur les instances de votre environnement. Le processus par défaut est un écouteur sur le port 80 du proxy inverse (nginx ou Apache) qui s'exécute devant votre application.
Note
En dehors d'Elastic Beanstalk, un groupe cible est mappé à un groupe d'instances. Un écouteur peut utiliser des règles et des groupes cibles pour acheminer le trafic vers différentes instances en fonction du chemin d'accès. Dans Elastic Beanstalk, toutes les instances de votre environnement sont identiques et la distinction s'applique donc aux processus écoutant sur des ports différents.
Un Classic Load Balancer utilise un chemin de vérification de l'état unique pour l'ensemble de l'environnement. Avec un équilibreur de charge Application Load Balancer, chaque processus a un chemin de vérification de l'état distinct, surveillé par l'équilibreur de charge et la surveillance améliorée de l'état Elastic Beanstalk.
Pour utiliser un Application Load Balancer, votre environnement doit être défini par défaut ou personnaliséVPC, et doit avoir un rôle de service doté de l'ensemble d'autorisations standard. Si vous avez un rôle de service plus ancien, il sera peut-être nécessaire de mettre à jour ses autorisations afin d'inclure elasticloadbalancing:DescribeTargetHealth
et elasticloadbalancing:DescribeLoadBalancers
. Pour plus d'informations sur un Application Load Balancer, consultez Qu'est-ce qu'un Application Load Balancer ?.
Note
La vérification de l'état de l'équilibreur de charge Application Load Balancer n'utilise pas le chemin d'accès à la vérification de l'état Elastic Beanstalk. Elle utilise le chemin spécifique configuré pour chaque processus séparément.
Configuration d'un équilibreur de charge Application Load Balancer à l'aide de la console Elastic Beanstalk
Vous pouvez utiliser la console Elastic Beanstalk pour configurer les écouteurs, les processus et les règles d'un équilibreur de charge Application Load Balancer lors de la création de l'environnement ou plus tard alors que votre environnement est en cours d'exécution.
Pour configurer un Application Load Balancer dans la console Elastic Beanstalk lors de la création de l'environnement
Ouvrez la console Elastic Beanstalk
, puis dans la liste des régions, sélectionnez votre. Région AWS -
Dans le panneau de navigation, choisissez Environments (Environnements).
-
Choisissez Create a new environment (Créer un nouvel environnement) pour commencer à créer votre environnement.
-
Sur la page principale de l'assistant, avant de choisir Créer un environnement, choisissez Configurer plus d'options.
-
Choisissez le préréglage de configuration Haute disponibilité.
Sinon, dans la catégorie de configuration Capacité, configurez un type d'environnement avec un Équilibrage de charge. Pour plus de détails, consultez Capacité.
-
Dans la catégorie de configuration Load balancer (Équilibreur de charge), choisissez Edit (Modifier).
-
Sélectionnez les options Application Load Balancer (Équilibreur de charge d'application) et Dedicated (Dédié) si elles ne sont pas déjà sélectionnées.
-
Effectuez toutes les modifications de configuration de l'équilibreur de charge Application Load Balancer exigées par votre environnement.
-
Choisissez Enregistrer, puis effectuez toutes les autres modifications de configuration exigées par votre environnement.
-
Choisissez Create environment.
Pour configurer un équilibreur de charge Application Load Balancer d'un environnement en cours d'exécution dans la console Elastic Beanstalk
Ouvrez la console Elastic Beanstalk
, puis dans la liste des régions, sélectionnez votre. Région AWS -
Dans le panneau de navigation, choisissez Environments (Environnements), puis choisissez le nom de votre environnement dans la liste.
Note
Si vous avez plusieurs environnements, utilisez la barre de recherche pour filtrer la liste des environnements.
Dans le panneau de navigation, choisissez Configuration.
-
Dans la catégorie de configuration Load balancer (Équilibreur de charge), choisissez Edit (Modifier).
Note
Si la catégorie de configuration Load balancer (Équilibreur de charge) ne dispose pas du bouton Edit (Modifier), cela signifie que votre environnement ne dispose pas d'un équilibreur de charge. Pour apprendre à en configurer un, consultez Changement de type d'environnement.
-
Effectuez les modifications de configuration de l'équilibreur de charge Application Load Balancer exigées par votre environnement.
-
Pour enregistrer les modifications, cliquez sur Appliquer en bas de la page.
Déclencheurs des équilibreurs de charge Application Load Balancer
Écouteurs
Utilisez cette liste pour spécifier plusieurs écouteurs pour votre équilibreur de charge. Chaque écouteur achemine le trafic client entrant sur un port spécifié à l'aide d'un protocole spécifié vers un ou plusieurs processus sur vos instances. Initialement, la liste indique l'écouteur par défaut, qui achemine le HTTP trafic entrant sur le port 80 vers un processus nommé default.
Pour configurer un écouteur existant
-
Cochez la case en regard de son entrée de table, puis choisissez Actions, Modifier.
-
Utilisez la boîte de dialogue Écouteur de l'Application Load Balancer pour modifier les paramètres, puis choisissez Enregistrer.
Pour ajouter un écouteur
-
Choisissez Add listener (Ajouter un écouteur).
-
Dans la boîte de dialogue Écouteur de l'équilibreur de charge d'application, configurez les paramètres désirés, puis choisissez Ajouter.
Utilisez les paramètres de la boîte de dialogue Écouteur de l'Application Load Balancer pour choisir le port et le protocole sur lesquels l'écouteur écoute le trafic, ainsi que le processus vers lequel acheminer le trafic. Si vous choisissez le HTTPS protocole, configurez SSL les paramètres.
Avant de configurer un HTTPS écouteur, assurez-vous de disposer d'un SSL certificat valide. Effectuez l’une des actions suivantes :
-
Si AWS Certificate Manager (ACM) est disponible dans votre AWS région, créez ou importez un certificat à l'aide deACM. Pour plus d'informations sur la demande de ACM certificat, consultez la section Demander un certificat dans le guide de AWS Certificate Manager l'utilisateur. Pour plus d'informations sur l'importation de certificats tiers dansACM, consultez la section Importation de certificats dans le guide de AWS Certificate Manager l'utilisateur.
-
S'il ACM n'est pas disponible dans votre AWS région, téléchargez votre certificat et votre clé existants surIAM. Pour plus d'informations sur la création et le téléchargement de certificats versIAM, consultez la section Utilisation des certificats de serveur dans le guide de l'IAMutilisateur.
Pour plus de détails sur la configuration HTTPS et l'utilisation des certificats dans Elastic Beanstalk, consultez. Configuration HTTPS pour votre environnement Elastic Beanstalk
Processus
Utilisez cette liste pour spécifier les processus pour votre équilibreur de charge. Un processus est une cible pour le routage du trafic par les écouteurs. Chaque écouteur achemine le trafic client entrant sur un port spécifié à l'aide d'un protocole spécifié vers un ou plusieurs processus sur vos instances. Dans un premier temps, la liste indique le processus par défaut, qui écoute le HTTP trafic entrant sur le port 80.
Vous pouvez modifier les paramètres d'un processus existant ou ajouter un nouveau processus. Pour commencer la modification d'un processus de la liste ou l'ajout d'un processus, utilisez la procédure définie pour la liste d'écouteurs. La boîte de dialogue Processus d'environnement s'ouvre.
Paramètres de la boîte de dialogue de processus d'environnement de l'Application Load Balancer
Définition
Utilisez ces paramètres pour définir le processus : son nom et le port et le protocole sur lesquels il écoute les requêtes.
Surveillance de l'état
Utilisez les paramètres suivants pour configurer les processus des vérifications de l'état :
-
HTTPcode — Le code HTTP d'état désignant un processus sain.
-
Path (Chemin) – Chemin d'accès de la demande de vérification de l'état du processus.
-
Timeout (Délai) – Durée, en secondes, d'attente d'une réponse de la vérification de l'état.
-
Interval (Intervalle) – Durée, en secondes, entre les vérifications de l'état d'une instance. L'intervalle doit être supérieur au délai.
-
Unhealthy threshold (Seuil de défectuosité), Healthy threshold (Seuil de bonne santé) – Nombre de vérifications de l'état qui doivent échouer ou réussir avant qu'Elastic Load Balancing modifie l'état de santé d'une instance.
-
Deregistration delay (Retard d'annulation d'enregistrement) – Délai, en secondes, d'attente de la fin des requêtes actives avant l'annulation de l'enregistrement d'une instance.
Note
La vérification de l'état Elastic Load Balancing n'a pas d'incidence sur le comportement de vérification de l'état du groupe Auto Scaling d'un environnement. Les instances qui échouent à un test de santé d'Elastic Load Balancing ne sont pas automatiquement remplacées par Amazon EC2 Auto Scaling, sauf si vous configurez manuellement Amazon EC2 Auto Scaling pour le faire. Consultez Paramètre de vérification de l'état Auto Scaling pour plus de détails.
Pour plus d'informations sur les vérifications de l'état et leur influence sur l'état global de votre environnement, consultez Création de rapports d'intégrité de base.
Séances
Activez ou désactivez la case Politique de permanence activée pour activer ou désactiver les sessions permanentes. Utilisez l'option Durée du cookie pour configurer la durée d'une session permanente, pouvant aller jusqu'à 604800
secondes.
Règles
Utilisez cette liste pour spécifier des règles d'écouteur personnalisées pour votre équilibreur de charge. Une règle mappe les requêtes que l'écouteur reçoit sur un modèle de chemin spécifique à un processus cible. Chaque écouteur peut avoir plusieurs règles acheminant les requêtes sur différents chemins à différents processus sur vos instances.
Les règles ont des priorités numériques qui déterminent la priorité selon laquelle elles sont appliquées aux demandes entrantes. Pour chaque nouvel écouteur que vous ajoutez, Elastic Beanstalk ajoute une règle par défaut qui achemine l'ensemble du trafic de l'écouteur au processus par défaut. La priorité de la règle par défaut est la plus basse ; elle n'est appliquée que si aucune autre règle pour le même écouteur ne correspond à la requête entrante. Initialement, si vous n'avez pas ajouté de règles personnalisées, la liste est vide. Les règles par défaut de tous les écouteurs ne sont pas affichées.
Vous pouvez modifier les paramètres d'une règle existante ou ajouter une nouvelle règle. Pour commencer la modification d'une règle de la liste ou l'ajout d'une règle, utilisez la procédure définie pour la liste d'écouteurs. La boîte de dialogue Règle d'écouteur s'ouvre, avec les paramètres suivants :
-
Name (Nom) – Nom de la règle.
-
Listener port (Port d'écoute) – Port d'écoute auquel la règle s'applique.
-
Priority (Priorité) – Priorité de la règle. Une valeur de priorité plus faible a une priorité plus élevée. Les priorités des règles d'un écouteur doivent être uniques.
-
Conditions de correspondance : liste des URL conditions de demande auxquelles la règle s'applique. Il existe deux types de conditions : HostHeader(la partie URL du domaine) et PathPattern(la partie URL du chemin). Vous pouvez ajouter jusqu'à cinq conditions. Chaque valeur de condition comporte jusqu'à 128 caractères et peut inclure des caractères génériques.
-
Process (Processus) – Processus auquel l'équilibreur de charge achemine les demandes qui correspondent à la règle.
Lorsque vous modifiez une règle existante, vous ne pouvez pas changer son Nom ni son Port d'écoute.
Capture des journaux d'accès
Utilisez ces paramètres pour configurer Elastic Load Balancing afin qu'il capture les journaux avec des informations détaillées sur les demandes envoyées à votre équilibreur de charge Application Load Balancer. La capture des journaux d'accès est désactivée par défaut. Lorsque l'option Store logs (Stocker des journaux) est activée, Elastic Load Balancing stocke les journaux dans le compartiment S3 que vous configurez. Le paramètre Prefix (Préfixe) spécifie un dossier de niveau supérieur dans le compartiment pour les journaux. Elastic Load Balancing place les journaux dans un dossier nommé AWSLogs
sous votre préfixe. Si vous ne spécifiez pas de préfixe, Elastic Load Balancing place son dossier au niveau racine du compartiment.
Note
Si le compartiment Amazon S3 que vous configurez pour la capture du journal d'accès n'est pas le compartiment créé par Elastic Beanstalk pour votre compte, veillez à ajouter une politique utilisateur avec les autorisations AWS Identity and Access Management appropriées pour vos () utilisateurs. IAM Les politiques d'utilisateur gérées fournies par Elastic Beanstalk ne couvrent que les autorisations pour les ressources gérées par Elastic Beanstalk.
Pour plus d'informations sur les journaux d'accès, y compris les autorisations et d'autres exigences, consultez la section Journaux d'accès pour votre Equilibreur de charge d'application.
Exemple : Équilibreur de charge Application Load Balancer avec un écouteur sécurisé et deux processus
Dans cet exemple, votre application nécessite le chiffrement end-to-end du trafic et un processus distinct pour le traitement des demandes administratives.
Pour configurer l'Application Load Balancer de votre environnement afin de répondre à ces exigences, vous supprimez l'écouteur par défaut, vous ajoutez un HTTPS écouteur, vous indiquez que le processus par défaut écoute le port 443 activé et vous ajoutez un processus et une règle d'écoute pour le trafic d'administration sur HTTPS un chemin différent.
Pour configurer l'équilibreur de charge de cet exemple
-
Ajoutez un écouteur sécurisé. Pour Port, entrez
443
. Pour Protocole, sélectionnezHTTPS
. Pour le SSLcertificat, sélectionnez celui ARN de votre SSL certificat. Par exemple,arn:aws:iam::123456789012:server-certificate/abc/certs/build
ouarn:aws:acm:us-east-2:123456789012:certificate/12345678-12ab-34cd-56ef-12345678
.Pour Processus par défaut, gardez
default
sélectionné.Vous voyez désormais votre écouteur supplémentaires dans la liste.
-
Désactivez l'HTTPécouteur du port 80 par défaut. Pour l'écouteur par défaut, désactivez l'option Activé.
-
Configurez le processus par défaut surHTTPS. Sélectionnez le processus par défaut, puis, pour Actions, choisissez Edit (Modifier). Pour Port, entrez
443
. Pour Protocole, sélectionnezHTTPS
. -
Ajoutez un processus d'administration. Pour Name (Nom), tapez
admin
. Pour Port, entrez443
. Pour Protocole, sélectionnezHTTPS
. Sous Vérification de l'état, pour Chemin, tapez/admin
. -
Ajoutez une règle pour le trafic d'administration. Pour Name (Nom), tapez
admin
. Pour Port d'écoute, tapez443
. Pour les conditions de correspondance, ajoutez un PathPatternavec la valeur/admin/*
. Pour Processus, sélectionnezadmin
.
Configuration d'un Application Load Balancer à l'aide de l'EB CLI
L'EB vous CLI invite à choisir un type d'équilibreur de charge lorsque vous exécutez. eb create
$ eb create
Enter Environment Name
(default is my-app): test-env
Enter DNS CNAME prefix
(default is my-app): test-env-DLW24ED23SF
Select a load balancer type
1) classic
2) application
3) network
(default is 2):
Vous pouvez également spécifier un type d'équilibreur de charge à l'aide de l'option --elb-type
.
$ eb create test-env
--elb-type application
Espaces de noms Application Load Balancer
Vous trouverez les paramètres liés aux équilibreurs Application Load Balancers dans les espaces de noms suivants :
-
aws:elasticbeanstalk:environment
– Choisissez le type d'équilibreur de charge pour votre environnement. La valeur d'un équilibreur de charge Application Load Balancer estapplication
.Vous ne pouvez pas définir cette option dans les fichiers de configuration (.Ebextensions).
-
aws:elbv2:loadbalancer
– Configurez les journaux d'accès et autres paramètres s'appliquant à l'équilibreur de charge Application Load Balancer dans son ensemble. -
aws:elbv2:listener
– Configurez les écouteurs sur l'équilibreur de charge Application Load Balancer. Ces paramètres sont mappés aux paramètres deaws:elb:listener
pour les Classic Load Balancers. -
aws:elbv2:listenerrule
– Configurez les règles qui acheminent le trafic vers différents processus, selon le chemin de la demande. Les règles sont spécifiques aux équilibreurs de charge Application Load Balancer. -
aws:elasticbeanstalk:environment:process
– Configurez les vérifications de l'état et spécifiez le port et le protocole des processus qui s'exécutent sur les instances de votre environnement. Les paramètres de port et de protocole sont mappés sur ceux de l'instance dansaws:elb:listener
pour un écouteur sur un Classic Load Balancer. Les paramètres de vérification de l'état sont mappés sur les paramètres des espaces de nomsaws:elb:healthcheck
etaws:elasticbeanstalk:application
.
Exemple extensions .eb/ .config alb-access-logs
Le fichier de configuration suivant permet le chargement de journaux d'accès pour un environnement comportant un équilibreur de charge Application Load Balancer.
option_settings:
aws:elbv2:loadbalancer:
AccessLogsS3Bucket: amzn-s3-demo-bucket
AccessLogsS3Enabled: 'true'
AccessLogsS3Prefix: beanstalk-alb
Exemple extensions .eb/ .config alb-default-process
Le fichier de configuration suivant modifie les paramètres de vérification de l'état et de permanence sur le processus par défaut.
option_settings:
aws:elasticbeanstalk:environment:process:default:
DeregistrationDelay: '20'
HealthCheckInterval: '15'
HealthCheckPath: /
HealthCheckTimeout: '5'
HealthyThresholdCount: '3'
UnhealthyThresholdCount: '5'
Port: '80'
Protocol: HTTP
StickinessEnabled: 'true'
StickinessLBCookieDuration: '43200'
Exemple extensions .eb/ .config alb-secure-listener
Le fichier de configuration suivant ajoute un écouteur sécurisé et un processus correspondant sur le port 443.
option_settings:
aws:elbv2:listener:443:
DefaultProcess: https
ListenerEnabled: 'true'
Protocol: HTTPS
SSLCertificateArns: arn:aws:acm:us-east-2:123456789012:certificate/21324896-0fa4-412b-bf6f-f362d6eb6dd7
aws:elasticbeanstalk:environment:process:https:
Port: '443'
Protocol: HTTPS
Exemple extensions .eb/ .config alb-admin-rule
Le fichier de configuration suivant ajoute un écouteur sécurisé avec une règle qui achemine le trafic dont le chemin de la demande est /admin
vers un processus nommé admin
qui écoute sur le port 4443.
option_settings:
aws:elbv2:listener:443:
DefaultProcess: https
ListenerEnabled: 'true'
Protocol: HTTPS
Rules: admin
SSLCertificateArns: arn:aws:acm:us-east-2:123456789012:certificate/21324896-0fa4-412b-bf6f-f362d6eb6dd7
aws:elasticbeanstalk:environment:process:https:
Port: '443'
Protocol: HTTPS
aws:elasticbeanstalk:environment:process:admin:
HealthCheckPath: /admin
Port: '4443'
Protocol: HTTPS
aws:elbv2:listenerrule:admin:
PathPatterns: /admin/*
Priority: 1
Process: admin