Couche Elastic Load Balancing - AWS OpsWorks

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.

Couche Elastic Load Balancing

Important

Le AWS OpsWorks Stacks le service a pris fin le 26 mai 2024 et a été désactivé tant pour les nouveaux clients que pour les clients existants. Nous recommandons vivement aux clients de migrer leurs charges de travail vers d'autres solutions dès que possible. Si vous avez des questions sur la migration, contactez le AWS Support L'équipe sur AWS Re:post ou via AWS Support haut de gamme.

Elastic Load Balancing fonctionne un peu différemment d'un AWS OpsWorks Couche Stacks. Au lieu de créer une couche et d'y ajouter des instances, vous pouvez utiliser la console Elastic Load Balancing ou API créer un équilibreur de charge, puis l'associer à une couche existante. Outre la distribution du trafic vers les instances de la couche, Elastic Load Balancing effectue les opérations suivantes :

  • Détecte les EC2 instances Amazon défectueuses et redirige le trafic vers les instances saines restantes jusqu'à ce que les instances défectueuses soient restaurées.

  • Dimensionne automatiquement la capacité de traitement des demandes en réponse au trafic entrant.

  • Si vous activez le drainage de la connexion, l'équilibreur de charge cesse d'envoyer de nouvelles demandes aux instances non saines ou dont l'enregistrement est sur le point d'être annulé, mais maintient la connexion, jusqu'au délai d'attente spécifié, pour permettre à l'instance de terminer toutes les requêtes en cours.

Après avoir attaché un équilibreur de charge à une couche, AWS OpsWorks Stacks effectue les opérations suivantes :

  • Annule l'enregistrement de toutes les instances actuellement enregistrées.

  • Enregistre automatiquement les instances de la couche lorsqu'elles sont en ligne et annule l'enregistrement des instances quand elles passent hors connexion, y compris les instances à date définie et les instances à charge définie.

  • Commence automatiquement à acheminer les requêtes vers les instances enregistrées dans leurs zones de disponibilité.

Si vous avez activé la fonction de vidange des connexions de l'équilibreur de charge, vous pouvez spécifier si AWS OpsWorks Stacks le soutient. Si vous activez la prise en charge du drainage des connexions (paramètre par défaut), après l'arrêt d'une instance, AWS OpsWorks Stacks effectue les opérations suivantes :

  • Annule l'enregistrement de l'instance auprès de l'équilibreur de charge.

    L'équilibreur de charge cesse d'envoyer de nouvelles demandes et démarre le drainage de la connexion.

  • Retarde le déclenchement d'un événement de cycle de vie Shutdown jusqu'à ce que l'équilibreur de charge ait terminé le drainage de la connexion.

Si vous n'activez pas la prise en charge de l'épuisement des connexions, AWS OpsWorks Stacks déclenche l'événement Shutdown dès que l'instance est arrêtée, même si l'instance est toujours connectée à l'équilibreur de charge.

Pour utiliser Elastic Load Balancing avec une pile, vous devez d'abord créer un ou plusieurs équilibreurs de charge dans la même région à l'aide de la console Elastic Load BalancingCLI, ouAPI. Vous devez être conscient des points suivants :

  • Vous ne pouvez attacher qu'un seul équilibreur de charge à une couche.

  • Chaque équilibreur de charge ne peut gérer qu'une seule couche.

  • AWS OpsWorks Stacks ne prend pas en charge Application Load Balancer. Vous ne pouvez utiliser Classic Load Balancer qu'avec AWS OpsWorks Des piles.

Cela signifie que vous devez créer un équilibreur de charge Elastic Load Balancing distinct pour chaque couche de chaque pile que vous souhaitez équilibrer et l'utiliser uniquement à cette fin. Il est recommandé d'attribuer un nom distinct à chaque équilibreur de charge Elastic Load Balancing que vous prévoyez d'utiliser avec AWS OpsWorks Des piles, telles que MyStack 1- RailsLayer -ELB, pour éviter d'utiliser un équilibreur de charge à plusieurs fins.

Important

Nous vous recommandons de créer de nouveaux équilibreurs de charge Elastic Load Balancing pour votre AWS OpsWorks Empile les couches. Si vous choisissez d'utiliser un équilibreur de charge Elastic Load Balancing existant, vous devez d'abord vérifier qu'il n'est pas utilisé à d'autres fins et qu'aucune instance n'est attachée. Une fois que l'équilibreur de charge est attaché à la couche, il OpsWorks supprime toutes les instances existantes et configure l'équilibreur de charge pour qu'il gère uniquement les instances de la couche. Bien qu'il soit techniquement possible d'utiliser la console Elastic Load Balancing ou de API modifier la configuration d'un équilibreur de charge après l'avoir attaché à une couche, vous ne devez pas le faire ; les modifications ne seront pas permanentes.

