Administración de múltiples entornos Elastic Beanstalk como un grupo con la CLI de EB - AWS Elastic Beanstalk

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Administración de múltiples entornos Elastic Beanstalk como un grupo con la CLI de EB

Puede utilizar la CLI de EB para crear grupos de entornos de AWS Elastic Beanstalk en los que cada uno ejecute un componente distinto de una aplicación con una arquitectura orientada a servicios. La CLI de EB administra dichos grupos mediante la API ComposeEnvironments.

nota

Los grupos de entorno son distintos de varios contenedores en un entorno de Multicontainer Docker. Con los grupos de entornos, cada componente de la aplicación se ejecuta en un entorno de Elastic Beanstalk; independiente, con su propio conjunto dedicado de instancias Amazon EC2. Cada componente se puede escalar por separado. Con Multicontainer Docker, puede combinar varios componentes de una aplicación en un solo entorno. Todos los componentes comparten el mismo conjunto de instancias Amazon EC2; y cada instancia ejecuta varios contenedores de Docker. Elija una de estas arquitecturas de acuerdo con las necesidades de su aplicación.

Para obtener información acerca de Multicontainer Docker, consulte Uso de la ramificación de la plataforma de Amazon ECS.

Organice los componentes de su aplicación en la siguiente estructura de carpetas:

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

Cada subcarpeta contiene el código fuente de un componente distinto de una aplicación que se ejecutará en su propio entorno y un archivo de definición del entorno denominado env.yaml. Para obtener información detallada sobre el formato env.yaml, consulte Manifiesto del entorno (env.yaml).

Para utilizar la API Compose Environments, ejecute primero eb init desde la carpeta del proyecto, especificando cada componente por el nombre de la carpeta que lo contiene con la opción --modules:

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

La CLI de EB le pedirá que configure cada componente y después cree el directorio .elasticbeanstalk en la carpeta de cada componente. La CLI de EB no crea archivos de configuración en el directorio principal.

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

A continuación, ejecute el comando eb create con una lista de los entornos que desea crear, uno para cada componente:

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

Este comando crea un entorno para cada componente. Los nombres de los entornos se crean concatenando el valor de EnvironmentName especificado en el archivo env.yaml con el nombre del grupo, separados por un guion. La longitud total de estas dos opciones y el guion no debe superar el máximo permitido para el nombre del entorno, que es de 23 caracteres.

Para actualizar el entorno, use el comando eb deploy:

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

Puede actualizar cada componente individualmente o como un grupo. Especifique los componentes que desea actualizar con la opción --modules.

La CLI de EB almacena el nombre del grupo que usó con eb create en la sección branch-defaults del archivo de configuración de la CLI de EB bajo /.elasticbeanstalk/config.yml. Para implementar la aplicación en otro grupo, utilice la opción --env-group-suffix cuando ejecute eb deploy. Si el grupo no existe, la CLI de EB creará un nuevo grupo de entornos:

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

Para terminar los entornos, ejecute eb terminate en la carpeta de cada módulo. De forma predeterminada, la CLI de EB mostrará un error si intenta terminar un entorno del que depende otro entorno en ejecución. Termine primero el entorno dependiente o utilice la opción --ignore-links para invalidar el comportamiento predeterminado:

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