Maison > développement back-end > tutoriel php > Déploiement de plusieurs applications PHP à l'aide d'AWS Elastic Beanstalk avec un ALB autonome

Déploiement de plusieurs applications PHP à l'aide d'AWS Elastic Beanstalk avec un ALB autonome

Barbara Streisand
Libérer: 2025-01-05 02:57:39
original
1015 Les gens l'ont consulté

Deploying Multiple PHP Applications Using AWS Elastic Beanstalk with a Standalone ALB

Dans ce guide, nous allons déployer plusieurs applications PHP à l'aide des environnements AWS Elastic Beanstalk (EB) et configurer un seul Application Load Balancer (ALB) autonome pour tous les environnements. Sur la base de la mise en œuvre réelle, cet article explique comment gérer plusieurs environnements Elastic Beanstalk avec des groupes cibles dédiés sous un seul ALB centralisé.

Aperçu

Nous allons configurer plusieurs applications PHP en tant qu'environnements EB distincts. Au lieu de configurer un équilibreur de charge pour chaque environnement, nous utiliserons un ALB avec des groupes cibles dédiés pour chaque environnement. Cette approche est rentable, simplifie la gestion et garantit un contrôle centralisé du routage et de la mise à l'échelle.

Architecture

Composants clés :

• Environnements Elastic Beanstalk : Chaque application PHP s'exécute dans son environnement.
• ALB autonome : un seul ALB gère tout le trafic entrant et l'achemine vers le groupe cible approprié.
• Groupes cibles : chaque environnement Elastic Beanstalk a son groupe cible pour le routage.

Flux de travail architectural :

  1. ALB reçoit du trafic pour toutes les applications.
  2. Les règles d'écoute sur l'ALB acheminent le trafic vers le groupe cible correct en fonction des en-têtes d'hôte ou des modèles de chemin.
  3. Les groupes cibles transfèrent le trafic vers les instances enregistrées des environnements Elastic Beanstalk respectifs.

Guide étape par étape

Étape 1 : configurer les environnements Elastic Beanstalk
Créer des environnements séparés pour les applications PHP :

  1. Ouvrez la console Elastic Beanstalk.
  2. Cliquez sur Créer une application et configurer : • Nom de l'application : PHP-App-1. • Plateforme : sélectionnez PHP. • Environnement : choisissez Environnement du serveur Web.
  3. Téléchargez votre package .zip contenant l'application PHP (par exemple, index.php, composer.json).
  4. Déployez l'application.
  5. Répétez ces étapes pour des applications supplémentaires (par exemple, PHP-App-2, PHP-App-3).

Étape 2 : Créer un ALB autonome

Créer l'ALB :

  1. Accédez à la console EC2 > Équilibreurs de charge.
  2. Cliquez sur Créer un équilibreur de charge et sélectionnez Application Load Balancer.
  3. Configurer : • Nom : autonome-alb. • Schéma : accès à Internet. • Écouteurs : ajoutez un écouteur HTTPS (port 443). • Zones de disponibilité : choisissez les mêmes zones que vos environnements Elastic Beanstalk.
  4. Cliquez sur Créer.

Enregistrez ALB avec Elastic Beanstalk :

  1. Accédez à chaque environnement Elastic Beanstalk.
  2. Sous Configuration, liez l'environnement à l'ALB nouvellement créé.
  3. Assurez-vous que les vérifications de l'état sont cohérentes avec la configuration ALB.

Étape 3 : configurer les groupes cibles pour chaque environnement

Créer des groupes cibles :

  1. Accédez à la console EC2 > Groupes cibles.
  2. Cliquez sur Créer un groupe cible pour chaque environnement Elastic Beanstalk. • Nom : Exemple : php-app-1-tg. • Type de cible : instance. • Protocole : HTTP. • Port : 80. • Chemin de vérification de l'état : / (ou un point de terminaison personnalisé défini dans votre application).
  3. Ajoutez des instances de l'environnement Elastic Beanstalk respectif au groupe cible.
  4. Accédez à l'onglet Cibles dans chaque groupe cible et confirmez que les instances enregistrées sont saines.

Étape 4 : Ajouter des règles d'écoute à l'ALB

  1. Accédez à la console ALB > Auditeurs > HTTP : 80 > Modifier les règles.
  2. Ajoutez une règle pour chaque groupe cible : • Condition : utilisez Host Header pour correspondre au domaine de l'environnement Elastic Beanstalk (par exemple, php-app-1.elasticbeanstalk.com). • Action : transférer le trafic vers le groupe cible correspondant (par exemple, php-app-1-tg).
  3. Répétez ce processus pour tous les environnements.

Test de la configuration
• Simulez le trafic pour vérifier que l'ALB transmet correctement les demandes aux groupes cibles appropriés en fonction des règles d'écoute.
• Vérifiez l'état de santé de chaque groupe cible pour vous assurer que toutes les instances sont saines et reçoivent le trafic comme prévu.
• Utilisez des outils tels que curl ou Postman pour envoyer des requêtes directement au point de terminaison DNS ALB. Confirmez que le trafic est acheminé vers le bon environnement Elastic Beanstalk et renvoie les réponses attendues.

Avantages clés :

1. Rentabilité : Réduit les coûts d'infrastructure en utilisant un seul ALB pour tous les environnements.
2. Gestion simplifiée : Centralise le routage du trafic et la configuration des règles d'écoute en un seul endroit.
3. Évolutivité : Prend en charge la mise à l'échelle indépendante des groupes cibles pour chaque environnement.
4. Contrôle du trafic amélioré : Fournit un routage granulaire avec des règles d'écoute ALB.
5. Surveillance centralisée de l'état : Consolide les contrôles d'état pour tous les environnements.

Conclusion

En utilisant un seul ALB avec des groupes cibles pour plusieurs environnements Elastic Beanstalk, vous obtenez une solution rentable, évolutive et centralisée pour l'hébergement d'applications PHP.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:dev.to
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal