Atualizações gerenciadas de plataforma - AWS Elastic Beanstalk

Atualizações gerenciadas de plataforma

O AWS Elastic Beanstalk lança regularmente atualizações de plataforma para fornecer correções, atualizações de software e novos recursos. Com as atualizações gerenciadas de Plataforma, você pode configurar seu ambiente para atualizar automaticamente para a versão mais recente de uma Plataforma durante uma janela de manutenção programada. Seu aplicativo permanece em serviço durante o processo de atualização, sem redução da capacidade. As atualizações gerenciadas estão disponíveis em ambos os ambientes de instância única e com balanceamento de carga.

nota

Esse recurso não está disponível em versões da plataforma Windows Server anteriores à versão 2 (v2).

Você pode configurar seu ambiente para aplicar automaticamente as atualizações de versão de patch ou ambas as atualizações de patch e de versão secundária. As atualizações gerenciadas da plataforma não são compatíveis com atualizações em ramificações da plataforma (atualizações para diferentes versões principais de componentes da plataforma, como sistema operacional, tempo de execução ou componentes do Elastic Beanstalk), pois elas podem apresentar alterações incompatíveis com versões anteriores.

Você também pode configurar o Elastic Beanstalk para substituir todas as instâncias no ambiente durante a janela de manutenção, mesmo se não houver uma atualização de plataforma disponível. A substituição de todas as instâncias em seu ambiente será útil se o seu aplicativo encontrar bugs ou problemas de memória quando executado por um longo período.

Em ambientes criados em 25 de novembro de 2019 ou posteriormente usando o console do Elastic Beanstalk, as atualizações gerenciadas são habilitadas por padrão sempre que possível. As atualizações gerenciadas exigem integridade aprimorada para serem habilitadas. A integridade aprimorada é habilitada por padrão quando você seleciona uma das predefinições de configuração, e desabilitada quando você seleciona Custom configuration (Configuração personalizada). O console não pode habilitar atualizações gerenciadas para versões de plataforma mais antigas que não oferecem suporte à integridade aprimorada ou quando a integridade aprimorada está desabilitada. Quando o console habilita as atualizações gerenciadas para um novo ambiente, a Weekly update window (Janela de atualização semanal) é definida como um dia aleatório da semana em um horário aleatório. O Update level (Nível de atualização) é definido como Minor and patch (Menor e patch), e a Instance replacement (Substituição da instância) é desabilitada. Você pode desabilitar ou reconfigurar atualizações gerenciadas antes da etapa final de criação do ambiente.

Para um ambiente existente, use o console do Elastic Beanstalk a qualquer momento para configurar atualizações de plataforma gerenciadas.

Como configurar atualizações de plataforma gerenciadas

  1. Abra o console do Elastic Beanstalk e, na lista Regions (Regiões), selecione 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. No painel de navegação, escolha Configuration (Configuração).

  4. Na categoria Managed updates (Atualizações gerenciadas), escolha Edit (Editar).

  5. Desabilite ou habilite as Managed Updates (Atualizações gerenciadas).

  6. Se as atualizações gerenciadas estiverem habilitadas, selecione uma janela de manutenção e selecione um Update level (Nível de atualização).

  7. (Opcional) Selecione Instance replacement (Substituição da instância) para habilitar a substituição semanal da instância.

    
          Página de configuração Modify managed updates (Modificar atualizações gerenciadas)
  8. Escolha Apply (Aplicar).

As atualizações gerenciadas de Plataforma dependem de relatórios de integridade aprimorada para determinar se o seu aplicativo é íntegro o suficiente para considerar a atualização da Plataforma bem-sucedida. Consulte Habilitar relatórios de integridade aprimorada do Elastic Beanstalk para obter instruções.

Permissões necessárias para executar atualizações gerenciadas de plataforma

O Elastic Beanstalk precisa de permissão para iniciar uma atualização de plataforma em seu nome. Para obter essas permissões, o Elastic Beanstalk assume a função de serviço de atualizações gerenciadas. Quando a função de serviço padrão é usada para o ambiente, o console do Elastic Beanstalk também a usa como função de serviço de atualizações gerenciadas. O console atribui a política gerenciada AWSElasticBeanstalkService à função de serviço. Esta política tem todas as permissões que o Elastic Beanstalk precisa para executar atualizações de plataforma gerenciada.

Para obter detalhes sobre outras formas de definir a função de serviço de atualizações gerenciadas, consulte Gerenciar funções de serviço do Elastic Beanstalk.

nota

Se você usar arquivos de configuração para estender o ambiente a fim de incluir recursos adicionais, poderá ser necessário adicionar permissões à função de serviço de atualizações gerenciadas do ambiente. Normalmente, você precisa adicionar permissões ao fazer referência a esses recursos pelo nome em outras seções ou arquivos.

Se houver falha em uma atualização, você poderá localizar o motivo na página Atualizações gerenciadas.

Janela de manutenção da atualização gerenciada

Quando a AWS lança uma nova versão da plataforma do ambiente, o Elastic Beanstalk programa uma atualização gerenciada da plataforma durante a próxima janela de manutenção semanal. As janelas de manutenção são de duas horas. O Elastic Beanstalk inicia uma atualização agendada durante a janela de manutenção. Pode ser que a atualização não seja concluída antes do término das janelas.

nota

Na maioria dos casos, o Elastic Beanstalk programa a atualização gerenciada para que ela ocorra durante a próxima janela de manutenção semanal. O sistema considera diversos aspectos de segurança e disponibilidade do serviço de atualização ao programar as atualizações gerenciadas. Em casos raros, uma atualização pode não ser programada para a primeira janela de manutenção. Quando isso acontece, o sistema tenta novamente na próxima janela de manutenção. Para aplicar manualmente a atualização gerenciada, escolha Apply now (Aplicar agora) como explicado em Gerenciar atualizações gerenciadas, nesta página.

