Implantações azuis/verdes com o Elastic Beanstalk
Como o AWS Elastic Beanstalk executa uma atualização in loco quando você atualiza as versões da aplicação, a aplicação pode se tornar indisponível para os usuários por um curto período. É possível evitar esse tempo de inatividade executando uma implantação azul/verde, na qual você implanta a nova versão em um ambiente separado e, em seguida, troca os CNAMEs dos dois ambientes para redirecionar o tráfego para a nova versão instantaneamente.
Uma implantação azul/verde também é necessária quando você deseja atualizar um ambiente para uma versão de plataforma incompatível. Para obter mais informações, consulte Atualizar a versão de plataforma do ambiente Elastic Beanstalk.
As implantações azuis/verdes exigem que o ambiente seja executado de forma independente do seu banco de dados de produção, caso o aplicativo use um. Se o ambiente tiver uma instância de banco de dados do Amazon RDS anexada a ele, os dados não serão transferidos para o segundo ambiente e serão perdidos se você encerrar o ambiente original.
Para obter detalhes sobre como configurar sua aplicação para se conectar a uma instância externa do Amazon RDS (não gerenciada pelo Elastic Beanstalk), consulte Usar o Elastic Beanstalk com o Amazon RDS.
Para executar uma implantação azul/verde
-
Abra o console do Elastic Beanstalk
e, na lista Regions (Regiões), selecione sua região da AWS. -
Clone seu ambiente atual ou inicie um novo ambiente executando a versão da plataforma desejada.
-
Implante a nova versão do aplicativo no novo ambiente.
-
Teste a nova versão no novo ambiente.
-
Na página de visão geral do ambiente, escolha Environment actions (Ações de ambiente) e, depois, Swap environment URLs (Trocar URLs do ambiente).
-
Em Environment name (Nome do ambiente), selecione o ambiente atual.
-
Escolha Swap.
O Elastic Beanstalk troca os registros de CNAME dos ambientes antigo e novo redirecionando o tráfego da versão antiga para a nova versão e vice-versa.
Depois que o Elastic Beanstalk concluir a operação de troca, verifique se o novo ambiente responde quando você tenta se conectar ao URL do ambiente antigo. No entanto, não encerre o ambiente antigo até as alterações de DNS serem propagadas e seus antigos registros DNS expirarem. Os servidores DNS não limpam necessariamente os registros antigos do cache com base na vida útil (TTL) que você define nos registros DNS.