Estou executando um aplicativo no AWS Elastic Beanstalk, e parece que preciso criar um novo ambiente se desejar usar a AMI mais recente.
Se eu soubesse qual era o ID da AMI mais recente, poderia atualizá-lo na configuração do ambiente.
Existe um local onde eu possa encontrar o ID das AMIs mais recentes do Elastic Beanstalk, ou melhor ainda, é possível ter as instâncias substituídas automaticamente pela nova versão sempre que uma nova versão for lançada?
amazon-web-services
elastic-beanstalk
Benjamin
fonte
fonte
Respostas:
A maneira recomendada e suportada de atualizar seu ambiente do AWS Beanstalk está documentada aqui e as atualizações da plataforma gerenciada são discutidas aqui , sinceramente, eu manteria isso se você quiser que as coisas sejam fáceis (e é disso que se trata o Beanstalk), você teoricamente obtenha apenas as atualizações sem interrupções e a AWS gerenciará o processo para que não haja tempo de inatividade.
Quero apenas reiterar que as atualizações da plataforma gerenciada provavelmente são o que você ou qualquer outra pessoa vinda do Google desejará, mas se você quiser conhecer a mais recente AMI fornecida pela AWS para o seu ambiente Beanstalk, isso pode ser feito de maneira bastante trivial com o AWS CLI (obrigado convenções de nomenclatura sensata da Amazon em suas AMIs).
Começando com uma instância do seu ambiente, descreva a instância para obter a AMI atual (pule se você já conhece a AMI atual).
Pegue o ID da AMI resultante e descreva-o.
Podemos usar a saída do exemplo acima como entrada para um novo, classificado,
describe-images
mas desta vez substituímos os carimbos de data / hora por*
símbolos curinga, da seguinte forma:Devido ao poder da classificação lexical e à ISO 8601, terminamos com a mais recente AMI, que é o meu exemplo
ami-1be5de78
.Novamente, eu não recomendaria que você tentasse alterar essa AMI manualmente, o Beanstalk tem disposições para fazer tudo isso por você!
fonte
Parece que, mesmo se você alterar a AMI, para uma AMI adequada, o ElasticBeanstalk usa. Parece não funcionar corretamente. Ele perde todos os arquivos. Não funciona direito.
Eu acho que você precisa iniciar um novo ambiente do Elastic Beanstalk que tenha a AMI atualizada. Faça tudo funcionar e troque os URLs do ambiente.
fonte
Você pode usar os recursos de atualizações gerenciadas que acompanham eb, mas terá que pagar por relatórios de integridade aprimorados para fazer isso. Ou use o comando 'eb platform show'; Em um aplicativo de trabalho, tenha um cron que execute CURRENT =
eb platform show your_env_name | sed -n '5p' | cut -d: -f2- | tr -d '[[:space:]]'
LATEST =eb platform show your_env_name | sed -n '6p' | cut -d: -f2- | tr -d '[[:space:]]'
- Em seguida, compare-os e, se diferente, você poderá usar o eb clone (o padrão é a nova versão) e depois trocar o nome.fonte
Navegando para o painel do seu aplicativo, localize 'Configuração' e clique em 'Alterar'
Você deve ver uma lista onde pode escolher uma plataforma. A versão mais recente é indicada nessa lista. Selecionando plataforma
O AWS EB usa configurações específicas para diferentes linguagens de programação. Você pode encontrar uma lista das configurações na documentação http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/concepts.platforms.html
Existem tabelas mostrando qual versão AMI cada plataforma usa.
Não encontrei uma maneira de executar essas atualizações automaticamente. Na verdade, prefiro revisar as alterações da plataforma e testá-las antes de implantá-las.
fonte
Selecione seu serviço no Elastic Beanstalk. Você verá uma visão geral no painel. No lado direito do painel, você pode ver a configuração da sua AMI, selecione Alterar atualização ou degradar sua AMI. Nesse ponto, você substituirá sua instância. Então faça o backup ou clone.
fonte
Consegui atualizar meu aplicativo atual hospedado no Beanstalk para a mais recente Amazon Linux AMI usando as etapas abaixo.
1- Faça login no AWS Console e navegue no portal Beanstalk.
2- Navegue até a página de configuração do seu aplicativo e clique em 'Instâncias'.
3- Localize o ID da AMI como deve ser a AMI-xxxxxx.
4- Pegue o ID da AMI e volte ao console do EC2 e clique em AMI.
5- Altere a visualização para Imagens públicas e procure o ID da AMI recuperado anteriormente na configuração do Beanstalk.
6- Inicie a AMI como uma nova instância.
7- Uma vez iniciado, efetue login na instância e personalize conforme os requisitos de seus aplicativos.
8- Uma vez que você tenha satisfeito tudo no lugar, como você gostaria que fosse, crie uma imagem AMI dessa nova instância.
9- Pegue o novo ID da AMI da instância criado na etapa 8 e aplique-o à configuração do aplicativo Beanstalk.
10- Não excluirá a instância antiga e criará a nova instância com sua AMI personalizada, além de implantar seu aplicativo mais recente nas novas instâncias.
fonte