Atualizações de versão secundária e patch

Você pode habilitar as atualizações gerenciadas de plataforma para aplicar somente atualizações de versão de patch ou para ambas as atualizações de patch e de versão secundária. As atualizações de versão de patch fornecem correções de bugs e melhorias de desempenho e podem incluir alterações de configuração secundárias no software da instância, nos scripts e nas opções de configuração. Atualizações de versões secundárias são compatíveis com novos recursos do Elastic Beanstalk. Você não pode aplicar atualizações de versão principal, que podem fazer alterações incompatíveis com a versão anterior, com as atualizações gerenciadas da plataforma.

No número da versão de um plataforma, o segundo número é a versão de atualização secundária, e o terceiro número é a versão do patch. Por exemplo, a versão 2.0.7 de uma plataforma tem 0 como versão secundária e 7 como versão de patch.

Atualizações de ambiente imutáveis

As atualizações gerenciadas de Plataforma executam atualizações de ambiente imutáveis para atualizar seu ambiente para uma nova versão de Plataforma. As atualizações imutáveis atualizam o ambiente sem retirar as instâncias de serviço ou modificar o ambiente, antes de confirmar que as instâncias que executam a nova versão foram aprovadas nas verificações de integridade.

Em uma atualização imutável, o Elastic Beanstalk implanta o mesmo número de instâncias que estão em execução no momento com a nova versão da plataforma. As novas instâncias começam a fazer solicitações juntamente com aquelas que executam a versão antiga. Se o novo conjunto de instâncias for aprovado em todas as verificações de integridade, o Elastic Beanstalk encerrará o conjunto antigo de instâncias, deixando apenas aquelas com a nova versão.

As atualizações gerenciadas de plataforma sempre realizam atualizações imutáveis, mesmo quando você as aplica fora da janela de manutenção. Se você alterar a versão da plataforma no Dashboard (Painel), o Elastic Beanstalk aplicará a política de atualização escolhida para as atualizações de configuração.

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

Gerenciar atualizações gerenciadas

O console do Elastic Beanstalk exibe informações detalhadas sobre atualizações gerenciadas na página Managed updates overview (Visão geral de atualizações gerenciadas).

Para visualizar informações sobre atualizações gerenciadas (console)

  1. Abra o console do Elastic Beanstalk e, na lista Regions (Regiões), selecione 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 Managed updates (Atualizações gerenciadas).

A seção Visão geral de atualizações gerenciadas apresenta informações sobre as atualizações gerenciadas programadas e pendentes. A seção History lista as atualizações bem-sucedidas e as tentativas com falha.

Você pode aplicar uma atualização programada imediatamente, em vez de esperar pela janela de manutenção.

Para aplicar uma atualização gerenciada de plataforma imediatamente (console)

  1. Abra o console do Elastic Beanstalk e, na lista Regions (Regiões), selecione 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 Managed updates (Atualizações gerenciadas).

  4. Escolha Apply now.

  5. Verifique os detalhes da atualização e escolha Apply (Aplicar).

Quando você aplica uma atualização gerenciada de plataforma fora da janela de manutenção, o Elastic Beanstalk realiza uma atualização imutável. Se você atualizar a plataforma do ambiente no Dashboard (Painel) ou usando um cliente diferente, o Elastic Beanstalk aplicará o tipo de atualização selecionado nas alterações de configuração.

Se você não tem uma atualização gerenciada programada, talvez o ambiente já esteja executando a versão mais recente. Outros motivos para não ter uma atualização programada incluem:

  • Uma atualização de versão secundária está disponível, mas o ambiente está configurado para aplicar automaticamente apenas as atualizações de versão de patch.

  • O ambiente não foi verificado desde que a atualização foi lançada. O Elastic Beanstalk normalmente verifica se há atualizações a cada hora.

  • Uma atualização está pendente ou já está em andamento.

Quando a janela de manutenção é iniciada ou quando você seleciona Apply now (Aplicar agora), as atualizações programadas entram no status pendente antes da execução.

Namespaces da opção de ação gerenciada

Você pode usar as opções de configuração nos namespaces aws:elasticbeanstalk:managedactions e aws:elasticbeanstalk:managedactions:platformupdate para habilitar e configurar as atualizações gerenciadas de Plataforma.

A opção ManagedActionsEnabled ativa as atualizações gerenciadas de plataforma. Defina essa opção como true para habilitar as atualizações gerenciadas de plataforma e use as outras opções para configurar o comportamento de atualização.

Use PreferredStartTime para configurar o início da janela de manutenção semanal no formato dia:hora:minuto.

Defina UpdateLevel como minor ou patch para aplicar ambas as atualizações de versão secundária e de patch ou apenas as atualizações de versão de patch, respectivamente.

Quando as atualizações gerenciadas de plataforma são habilitadas, você pode permitir a substituição de instâncias definindo a opção InstanceRefreshEnabled como true. Quando essa configuração é habilitada, o Elastic Beanstalk executa uma atualização imutável no ambiente a cada semana, mesmo que não haja uma nova versão da plataforma disponível.

O arquivo de configuração de exemplo a seguir habilita as atualizações gerenciadas de plataforma para atualizações da versão de patch com uma janela de manutenção que começa às 9h UTC toda terça-feira.

exemplo .ebextensions/managed-platform-update.config

option_settings: aws:elasticbeanstalk:managedactions: ManagedActionsEnabled: true PreferredStartTime: "Tue:09:00" aws:elasticbeanstalk:managedactions:platformupdate: UpdateLevel: patch InstanceRefreshEnabled: true