AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / server / Perguntas / 1152398
Accepted
Dario Seidl
Dario Seidl
Asked: 2024-01-28 01:04:28 +0800 CST2024-01-28 01:04:28 +0800 CST 2024-01-28 01:04:28 +0800 CST

Quais são as diferenças entre as opções de migração de ambientes Docker de vários contêineres do Elastic Beanstalk para AL2?

  • 772

Estamos executando um ambiente Docker multicontêiner do Elastic Beanstalk no Amazon Linux 1, que foi obsoleto e precisa ser migrado para o Amazon Linux 2.

A documentação apresenta duas opções para fazer isso:

  • Migração para ECS em execução no Amazon Linux 2
  • Migrando para Docker em execução no Amazon Linux 2

Pelo que entendi, eles recomendam a primeira opção, pois a plataforma ECS é mais parecida com a plataforma atual do AL1.

Estou me perguntando, no entanto, quais são as diferenças práticas entre essas duas opções. Qual é o papel do ECS nisso, quais vantagens ele tem sobre o Docker puro?

No ECS, implantamos com Dockerrun.aws.json, que geramos a partir de docker-compose.yml com container-transform. Isso funciona, mas seria bom se pudéssemos pular essa transformação. Com a segunda opção, sem ECS, seria possível implantar um arquivo docker-compose.yml diretamente?

Usamos uma única instância, sem balanceador de carga (mas queremos manter a opção aberta para o futuro).

Alguém já fez essa migração, com qualquer uma das opções, e pode fornecer alguns insights sobre o processo?


Fiz esta pergunta no ano passado e ela não obteve respostas ou votos positivos, por isso foi excluída pelo bot da comunidade. Estou postando novamente, pois tenho que fazer a migração agora, e fui orientado a fazê-lo.

Enquanto isso, o Amazon Linux 2023 foi lançado, mas a questão permanece basicamente a mesma (plataforma Docker ou plataforma ECS?).

amazon-ec2
  • 1 1 respostas
  • 87 Views

1 respostas

  • Voted
  1. Best Answer
    Dario Seidl
    2024-02-01T00:10:55+08:002024-02-01T00:10:55+08:00

    Estou no processo de migração agora e posso compartilhar o que aprendi até agora.

    Com o lançamento do Amazon Linux 2023, eles também atualizaram a documentação. Achei o seguinte mais relevante para tomar uma decisão:

    As ramificações da plataforma Docker

    A plataforma Docker do Elastic Beanstalk oferece suporte às seguintes ramificações de plataforma: Docker executando Amazon Linux 2 e Docker executando AL2023

    O Elastic Beanstalk implanta contêineres Docker e código-fonte em instâncias do EC2 e os gerencia. Essas filiais de plataforma oferecem suporte a vários contêineres. Você pode usar a ferramenta Docker Compose para simplificar a configuração, o teste e a implantação do seu aplicativo. Para obter mais informações sobre esta ramificação da plataforma, consulte Usando a ramificação da plataforma Docker.

    ECS em execução no Amazon Linux 2 e ECS em execução no AL2023

    Fornecemos essa ramificação para clientes que precisam de um caminho de migração para AL2023/AL2 a partir da ramificação de plataforma descontinuada do Docker de vários contêineres em execução (Amazon Linux AMI). As ramificações de plataforma mais recentes oferecem suporte a todos os recursos da ramificação de plataforma descontinuada. Nenhuma alteração no código-fonte é necessária. Para obter mais informações, consulte Migração do Docker de vários contêineres em execução no Amazon Linux para o ECS no Amazon Linux 2023. Se você não tiver um ambiente do Elastic Beanstalk em execução em uma ramificação de plataforma baseada em ECS, recomendamos usar a ramificação da plataforma, Docker Running on AL2023 de 64 bits. Isso oferece uma abordagem mais simples e requer menos recursos.

    Essa ramificação da plataforma usa o Amazon ECS para coordenar uma implantação de vários contêineres do Docker em um cluster do Amazon ECS em um ambiente do Elastic Beanstalk. O cluster ECS contém instâncias EC2 que hospedam contêineres Docker. Para realizar essa orquestração de implantação, o Elastic Beanstalk cria uma definição de tarefa do ECS que também inclui uma definição de contêiner. Cada instância no ambiente executa o mesmo conjunto de contêineres, que são definidos em um arquivo Dockerrun.aws.jsonv2. Para obter mais informações, consulte Usar a ramificação da plataforma Amazon ECS.

    Fonte

    Ênfase minha. Resumindo: A plataforma ECS oferece uma migração mais fácil , mas a plataforma Docker é mais simples e utiliza menos recursos .

    Como temos que atualizar a configuração de qualquer maneira, parece uma boa ideia migrar para a plataforma Docker mesmo quando isso dá mais trabalho, pois prefiro usar uma "abordagem mais simples" que "usa menos recursos". Também é mais familiar trabalhar diretamente com o docker-compose do que com tarefas do ECS.

    Antes, costumávamos transformar um arquivo docker-compose em Dockerrun.aws.json com container-transform . Na plataforma Docker, esta etapa não é mais necessária e, em vez disso, podemos implantá-la docker composediretamente.

    Tive que adicionar as seguintes opções ao docker-compose.ymlarquivo, para cada contêiner:

    • mem_limit
    • env_file: .env
    • restart: nopara contêineres que estavam essential: falsenoDockerrun.aws.json

    Nenhuma outra alteração foi necessária no artefato de implantação. Agora agrupamos o docker-compose.ymljunto com o .ebextensions, como fizemos antes com o Dockerrun.aws.json.

    • 0

