HAProxy AWS OpsWorks Couche Stacks - 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.

HAProxy AWS OpsWorks Couche Stacks

Note

Cette couche est disponible uniquement pour Chef 11 et les piles antérieures basées sur Linux.

Le AWS OpsWorks La HAProxy couche Stacks est une AWS OpsWorks Couche empilée qui fournit un modèle pour les instances hébergeant un HAProxyserveur : un équilibre fiable entre hautes performances et chargeTCP. HTTP Une petite instance est généralement suffisante pour gérer tout le trafic du serveur d'application.

Note

Les piles sont limitées à une seule région. Pour distribuer votre application sur plusieurs régions, vous devez créer une pile distincte pour chaque région.

Pour créer une couche HAProxy
  1. Dans le volet de navigation, cliquez sur Layers.

  2. Sur la page Couches, cliquez sur Add a Layer (Ajouter une couche) ou + Layer. Pour Type de couche, sélectionnez HAProxy.

La couche a les paramètres de configuration suivants, qui sont tous facultatifs.

HAProxystatistiques

Indique si la couche de collecte et affiche les statistiques. La valeur par défaut est Yes (Oui).

Statistiques URL

Le URL chemin de la page de statistiques. Le fichier complet URL est http ://DNSNameStatisticsPathOù : DNSName est le DNS nom de l'instance associée. La valeur par défaut StatisticsPath la valeur est /haproxy ? stats, ce qui correspond à quelque chose comme : http://ec2-54-245-151-7.us-west-2.compute.amazonaws.com/haproxy?stats.

Nom d'utilisateur des statistiques

Le nom d'utilisateur de la page de statistiques, que vous devez fournir pour afficher la page de statistiques. La valeur par défaut est « opsworks ».

Mot de passe des statistiques

Mot de passe de la page de statistiques que vous devez fournir pour consulter la page de statistiques. La valeur par défaut est une chaîne générée de façon aléatoire.

Bilan de santé URL

URLSuffixe du bilan de santé. HAProxyutilise cela URL pour appeler périodiquement une HTTP méthode sur chaque instance de serveur d'applications afin de déterminer si l'instance fonctionne. Si le bilan de santé échoue, HAProxy arrête le routage du trafic vers l'instance jusqu'à ce qu'elle soit redémarrée, soit manuellement, soit par le biais d'une réparation automatique. La valeur par défaut du URL suffixe est «/», ce qui correspond à la page d'accueil de l'instance du serveur : http ://DNSName/.

Health check method

HTTPMéthode à utiliser pour vérifier si les instances fonctionnent. La valeur par défaut est OPTIONSet vous pouvez également spécifier GETou HEAD. Pour plus d'informations, consultez httpchk.

Custom security groups

Ce paramètre apparaît si vous avez choisi de ne pas associer automatiquement un AWS OpsWorks Empile le groupe de sécurité avec vos couches. Vous devez spécifier le groupe de sécurité à associer à la couche. Assurez-vous que le groupe dispose des paramètres appropriés pour autoriser le trafic entre les couches. Pour de plus amples informations, veuillez consulter Créer une pile.

HAProxy layer configuration form with options for statistics and health check settings.
Note

Enregistrez le mot de passe pour une utilisation ultérieure ; AWS OpsWorks Stacks ne vous permet pas de consulter le mot de passe après avoir créé la couche. Cependant, vous pouvez mettre à jour le mot de passe en accédant à la page Edit de la couche et en cliquant sur Update password sur l'onglet General Settings.

HAProxy layer settings interface with options for statistics, health checks, and auto healing.

Fonctionnement de la couche HAProxy

Par défaut, HAProxy effectue les opérations suivantes :

  • Écoute les demandes sur les HTTPS ports HTTP et.

    Vous pouvez configurer HAProxy pour écouter uniquement sur le HTTPS port HTTP ou en remplaçant le modèle de configuration Chef,haproxy.cfg.erb.

  • Achemine le trafic entrant vers les instances qui sont membres de n'importe quelle couche de serveur d'application.

    Par défaut, AWS OpsWorks Stacks est configuré HAProxy pour distribuer le trafic aux instances membres de n'importe quelle couche de serveur d'applications. Vous pouvez, par exemple, avoir une pile contenant à la fois des couches Rails PHP App Server et App Server, et un HAProxy maître distribue le trafic aux instances des deux couches. Vous pouvez configurer le routage par défaut en utilisant une recette personnalisée.

  • Achemine le trafic sur plusieurs zones de disponibilité.

    Si une seule zone de disponibilité s'arrête, l'équilibreur de charge achemine le trafic entrant vers les instances dans d'autres zones de sorte que votre application continue à s'exécuter sans interruption. C'est pourquoi il est recommandé de distribuer vos serveurs d'applications sur plusieurs zones de disponibilité.

  • Exécute périodiquement la méthode de vérification de l'état spécifiée sur chaque instance de serveur d'application afin d'évaluer son état.

    Si la méthode ne revient pas dans un délai spécifié, l'instance est présumée avoir échoué et HAProxy arrête le routage des demandes vers l'instance. AWS OpsWorks Stacks fournit également un moyen de remplacer automatiquement les instances défaillantes. Pour de plus amples informations, veuillez consulter Utilisation de la réparation automatique. Vous pouvez changer la méthode de vérification de l'état lorsque vous créez la couche.

  • Collecte les statistiques et les affiche éventuellement sur une page web.

