Configuration d'un équilibreur de charge réseau - AWS Elastic Beanstalk

Configuration d'un équilibreur de charge réseau

Lorsque vous activez l'équilibrage de charge, votre environnement AWS Elastic Beanstalk est équipé d'un équilibreur de charge Elastic Load Balancing qui permet de 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 Network Load Balancer créé par Elastic Beanstalk et dédié à votre environnement. Pour de plus amples informations sur la configuration de tous les types d'équilibreur de charge pris en charge par Elastic Beanstalk, veuillez consulter É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.

Introduction

Avec un équilibreur de charge Network Load Balancer, l'écouteur par défaut accepte les demandes TCP sur le port 80 et les distribue aux instances de votre environnement. Vous pouvez configurer le comportement de la vérification de l'état, configurer le port d'écoute ou ajouter un écouteur sur un autre port.

Note

Contrairement à un équilibreur de charge Classic Load Balancer ou Application Load Balancer, un équilibreur de charge Network Load Balancer ne peut pas avoir d'écouteurs HTTP or HTTPS de couche de transport (couche 7). Il ne prend en charge que les écouteurs TCP de la couche de transport (couche 4). Le trafic HTTP et HTTPS peut être acheminé vers votre environnement via TCP. Pour établir des connexions HTTPS sécurisées entre les clients web et votre environnement, installez un certificat auto-signé sur les instances de l'environnement, et configurez les instances pour écouter sur le port approprié (généralement, le port 443) et arrêtez les connexions HTTPS. La configuration varie selon la plateforme. Pour obtenir des instructions, veuillez consulter Configuration de votre application pour suspendre des connexions HTTPS sur l'instance. Ensuite, configurez votre équilibreur de charge Network Load Balancer pour ajouter un écouteur qui est mappé à un processus à l'écoute sur le port approprié.

Un équilibreur de charge Network Load Balancer prend en charge les vérifications de l'état actives. Ces vérifications sont basées sur les messages transmis au chemin d'accès racine (/). Un équilibreur de charge Network Load Balancer prend également en charge les vérifications de l'état passives. Il détecte automatiquement les instances backend défectueuses et achemine uniquement le trafic vers des instances saines.

Configuration d'un équilibreur de charge Network Load Balancer à l'aide de la console Elastic Beanstalk

Vous pouvez utiliser la console Elastic Beanstalk pour configurer les écouteurs et les processus d'un équilibreur de charge Network 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 équilibreur de charge Network Load Balancer dans la console Elastic Beanstalk lors de la création de l'environnement

  1. Ouvrez la console Elastic Beanstalk et, dans la liste Regions (Régions) sélectionnez votre région AWS.

  2. Dans le panneau de navigation, choisissez Environments (Environnements).

  3. Choisissez Create a new environment (Créer un nouvel environnement) pour commencer à créer votre environnement.

  4. Sur la page principale de l'assistant, avant de choisir Créer un environnement, choisissez Configurer plus d'options.

  5. 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 d'informations, consultez Capacité.

  6. Dans la catégorie de configuration Load balancer (Équilibreur de charge), choisissez Edit (Modifier).

  7. Sélectionnez l'option Network Load Balancer (Équilibreur de charge du réseau) si elle n'est pas déjà sélectionnée.

    
            Page de configuration de l'équilibreur de charge Elastic Load Balancing – Choix du type d'équilibreur de charge
  8. Effectuez toutes les modifications de configuration de l'équilibreur de charge Network Load Balancer exigées par votre environnement.

  9. Choisissez Enregistrer, puis effectuez toutes les autres modifications de configuration exigées par votre environnement.

  10. Choisissez Create environment.

Pour configurer un équilibreur de charge Network Load Balancer d'un environnement en cours d'exécution dans la console Elastic Beanstalk

  1. Ouvrez la console Elastic Beanstalk et, dans la liste Regions (Régions) sélectionnez votre région AWS.

  2. 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.

  3. Dans le panneau de navigation, choisissez Configuration.

  4. 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.

  5. Effectuez les modifications de configuration de l'équilibreur de charge Network Load Balancer exigées par votre environnement.

  6. Choisissez Apply.