relate perguntas

  • Permissão negada (chave pública). SSH do Ubuntu local para o servidor Amazon EC2

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Você pode passar usuário/passar para autenticação básica HTTP em parâmetros de URL?

    • 5 respostas
  • Marko Smith

    Ping uma porta específica

    • 18 respostas
  • Marko Smith

    Verifique se a porta está aberta ou fechada em um servidor Linux?

    • 7 respostas
  • Marko Smith

    Como automatizar o login SSH com senha?

    • 10 respostas
  • Marko Smith

    Como posso dizer ao Git para Windows onde encontrar minha chave RSA privada?

    • 30 respostas
  • Marko Smith

    Qual é o nome de usuário/senha de superusuário padrão para postgres após uma nova instalação?

    • 5 respostas
  • Marko Smith

    Qual porta o SFTP usa?

    • 6 respostas
  • Marko Smith

    Linha de comando para listar usuários em um grupo do Windows Active Directory?

    • 9 respostas
  • Marko Smith

    O que é um arquivo Pem e como ele difere de outros formatos de arquivo de chave gerada pelo OpenSSL?

    • 3 respostas
  • Marko Smith

    Como determinar se uma variável bash está vazia?

    • 15 respostas
  • Martin Hope
    Davie Ping uma porta específica 2009-10-09 01:57:50 +0800 CST
  • Martin Hope
    kernel O scp pode copiar diretórios recursivamente? 2011-04-29 20:24:45 +0800 CST
  • Martin Hope
    Robert ssh retorna "Proprietário incorreto ou permissões em ~/.ssh/config" 2011-03-30 10:15:48 +0800 CST
  • Martin Hope
    Eonil Como automatizar o login SSH com senha? 2011-03-02 03:07:12 +0800 CST
  • Martin Hope
    gunwin Como lidar com um servidor comprometido? 2011-01-03 13:31:27 +0800 CST
  • Martin Hope
    Tom Feiner Como posso classificar a saída du -h por tamanho 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich O que é um arquivo Pem e como ele difere de outros formatos de arquivo de chave gerada pelo OpenSSL? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent Como determinar se uma variável bash está vazia? 2009-05-13 09:54:48 +0800 CST

Hot tag

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve