Implantar aplicações em ambientes do Elastic Beanstalk - AWS Elastic Beanstalk

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Implantar aplicações em ambientes do Elastic Beanstalk

Use o console AWS Elastic Beanstalk para fazer upload de um pacote de fonte atualizado e implante-o em seu ambiente do Elastic Beanstalk ou implante novamente uma versão carregada anteriormente.

Cada implantação é identificada por um ID. Os IDs de implantação começam em 1, com incrementos de um a cada implantação e alteração de configuração de instância. Se você habilitar os relatórios avançados de integridade, o Elastic Beanstalk exibirá o ID da implantação no console de integridade e na CLI do EB ao relatar o status de integridade da instância. O ID de implantação ajuda a determinar o estado do ambiente quando uma atualização contínua falha.

O Elastic Beanstalk fornece várias políticas e configurações de implantação. Para obter detalhes sobre como configurar uma política e configurações adicionais, consulte Políticas e configurações de implantação. A tabela a seguir lista as políticas e os tipos de ambientes compatíveis com elas.

Políticas de implantação compatíveis
Política de implantação Ambientes de carga equilibrada Ambientes de instância única Ambientes legados do Windows Server†

Tudo de uma vez

Sim

Sim

Sim

Contínua

Sim

Não

Sim

Contínua com lote adicional

Sim

Não

Não

Imutável

Sim

Sim

Não

Divisão de tráfego

Sim (Application Load Balancer)

Não

Não

† Nessa tabela, um Ambiente legado do Windows Server é um ambiente baseado em uma configuração de plataforma do Windows Server que usa uma versão anterior do IIS 8.5.

Atenção

Algumas políticas substituem todas as instâncias durante a implantação ou a atualização. Por conta disso, todo o equilíbrio de intermitência do Amazon EC2 é perdido. Isso acontece nos seguintes casos:

  • Atualizações de plataforma gerenciada com substituição de instância habilitada

  • Atualizações imutáveis

  • Implantações com atualizações imutáveis ou divisão de tráfego habilitada

Como escolher uma política de implantação

Escolher a política de implantação correta para seu aplicativo é uma questão com algumas considerações a fazer e que depende de suas necessidades específicas. A página Políticas e configurações de implantação tem mais informações sobre cada política e uma descrição detalhada do funcionamento de algumas delas.

A lista a seguir fornece informações resumidas sobre as diferentes políticas de implantação e inclui considerações relacionadas.

  • All at once (Tudo de uma vez): o método de implantação mais rápido. Adequado se você puder aceitar uma pequena perda de serviço e se implantações rápidas forem importantes para você. Com esse método, o Elastic Beanstalk implanta a nova versão da aplicação em cada instância. Em seguida, talvez o proxy da web ou o servidor do aplicativo precise reiniciar. Como resultado, seu aplicativo pode ficar indisponível para usuários (ou ter baixa disponibilidade) por um breve período.

  • Rolling (Contínua): evita o tempo de inatividade e minimiza a disponibilidade reduzida, a um custo de implantação mais longo. Adequado se você não puder aceitar nenhum período de perda total de serviço. Com esse método, seu aplicativo é implantado no ambiente um lote de instâncias por vez. A maior parte da largura de banda é mantida durante toda a implantação.

  • Rolling with additional batch (Contínua com lote adicional): evita qualquer disponibilidade reduzida, ao custo de um tempo de implantação ainda mais longo em comparação com o método Rolling (Contínuo). Adequado se você precisar manter a mesma largura de banda durante toda a implantação. Com esse método, o Elastic Beanstalk inicia um lote extra de instâncias e executa uma implantação contínua. A inicialização do lote extra leva tempo e garante que a mesma largura de banda seja mantida durante toda a implantação.

  • Immutable (Imutável): um método de implantação mais lento, que garante que a nova versão da aplicação seja sempre implantada em novas instâncias, em vez de atualizar instâncias existentes. Ele também tem a vantagem adicional de uma reversão rápida e segura em caso de falha na implantação. Com esse método, o Elastic Beanstalk executa uma atualização imutável para implantar sua aplicação. Em uma atualização imutável, um segundo grupo de Auto Scaling é iniciado no ambiente e a nova versão atende o tráfego junto com a versão antiga até que a nova instância passe nas verificações de integridade.

  • Traffic splitting (Divisão de tráfego): um método de implantação de testes canary. Adequado se você deseja testar a integridade da sua nova versão do aplicativo usando uma parte do tráfego recebido, mantendo o restante do tráfego atendido pela versão antiga do aplicativo.

A tabela a seguir compara as propriedades dos métodos de implantação.

Métodos de implantação
Método Impacto de uma implantação malsucedida Tempo de implantação Tempo de inatividade zero Nenhuma alteração de DNS Processo de reversão Código implantado em
Tudo de uma vez Tempo de inatividade Não Sim Reimplantação manual Instâncias existentes
Contínua Lote único fora de serviço; qualquer lote bem-sucedido antes de uma falha ao executar uma nova versão do aplicativo Sim Sim Reimplantação manual Instâncias existentes
Contínua com lote adicional Mínimo, se o primeiro lote falhar; do contrário, é semelhante à Rolling (Contínua) Sim Sim Reimplantação manual Instâncias novas e existentes
Imutável Mínimo Sim Sim Encerrar novas instâncias Instâncias novas
Divisão de tráfego Percentual de tráfego do cliente roteado para a nova versão afetada temporariamente †† Sim Sim Redirecionar tráfego e encerrar novas instâncias Instâncias novas
Azul/verde Mínimo Sim Não Alternar URL Instâncias novas

Varia, dependendo do tamanho do lote.

†† Varia de acordo com a configuração da opção de tempo momento de avaliação.

Implantar uma nova versão do aplicativo

Você pode executar as implantações pelo painel do ambiente.

Como implantar uma nova versão da aplicação em um ambiente do Elastic Beanstalk
  1. Abra o console do Elastic Beanstalk e, na lista Regions (Regiões), selecione a sua Região da AWS.

  2. No painel de navegação, selecione Ambientes e selecione o nome do ambiente na lista.

    nota

    Se você tiver muitos ambientes, use a barra de pesquisa para filtrar a lista de ambientes.

  3. Escolha Upload and deploy (Fazer upload e implantar).

  4. Use o formulário na tela para carregar o pacote de origem do aplicativo.

  5. Escolha Implantar.

Reimplantar a versão anterior

Você também pode implantar uma versão do aplicativo carregado anteriormente em qualquer um dos ambientes da página de versões do aplicativo.

Para implantar uma versão existente do aplicativo no ambiente atual
  1. Abra o console do Elastic Beanstalk e, na lista Regions (Regiões), selecione a sua Região da AWS.

  2. No painel de navegação, selecione Aplicativos e escolha o nome do aplicativo na lista.

    nota

    Se você tiver muitos aplicativos, use a barra de pesquisa para filtrar a lista de aplicativos.

  3. No painel de navegação, encontre o nome do aplicativo e escolha Application versions (Versões do aplicativo).

  4. Selecione a versão do aplicativo a ser implantada.

  5. Escolha Actions (Ações) e escolha Deploy (Implantar).

  6. Escolha um ambiente e escolha Deploy (Implantar).

Outras formas de implantar seu aplicativo

Se você implanta com frequência, considere o uso da Interface de Linhas de Comando do Elastic Beanstalk (CLI do EB) para gerenciar os ambientes. A CLI do EB cria um repositório junto com o código-fonte. Ela também pode criar um pacote de origem, carregá-lo no Elastic Beanstalk e implantá-lo com um único comando.

Para implantações dependentes das alterações da configuração dos recursos ou de uma nova versão que não pode ser executada junto com a versão antiga, inicie um novo ambiente com a nova versão e faça uma troca de CNAME para uma implantação azul/verde.