Gerenciar vários ambientes do Elastic Beanstalk como um grupo com a CLI do EB - AWS Elastic Beanstalk

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Gerenciar vários ambientes do Elastic Beanstalk como um grupo com a CLI do EB

É possível usar a EB CLI para criar grupos de ambientes do AWS Elastic Beanstalk, cada um executando um componente separado de uma aplicação de arquitetura orientada a serviços. A CLI do EB gerencia esses grupos usando a API ComposeEnvironments.

nota

Grupos de ambientes não é a mesma coisa que vários contêineres em um ambiente do Docker de vários contêineres. Com grupos de ambientes, cada componente da aplicação é executada em um ambiente separado do Elastic Beanstalk com seu próprio conjunto dedicado de instâncias do Amazon EC2. Cada componente pode ser escalado separadamente. Com o Docker de vários contêineres, você combina vários componentes de um aplicativo em um único ambiente. Todos os componentes compartilham o mesmo conjunto de instâncias do Amazon EC2 com cada instância executando vários contêineres do Docker. Escolha uma dessas arquiteturas de acordo com as necessidades do seu aplicativo.

Para obter detalhes sobre o Docker de vários contêineres, consulte Usar a ramificação da plataforma Amazon ECS.

Organize os componentes do aplicativo na seguinte estrutura de pastas:

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

Cada subpasta contém o código-fonte de um componente independente de um aplicativo que será executado em seu próprio ambiente e um arquivo de definição do ambiente chamado env.yaml. Para ver detalhes sobre o formato do env.yaml, consulte Manifesto de ambiente (env.yaml).

Para usar a API Compose Environments, primeiro execute eb init da pasta do projeto, especificando cada componente pelo nome da pasta que o contém com a opção --modules:

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

A CLI do EB solicita a configuração de cada componente e criação do diretório .elasticbeanstalk em cada componente da pasta. A EB CLI não cria arquivos de configuração no diretório pai.

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

Em seguida, execute o comando eb create com uma lista de ambientes para criar, um para cada componente:

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

Esse comando cria um ambiente para cada componente. Os nomes dos ambientes são criados concatenando o EnvironmentName especificado no arquivo env.yaml com o nome do grupo, separados por um hífen. O tamanho total dessas duas opções e o hífen não deve exceder o máximo permitido de 23 caracteres do nome do ambiente.

Para atualizar o ambiente, use o comando eb deploy:

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

Você pode atualizar os componentes individualmente ou como um grupo. Especifique os componentes que deseja atualizar com a opção --modules.

A EB CLI armazena o nome do grupo que você usou com eb create na seção branch-defaults do arquivo de configuração da EB CLI, em /.elasticbeanstalk/config.yml. Para implantar o aplicativo em um grupo diferente, use a opção --env-group-suffix quando executar eb deploy. Se o grupo ainda não existe, a EB CLI cria um novo grupo de ambientes:

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

Para encerrar ambientes, execute eb terminate na pasta de cada módulo. Por padrão, a EB CLI mostrará um erro se você tentar encerrar um ambiente do qual um outro ambiente em execução depende. Encerre o ambiente dependente primeiro ou use a opção --ignore-links para substituir o comportamento padrão:

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