Paramètres de l'équilibreur de charge Network 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é vers un processus spécifié sur vos instances. Initialement, la liste indique l'écouteur par défaut, qui achemine le trafic HTTP entrant sur le port 80 pour un processus nommé default, qui écoute le port HTTP 80.


          Configuration de l'équilibreur de charge Network Load Balancer - Liste des écouteurs

Pour configurer un écouteur existant

  1. Cochez la case en regard de son entrée de table, puis choisissez Actions, Modifier.

  2. Utilisez la boîte de dialogue Network Load Balancer listener (Écouteur Network Load Balancer) pour modifier les paramètres, puis choisissez Save (Enregistrer).

Pour ajouter un écouteur

  1. Choisissez Ajouter un écouteur.

  2. Dans la boîte de dialogue Network Load Balancer listener (Écouteur Network Load Balancer), configurez les paramètres requis, puis sélectionnez Ajouter.

Utilisez la boîte de dialogue Network Load Balancer listener (Écouteur Network Load Balancer) pour configurer le port sur lequel l'écouteur écoute le trafic, et choisir le processus vers lequel vous souhaitez acheminer le trafic (spécifié par le port que le processus écoute).


          Boîte de dialogue Écouteur de l'équilibreur de charge Network Load Balancer

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é vers un processus spécifié sur vos instances. Initialement, la liste indique le processus par défaut, qui écoute le trafic entrant sur le port 80.


          Configuration de l'équilibreur de charge Network Load Balancer - Liste des processus

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'équilibreur de charge Network Load Balancer

Définition

Utilisez ces paramètres pour définir le processus : son nom et le port de processus sur lequel il écoute les requêtes.


            Boîte de dialogue des processus des équilibreurs de charge Network Load Balancer pour le nom, le port d'écoute et le port de processus

Vérification de l'état

Utilisez les paramètres suivants pour configurer les processus des vérifications de l'état :

  • Interval (Intervalle) – Durée, en secondes, entre les vérifications de l'état d'une instance.

  • Healthy threshold (Seuil de bonne santé) – Nombre de vérifications de l'état qui doivent réussir avant qu'Elastic Load Balancing modifie l'état de santé d'une instance. (Pour l'équilibreur de charge Network Load Balancer, l'option Unhealthy threshold (Seuil de défectuosité) est un paramètre en lecture seule qui est toujours égal à la valeur du seuil de bonne santé.)

  • 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.


            Paramètres de la boîte de dialogue de processus de l'équilibreur de charge Network Load Balancer pour les vérifications de l'état
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 dont la vérification de l'état Elastic Load Balancing échoue ne sont pas automatiquement remplacées par Amazon EC2 Auto Scaling, sauf si vous configurez manuellement Amazon EC2 Auto Scaling pour le faire. Pour de plus amples informations, veuillez consulter Paramètre de vérification de l'état Auto Scaling.

Pour de plus amples informations sur les vérifications de l'état et leur influence sur l'état global de votre environnement, veuillez consulter Création de rapports d'intégrité de base.

Exemple : équilibreur de charge Network Load Balancer pour un environnement avec un chiffrement de bout en bout

Dans cet exemple, votre application requiert le chiffrement du trafic de bout en bout. Pour configurer l'équilibreur de charge Network Load Balancer de votre environnement afin de répondre à ces exigences, configurez le processus par défaut pour écouter sur le port 443, ajoutez un écouteur sur le port 443 qui achemine le trafic vers le processus par défaut et désactivez l'écouteur par défaut.

