Implantações azuis/verdes com o Elastic Beanstalk - AWS Elastic Beanstalk

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

  1. Abra o console do Elastic Beanstalk e, na lista Regions (Regiões), selecione sua região da AWS.

  2. Clone seu ambiente atual ou inicie um novo ambiente executando a versão da plataforma desejada.

  3. Implante a nova versão do aplicativo no novo ambiente.

  4. Teste a nova versão no novo ambiente.

  5. 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).

  6. Em Environment name (Nome do ambiente), selecione o ambiente atual.

    
          Janela de troca das URLs dos ambientes
  7. 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.