Important

Pour que le bilan de santé fonctionne correctement avec la OPTIONS méthode par défaut, votre application doit renvoyer un code d'état 2xx ou 3xx.

Par défaut, lorsque vous ajoutez une instance à une HAProxy couche, AWS OpsWorks Stacks lui attribue une adresse IP élastique pour représenter l'application, qui est publique dans le monde entier. L'adresse IP élastique de l'HAProxyinstance étant la seule adresse publique de l'applicationURL, il n'est pas nécessaire de créer et de gérer des noms de domaine public pour les instances de serveur d'applications sous-jacentes. Vous pouvez obtenir l'adresse en accédant à la page Instances et en examinant l'adresse IP publique de l'instance, comme le montre l'illustration suivante. Une adresse suivie de (EIP) est une adresse IP élastique. Pour plus d'informations sur les adresses IP élastiques, consultez la section Adresses IP élastiques (EIP).

HAProxy instance table showing hostname, status, and public IP address with EIP highlighted.

Lorsque vous arrêtez une HAProxy instance, AWS OpsWorks Stacks conserve l'adresse IP élastique et la réaffecte à l'instance lorsque vous la redémarrez. Si vous supprimez une HAProxy instance, par défaut, AWS OpsWorks Stacks supprime l'adresse IP de l'instance. Pour conserver l'adresse, désactivez l'option Supprimer l'adresse IP Elastic de l'instance, comme indiqué dans l'illustration suivante.

HAProxy instance deletion confirmation dialog with option to retain Elastic IP address.

Cette option affecte ce qui se passe lorsque vous ajoutez une instance à la couche pour remplacer une instance supprimée :

  • Si vous avez conservé l'adresse IP élastique de l'instance supprimée, AWS OpsWorks Stacks attribue l'adresse à la nouvelle instance.

  • Dans le cas contraire, AWS OpsWorks Stacks attribue une nouvelle adresse IP élastique à l'instance et vous devez mettre à jour les paramètres de votre DNS bureau d'enregistrement pour qu'ils soient mappés à la nouvelle adresse.

Lorsque des instances de serveur d'applications sont mises en ligne ou hors ligne, manuellement ou à la suite d'un dimensionnement automatique ou d'une réparation automatique, la configuration de l'équilibreur de charge doit être mise à jour pour acheminer le trafic vers l'ensemble actuel d'instances en ligne. Cette tâche est gérée automatiquement par les recettes intégrées de la couche :

  • Lorsque de nouvelles instances sont mises en ligne, AWS OpsWorks Stacks déclenche un événement de configuration du cycle de vie. Les recettes de configuration intégrées de la HAProxy couche mettent à jour la configuration de l'équilibreur de charge afin qu'il distribue également les demandes à toutes les nouvelles instances de serveur d'applications.

  • Lorsque des instances sont hors ligne ou qu'une instance échoue à un contrôle de santé, AWS OpsWorks Stacks déclenche également un événement de configuration du cycle de vie. Les recettes de HAProxy configuration mettent à jour la configuration de l'équilibreur de charge pour acheminer le trafic uniquement vers les instances en ligne restantes.

Enfin, vous pouvez également utiliser un domaine personnalisé avec la HAProxy couche. Pour de plus amples informations, veuillez consulter Utilisation des domaines personnalisés.

Page de statistiques

Si vous avez activé la page de statistiques, elle HAProxy affiche une page contenant diverses mesures à la valeur spécifiéeURL.

Pour afficher les statistiques HAProxy
  1. Obtenez le DNS nom public de l'HAProxyinstance sur la page Détails de l'instance et copiez-le.

  2. Sur la page Couches, cliquez HAProxypour ouvrir la page de détails de la couche.

  3. Obtenez les statistiques URL à partir des détails de la couche et ajoutez-les au DNS nom public. Par exemple : http://ec2-54-245-102-172.us-west-2.compute.amazonaws.com/haproxy?stats.

  4. Collez le code URL de l'étape précédente dans votre navigateur et utilisez le nom d'utilisateur et le mot de passe que vous avez spécifiés lors de la création de la couche pour ouvrir la page de statistiques.

    HAProxy statistics report showing process information and session data for frontend and backend servers.