Pour configurer l'équilibreur de charge de cet exemple

  1. Configurez le processus par défaut. Sélectionnez le processus par défaut, puis, pour Actions, choisissez Edit (Modifier). Pour Process port (Port de processus), tapez 443.

    
            Exemple de configuration d'un équilibreur de charge Network Load Balancer - Configuration du processus par défaut pour utiliser le port 443
  2. Ajoutez un écouteur de port 443. Ajoutez un écouteur. Pour Port d'écoute, tapez 443. Pour Process port (Port de processus), assurez-vous que 443 est sélectionné.

    
            Exemple de configuration d'un équilibreur de charge Network Load Balancer - Ajout d'un écouteur de port 443

    Vous voyez désormais votre écouteur supplémentaires dans la liste.

    
            Exemple de configuration d'un équilibreur de charge Network Load Balancer - Liste d'écouteurs avec deux écouteurs
  3. Désactivez l'écouteur du port 80 par défaut. Pour l'écouteur par défaut, désactivez l'option Activé.

    
            Exemple de configuration d'un équilibreur de charge Network Load Balancer - Désactivation de l'écouteur par défaut

Configuration d'un équilibreur de charge Network Load Balancer à l'aide de l'interface de ligne de commande EB

L'interface de ligne de commande EB vous invite à choisir un type d'équilibreur de charge lorsque vous exécutez la commande 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 1): 3

Vous pouvez également spécifier un type d'équilibreur de charge à l'aide de l'option --elb-type.

$ eb create test-env --elb-type network

Espaces de noms de l'équilibreur de charge Network Load Balancer

Vous trouverez les paramètres liés aux équilibreurs Network Load Balancer 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 Network Load Balancer est network.

  • aws:elbv2:listener – Configurez les écouteurs sur l'équilibreur de charge Network Load Balancer. Ces paramètres sont mappés aux paramètres de aws:elb:listener pour les équilibreurs de charge Classic Load Balancers.

  • 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 dans aws:elb:listener pour un écouteur sur un équilibreur de charge Classic Load Balancer. Les paramètres de vérification de l'état sont mappés sur les paramètres des espaces de noms aws:elb:healthcheck et aws:elasticbeanstalk:application.

Exemple .ebextensions/network-load-balancer.config

Pour vous familiariser avec un équilibreur de charge Network Load Balancer utilisez un fichier de configuration pour définir le type d'équilibreur de charge sur network.

option_settings: aws:elasticbeanstalk:environment: LoadBalancerType: network
Note

Le type d'équilibreur de charge peut uniquement être défini lors de la création de l'environnement.

Exemple .ebextensions/nlb-default-process.config

Le fichier de configuration suivant modifie les paramètres de vérification de l'état sur le processus par défaut.

option_settings: aws:elasticbeanstalk:environment:process:default: DeregistrationDelay: '20' HealthCheckInterval: '10' HealthyThresholdCount: '5' UnhealthyThresholdCount: '5' Port: '80' Protocol: TCP

Exemple .ebextensions/nlb-secure-listener.config

Le fichier de configuration suivant ajoute un écouteur pour sécuriser le trafic sur le port 443 et un processus cible correspondant qui écoute le port 443.

option_settings: aws:elbv2:listener:443: DefaultProcess: https ListenerEnabled: 'true' aws:elasticbeanstalk:environment:process:https: Port: '443'

L'option DefaultProcess est nommée ainsi en raison des équilibreurs de charge Application Load Balancer, qui peuvent avoir des écouteurs autres que ceux par défaut sur le même port pour le trafic vers des chemins spécifiques (veuillez consulter Application Load Balancer pour plus de détails). Pour un équilibreur de charge Network Load Balancer, l'option spécifie le seul processus cible de cet écouteur.

Dans cet exemple, nous avons nommé le processus https, car il écoute le trafic sécurisé (HTTPS). L'écouteur envoie le trafic vers le processus sur le port désigné à l'aide du protocole TCP, car un équilibreur de charge Network Load Balancer fonctionne uniquement avec TCP. C'est tout à fait normal, car le trafic réseau pour HTTP et HTTPS est mis en œuvre par-dessus TCP.