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á.
Usando a ramificação da plataforma Docker gerenciada pelo ECS no Elastic Beanstalk
Este tópico fornece uma visão geral das ramificações da plataforma Docker gerenciada pelo Elastic Beanstalk ECS para Amazon Linux 2 e Amazon Linux 2023. Ele também fornece informações de configuração específicas para a plataforma gerenciada Docker ECS.
Migração do Docker de vários contêineres em AL1
Em 18 de julho de 2022, o Elastic Beanstalk definiu o status de todas as ramificações da plataforma baseadas no Amazon Linux AMI () como descontinuadas. AL1 Embora este capítulo forneça informações de configuração para essa plataforma descontinuada, é altamente recomendável que você migre para a ramificação mais recente da plataforma compatível. Se você está usando atualmente o Docker de vários contêineres aposentado em execução na ramificação da AL1 plataforma, você pode migrar para a ramificação mais recente da plataforma ECS Running on 023. AL2 A ramificação mais recente da plataforma é compatível com todos os recursos da ramificação da plataforma que foi retirada. Não é necessária nenhuma alteração no código-fonte. Para obter mais informações, consulte Migrando seu aplicativo Elastic Beanstalk do Docker de vários contêineres gerenciado pelo ECS para o ECS no Amazon Linux 2023 AL1 .
Visão geral da plataforma Docker gerenciada pelo ECS
O Elastic Beanstalk usa o Amazon Elastic Container Service (Amazon ECS) para coordenar implantações de contêiner em ambientes do Docker gerenciado pelo ECS. O Amazon ECS fornece ferramentas para gerenciar um cluster de instâncias executando contêineres do Docker. O Elastic Beanstalk cuida das tarefas do Amazon ECS, incluindo criação de cluster, definição de tarefas e execução. Cada uma das instâncias do ambiente executa o mesmo conjunto de contêineres que são definidos em um arquivo Dockerrun.aws.json
v2. Para aproveitar ao máximo o Docker, o Elastic Beanstalk permite criar um ambiente em que suas instâncias da EC2 Amazon executam vários contêineres do Docker lado a lado.
O diagrama a seguir mostra um exemplo de ambiente do Elastic Beanstalk configurado com três contêineres Docker em execução em EC2 cada instância da Amazon em um grupo de Auto Scaling:

Recursos do Amazon ECS criados pelo Elastic Beanstalk
Quando você cria um ambiente usando a plataforma Docker gerenciada pelo ECS, o Elastic Beanstalk cria e configura automaticamente vários recursos do Amazon Elastic Container Service enquanto cria o ambiente. Ao fazer isso, ele cria os contêineres necessários em cada EC2 instância da Amazon.
-
Cluster do Amazon ECS: as instâncias de contêiner no Amazon ECS são organizadas em clusters. Quando é ele usado com o Elastic Beanstalk, sempre é criado um cluster para cada ambiente do Docker gerenciado pelo ECS. Um cluster ECS também contém provedores de capacidade de grupo do Auto Scaling e outros recursos.
-
Definição de tarefas do Amazon ECS: o Elastic Beanstalk usa o arquivo
Dockerrun.aws.json
v2 no projeto para gerar a definição de tarefas do Amazon ECS que é usada para configurar instâncias de contêiner no ambiente. -
Tarefa do Amazon ECS: o Elastic Beanstalk se comunica com o Amazon ECS para executar uma tarefa em todas as instâncias do ambiente para coordenar a implantação de contêineres. Em um ambiente escalável, o Elastic Beanstalk inicia uma nova tarefa sempre que uma instância é adicionada ao cluster.
-
Agente de contêiner do Amazon ECS: o agente é executado em um contêiner do Docker nas instâncias do ambiente. O agente consulta o serviço do Amazon ECS e aguarda uma tarefa para executar.
-
Volumes de dados do Amazon ECS — Além dos volumes que você define na
Dockerrun.aws.json
v2, o Elastic Beanstalk insere definições de volume na definição da tarefa para facilitar a coleta de registros.O Elastic Beanstalk cria volumes de log na instância de contêiner, um para cada contêiner, em
/var/log/containers/
. Esses volumes são denominadoscontainername
awseb-logs-
e são fornecidos para os contêineres que devem ser montados. Consulte Formato de definição de contêiner para detalhes sobre como montá-los.containername
Para obter mais informações sobre os recursos do Amazon ECS, consulte o Guia do desenvolvedor do Amazon Elastic Container Service.
Arquivo Dockerrun.aws.json
v2
As instâncias do contêiner exigem um arquivo de configuração chamado Dockerrun.aws.json
. Instâncias de contêiner se referem às EC2 instâncias da Amazon executando o Docker gerenciado pelo ECS em um ambiente do Elastic Beanstalk. Esse arquivo é específico do Elastic Beanstalk e pode ser usado individualmente ou combinado com código-fonte e conteúdo em um pacote de fonte para criar um ambiente na plataforma Docker.
nota
O formato da versão 2 Dockerrun.aws.json
adiciona suporte para vários contêineres por EC2 instância da Amazon e só pode ser usado com uma plataforma Docker gerenciada pelo ECS. O formato difere significativamente das outras versões do arquivo de configuração compatíveis com as ramificações da plataforma Docker que não são gerenciadas pelo ECS.
Consulte o Dockerrun.aws.json v2 para obter detalhes sobre o formato atualizado e um arquivo de exemplo.
Imagens de Docker
A plataforma Docker gerenciada pelo ECS para o Elastic Beanstalk exige que as imagens sejam pré-criadas e armazenadas em um repositório de imagens online público ou privado antes de criar um ambiente do Elastic Beanstalk.
nota
A criação de imagens personalizadas durante a implantação com um Dockerfile
não é compatível com a plataforma Docker gerenciada pelo ECS no Elastic Beanstalk. Crie suas imagens e implante-as em um repositório online antes de criar um ambiente do Elastic Beanstalk.
Especifique as imagens por nome em Dockerrun.aws.json
v2.
Para configurar o Elastic Beanstalk para autenticar em um repositório privado, inclua o parâmetro authentication
no arquivo Dockerrun.aws.json
v2.
Falha nas implantações de contêiner
Se uma tarefa do Amazon ECS falhar, um ou mais contêineres em seu ambiente Elastic Beanstalk não serão iniciados. O Elastic Beanstalk não reverte ambientes de vários contêineres devido a falha em uma tarefa do Amazon ECS. Se um contêiner não for iniciado no ambiente, implante novamente a versão atual ou uma versão funcional anterior do console do Elastic Beanstalk.
Para implantar uma versão existente
-
Abra o console do Elastic Beanstalk na região do seu ambiente.
-
Clique em Actions, à direita do nome do aplicativo, e depois clique em View application versions.
-
Selecione uma versão do aplicativo e clique em Deploy.
Estendendo as plataformas Docker baseadas em ECS para o Elastic Beanstalk
O Elastic Beanstalk oferece recursos de extensibilidade que permitem que você aplique seus próprios comandos, scripts, software e configurações às implantações de seus aplicativos. O fluxo de trabalho de implantação para as ramificações da plataforma ECS AL2 e AL2 023 varia um pouco das outras plataformas baseadas em Linux. Para obter mais informações, consulte Fluxo de trabalho de implantação de instâncias para o ECS em execução no Amazon Linux 2 e versões posteriores.