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 Docker ECS gérée dans Elastic Beanstalk.
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