1
resposta

Erro ao atualizar imagem do Elastic Beanstalk

Boa noite! Venho aqui pedir uma ajuda, pois já tentei de tudo e não consigo fazer a aplicação Allbooks rodar corretamente na Elastic Beanstalk. Segue os detalhes do que já foi feito:

1- Criei o Elastic Beanstalk corretamente e consegui acessar a página de teste. 2- Ao fazer o update da minha imagem (v.1.2) recebos erros: Unsuccessful command execution on instance id(s) 'i-0d3d2f9a7cac12520'. Aborting the operation. Failed to deploy application. During an aborted deployment, some instances may have deployed the new application version. To ensure all instances are running the same version, re-deploy the appropriate application version. 3- Fiz o update do Elastic Beanstalk com a imagem dockersamples/static-site e funcionou corretamente. 4- Rodei a imagem v.1.2 localmente mapeando a porta 3000 do container para 80 do host e funcionou corretamente. 5- Modifiquei o Dockerfile e troquei ENTRYPOINT npm, start por ENTRYPOINT ["npm", "start"], fiz o build para a versão 1.3 e mesmo assim não rolou. 6- Editei o Dockerrun.aws.json para:

{ "AWSEBDockerrunVersion": "1", "Image": { "Name": "dvdfranca/imagem1:1.3", "Update": "true" }, "Ports": [ { "ContainerPort": 3000, "HostPort": 80 } ] }

Também não rolou e não sei mais o que tentar. Obs: Na integridade do ambiente aparece "no data".

1 resposta

Olá, Deivid! Vamos tentar algumas abordagens para resolver isso.

  1. Verifique os Logs: Primeiro, é importante verificar os logs do Elastic Beanstalk. Eles podem fornecer informações mais detalhadas sobre o que está falhando durante o deploy. Você pode acessar os logs pelo console do AWS Elastic Beanstalk ou usar a AWS CLI para baixá-los.

  2. Verifique o Dockerfile: Certifique-se de que o seu Dockerfile está configurado corretamente. Como você mencionou que alterou o ENTRYPOINT, é importante garantir que todos os comandos necessários para iniciar sua aplicação estejam corretos. O formato ENTRYPOINT ["npm", "start"] está correto, mas verifique se há outros comandos ou dependências que possam estar faltando.

  3. Ports no Dockerrun.aws.json: No seu arquivo Dockerrun.aws.json, você está mapeando a porta 3000 do container para a porta 80 do host. Certifique-se de que sua aplicação realmente está escutando na porta 3000 dentro do container. Caso contrário, ajuste a configuração de portas conforme necessário.

  4. Verifique a Imagem no Docker Hub: Certifique-se de que a imagem dvdfranca/imagem1:1.3 está corretamente publicada no Docker Hub e acessível. Você pode tentar puxar a imagem manualmente em um ambiente local ou em uma instância EC2 para garantir que ela está disponível.

  5. Re-deploy: Como mencionado na mensagem de erro, durante uma implantação abortada, algumas instâncias podem ter a nova versão enquanto outras não. Tente fazer um re-deploy da versão correta para garantir que todas as instâncias estejam alinhadas.

  6. Integridade do Ambiente: A mensagem "no data" na integridade do ambiente pode indicar que o Elastic Beanstalk não está conseguindo se comunicar corretamente com as instâncias. Verifique se as instâncias estão rodando e se há conectividade de rede adequada.

Bons estudos!