Pour attacher un équilibreur de charge Elastic Load Balancing à une couche
  1. Si ce n'est pas encore fait, utilisez la console Elastic Load Balancing ou CLI créez un équilibreur de charge dans la région de la pile. API Lorsque vous créez l'équilibreur de charge, procédez comme suit :

    • Assurez-vous de spécifier un chemin ping de vérification du statut approprié à votre application.

      Comme le chemin d'accès ping par défaut est /index.html, si la racine de votre application n'inclut pas index.html, vous devez spécifier un chemin d'accès ping approprié, sans quoi la vérification du statut échoue.

    • Si vous souhaitez utiliser le drainage de la connexion, assurez-vous que la fonctionnalité est activée et qu'elle possède une valeur de délai appropriée.

    Pour plus d'informations, consultez Elastic Load Balancing.

  2. Créez la couche à équilibrer ou modifiez les paramètres réseau d'une couche existante.

    Note

    Vous ne pouvez pas attacher un équilibreur de charge lorsque vous créez une couche personnalisée. Vous devez modifier les paramètres de la couche.

  3. Sous Elastic Load Balancing, sélectionnez l'équilibreur de charge que vous souhaitez associer à la couche et spécifiez si vous souhaitez AWS OpsWorks Des piles pour faciliter la vidange des connexions.

Après avoir attaché un équilibreur de charge à une couche, AWS OpsWorks Stacks déclenche un événement de configuration du cycle de vie sur les instances de la pile pour les informer de la modification. AWS OpsWorks Stacks déclenche également un événement Configure lorsque vous détachez un équilibreur de charge.

Note

Après le démarrage d'une instance, AWS OpsWorks Stacks exécute les recettes de configuration et de déploiement, qui installent des packages et déploient des applications. Une fois ces recettes terminées, l'instance est en ligne et AWS OpsWorks Stacks enregistre l'instance auprès d'Elastic Load Balancing. AWS OpsWorks Stacks déclenche également un événement Configure après la mise en ligne de l'instance. Cela signifie que l'enregistrement d'Elastic Load Balancing et les recettes de configuration peuvent s'exécuter simultanément, et que l'instance peut être enregistrée avant la fin des recettes de configuration. Pour garantir qu'une recette se termine avant qu'une instance ne soit enregistrée auprès d'Elastic Load Balancing, vous devez ajouter la recette aux événements du cycle de vie de configuration ou de déploiement de la couche. Pour de plus amples informations, veuillez consulter Exécution des recettes.

Il est parfois utile de supprimer une instance d'un équilibreur de charge. Par exemple, lorsque vous mettez à jour une application, nous vous recommandons de déployer l'application sur une seule instance et de vérifier que l'application fonctionne correctement avant de la déployer sur chaque instance. Généralement, comme vous supprimez cette instance à partir de l'équilibreur de charge, il ne reçoit pas les demandes de l'utilisateur jusqu'à ce que vous ayez vérifié la mise à jour.

Vous devez utiliser la console Elastic Load Balancing ou API supprimer temporairement une instance en ligne d'un équilibreur de charge. Ce qui suit explique comment utiliser la console.

Pour supprimer temporairement une instance d'un équilibreur de charge
  1. Ouvrez la EC2console Amazon et choisissez Load Balancers.

  2. Choisissez l'équilibreur de charge approprié et ouvrez l'onglet Instances.

  3. Choisissez Remove from Load Balancer dans la colonne Actions de l'instance.

  4. Lorsque vous avez terminé, choisissez Edit Instances et renvoyez l'instance à l'équilibreur de charge.

Important

Si vous utilisez la console Elastic Load Balancing ou API si vous supprimez une instance d'un équilibreur de charge, vous devez également utiliser Elastic Load Balancing pour la remettre en place. AWS OpsWorks Stacks n'est pas au courant des opérations que vous effectuez avec d'autres consoles de service et ne renverra pas l'instance dans l'équilibreur de charge à votre place. APIs Parfois, AWS OpsWorks Stacks peut réajouter l'instance auELB, mais ce comportement n'est pas garanti et ne se produit pas dans tous les cas.

Vous pouvez attacher plusieurs équilibreurs de charge à un ensemble particulier d'instances comme suit :

Pour attacher plusieurs équilibreurs de charge
  1. Utilisez la console Elastic Load Balancing ou CLI pour créer un ensemble d'équilibreurs de charge. API

  2. Créez une couche personnalisée pour chaque équilibreur de charge et attachez-lui l'un des équilibreurs de charge. Vous n'avez pas besoin d'implémenter de recettes personnalisées pour ces couches ; une couche personnalisée par défaut suffit.

  3. Ajoutez l'ensemble des instances à chaque couche personnalisée.

Vous pouvez examiner les propriétés d'un équilibreur de charge en accédant à la page Instances et en cliquant sur le nom de l'équilibreur de charge approprié.

PHP App Server table showing two online instances with their details and status.

La ELBpage présente les propriétés de base de l'équilibreur de charge, notamment son DNS nom et l'état de santé des instances associées. Si la pile s'exécute dans unVPC, la page affiche les sous-réseaux plutôt que les zones de disponibilité. Une coche verte indique une instance saine. Vous pouvez cliquer sur le nom pour vous connecter à un serveur, via l'équilibreur de charge.

ELB My-Stack-PHP settings showing DNS name, layer, region, and instance status.