Gestion de plusieurs environnements Elastic Beanstalk en tant que groupe avec l'interface de ligne de commande EB - AWS Elastic Beanstalk

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.

Gestion de plusieurs environnements Elastic Beanstalk en tant que groupe avec l'interface de ligne de commande EB

Vous pouvez utiliser l'interface de ligne de commande EB pour créer des groupes d'environnements AWS Elastic Beanstalk, chacun d'entre eux exécutant un composant distinct d'une application d'architecture orientée services. L'interface de ligne de commande EB gère ces groupes à l'aide de l'API ComposeEnvironments.

Note

Les groupes d'environnements sont différents des conteneurs multiples qui composent un environnement Docker multiconteneurs. Avec les groupes d'environnements, chaque composant de votre application s'exécute dans un environnement Elastic Beanstalk distinct, avec son propre ensemble d'instances Amazon EC2. Chaque composant peut être mis à l'échelle séparément. Avec Docker multiconteneurs, vous pouvez combiner plusieurs composants d'une application en un seul environnement. Tous les composants partagent le même ensemble d'instances Amazon EC2, et chaque instance exécute plusieurs conteneurs Docker. Choisissez l'une de ces architectures en fonction des besoins de votre application.

Pour plus de détails sur Docker multi-conteneurs, consultez Utilisation de la branche de plateforme Amazon ECS.

Organisez les composants de votre application selon la structure de dossier suivante :

~/project-name |-- component-a | `-- env.yaml `-- component-b `-- env.yaml

Chaque sous-dossier contient le code source d'un composant indépendant d'une application qui s'exécutera dans son propre environnement et un fichier de définition d'environnement nommé env.yaml. Pour de plus amples informations sur le format env.yaml, veuillez consulter Manifeste d'environnement (env.yaml).

Pour utiliser l'API Compose Environments, commencez par exécuter eb init à partir du dossier de projet, en spécifiant chaque composant par le nom du dossier qui le contient via l'option --modules :

~/workspace/project-name$ eb init --modules component-a component-b

L'interface de ligne de commande EB vous invite à configurer chaque composant, puis crée le répertoire .elasticbeanstalk dans le dossier de chaque composant. L'interface de ligne de commande EB ne crée pas les fichiers de configuration dans le répertoire parent.

~/project-name |-- component-a | |-- .elasticbeanstalk | `-- env.yaml `-- component-b |-- .elasticbeanstalk `-- env.yaml

Ensuite, exécutez la commande eb create avec une liste des environnements à créer (un pour chaque composant) :

~/workspace/project-name$ eb create --modules component-a component-b --env-group-suffix group-name

Cette commande crée un environnement pour chaque composant. Les noms des environnements sont créés en concaténant la valeur EnvironmentName spécifiée dans le fichier env.yaml avec le nom du groupe, séparé par un trait d'union. La longueur totale de ces deux options et du trait d'union ne doit pas dépasser la longueur maximale autorisée pour le nom d'un environnement, soit 23 caractères.

Pour mettre à jour l'environnement, utilisez la commande eb deploy :

~/workspace/project-name$ eb deploy --modules component-a component-b

Vous pouvez mettre à jour chaque composant individuellement ou les mettre à jour en tant que groupe. Spécifiez les composants que vous souhaitez mettre à jour avec l'option --modules.

L'interface de ligne de commande EB stocke le nom du groupe que vous avez utilisé avec eb create dans la section branch-defaults du fichier de configuration de l'interface de ligne de commande EB, sous /.elasticbeanstalk/config.yml. Pour déployer votre application vers un autre groupe, utilisez l'option --env-group-suffix lorsque vous exécutez eb deploy. Si le groupe n'existe pas encore, l'interface de ligne de commande EB crée un groupe d'environnements :

~/workspace/project-name$ eb deploy --modules component-a component-b --env-group-suffix group-2-name

Pour mettre des environnements hors service, exécutez eb terminate dans le dossier pour chaque module. Par défaut, l'interface de ligne de commande EB affiche une erreur si vous essayez de suspendre un environnement dont dépend un autre environnement en cours d'exécution. Commencez par suspendre l'environnement dépendant ou utilisez l'option --ignore-links pour remplacer le comportement par défaut :

~/workspace/project-name/component-b$ eb terminate --ignore-links