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

Couche HAProxy AWS OpsWorks Stacks

Note

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

La couche AWS OpsWorks Stacks HAProxy est une couche AWS OpsWorks Stacks qui fournit un modèle pour les instances hébergeant un serveur HAProxy : un équilibre de charge TCP/HTTP fiable et performant. 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.

Statistiques HAProxy

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

URL des statistiques

Chemin d'URL de la page de statistiques. L'URL complète est http ://DNSName StatisticsPath, où DNSName est le nom DNS de l'instance associée. La StatisticsPathvaleur par défaut 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.

Health check URL

Suffixe de l'URL de vérification de l'état. HAProxy utilise cette URL pour appeler périodiquement une méthode HTTP sur chaque instance de serveur d'application afin de déterminer si l'instance fonctionne. En cas d'échec de la vérification de l'état, 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 auto-guérison. La valeur par défaut du suffixe d'URL est « / », qui correspond à la page d'accueil de l'instance de serveur : http://DNSName/.

Health check method

Méthode HTTP à utiliser pour vérifier si les instances fonctionnent. La valeur par défaut est OPTIONS et vous pouvez également spécifier GET ou 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 groupe de sécurité AWS OpsWorks Stacks intégré à 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 plus d’informations, consultez Créer une pile.

Note

Enregistrez le mot de passe pour une utilisation ultérieure ; AWS OpsWorks Stacks ne vous permet pas de voir 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.

Comment fonctionne la couche HAProxy

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

  • Il écoute les requêtes sur les ports HTTP et HTTPS.

    Vous pouvez configurer HAProxy de façon à écouter uniquement le port HTTP ou HTTPS en remplaçant le modèle de configuration de 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 configure HAProxy pour distribuer le trafic aux instances membres de n'importe quelle couche de serveur d'applications. Vous pourriez, par exemple, avoir une pile avec les couches Rails App Server et PHP App Server, et un maître HAProxy 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 de router les demandes vers l'instance. AWS OpsWorks Stacks permet également de remplacer automatiquement les instances défaillantes. Pour plus d’informations, consultez 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 la vérification de l'état fonctionne correctement avec la méthode OPTIONS par défaut, votre application doit retourner un code d'état 2xx ou 3xx.

Par défaut, lorsque vous ajoutez une instance à une couche HAProxy, 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'instance HAProxy étant la seule URL exposée publiquement de l'application, 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 d'(EIP) est une adresse IP Elastic. Pour plus d'informations sur les adresses IP Elastic, consultez Adresses IP Elastic (EIP).

Lorsque vous arrêtez une instance HAProxy, AWS OpsWorks Stacks conserve l'adresse IP élastique et la réaffecte à l'instance lorsque vous la redémarrez. Si vous supprimez une instance HAProxy, AWS OpsWorks Stacks supprime par défaut 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.

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 bureau d'enregistrement DNS 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 à la couche HAProxy 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 Configure de HAProxy 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 couche HAProxy. Pour plus d’informations, consultez Utilisation des domaines personnalisés.

Page de statistiques

Si vous avez activé la page de statistiques, HAProxy affiche une page contenant diverses mesures à l'URL spécifiée.

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

  2. Sur la page Couches, cliquez sur HAProxy pour ouvrir la page de détails de la couche.

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

  4. Collez l'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 lorsque vous avez créé la couche pour ouvrir la page de statistiques.