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á.
Práticas recomendadas para implantar atualizações de forma segura
O Amazon Linux 2023 (AL2023) tem vários recursos projetados para ajudar na implantação segura de atualizações no sistema operacional e na capacidade de saber o que mudou entre as atualizações e, se necessário, reverter facilmente para a versão mais antiga. Esta seção explora as lições aprendidas em mais AWS de uma década de uso interno e externo do Amazon Linux.
Atenção
A execução de dnf --releasever=latest update não é uma prática recomendada e provavelmente resultará no primeiro teste de uma atualização do sistema operacional em produção.
Em vez de usarlatest, use uma versão AL2023 de lançamento específica. Isso garante que você esteja implantando as mesmas alterações em todas as instâncias de produção que testou anteriormente. Por exemplo, sempre dnf --releasever=2023.10.20260216 update atualizará para a versão 2023.10.20260216.
Para obter mais informações, consulte a AL2023 seção Atualização no Guia AL2023 do usuário.
Sem planejar a segurança da implantação das atualizações do sistema operacional, o impacto de uma interação negativa inesperada entre você application/service e uma atualização do sistema operacional pode ser significativamente maior, incluindo uma interrupção total. Como acontece com qualquer problema de software, quanto mais cedo o problema for detectado, menor será o impacto que ele poderá ter sobre os usuários finais.
É importante não cair na armadilha de acreditar em duas coisas que fundamentalmente não são verdadeiras:
O fornecedor do sistema operacional nunca cometerá um erro em uma atualização do sistema operacional.
O comportamento específico ou a interface com o sistema operacional em que você confia corresponde ao comportamento e às interfaces que o fornecedor do sistema operacional consideraria confiáveis.
Ou seja, tanto o fornecedor do sistema operacional quanto você concordariam que houve um problema com a atualização.
Não confie em boas intenções, implemente sistemas para garantir que a segurança da implantação inclua qualquer atualização do sistema operacional.
Não é recomendável testar novas atualizações do sistema operacional implantando-as em ambientes de produção. É uma prática recomendada considerar o sistema operacional como outra parte de sua implantação e pensar em aplicar os mesmos mecanismos de segurança de implantação que você considera adequados para qualquer outra alteração em um ambiente de produção.
É uma prática recomendada testar toda e qualquer atualização do sistema operacional antes de implantar nos sistemas de produção. Durante a implantação, são recomendadas implementações graduais combinadas com um bom monitoramento. As implementações em etapas podem garantir que, se ocorrer um problema, mesmo que não seja imediato, o impacto seja restrito a um subconjunto da frota, e a implantação da atualização possa ser interrompida enquanto se realiza uma investigação mais aprofundada e se tomam medidas de mitigação.
A mitigação de qualquer impacto negativo causado pela atualização do sistema operacional costuma ser a primeira prioridade, seguida pela resolução do problema, onde quer que ele esteja. Quando a introdução de uma atualização do sistema operacional está correlacionada a um impacto negativo, a capacidade de reverter para a versão anterior do sistema operacional, que se sabe ser boa, é uma ferramenta poderosa.
O Amazon Linux 2023 apresenta Atualizações determinísticas por meio de repositórios com versionamento, um novo recurso poderoso para garantir que qualquer alteração na versão do sistema operacional (ou pacotes individuais) seja repetível. Assim, se ocorrer algum problema ao mudar de uma versão do sistema operacional para a seguinte, existem mecanismos simples de usar disponíveis para manter a versão do sistema operacional que funciona corretamente enquanto se resolve o problema.
Com isso AL2023, sempre que lançamos novas atualizações de pacotes, há uma nova versão para bloquear e um novo AMIs bloqueio para essa versão. As notas AL2023 de lançamento abordam as mudanças em cada versão e Consultorias de segurança do Amazon Linux para AL2023 abordam os problemas de segurança abordados nas atualizações do pacote.
Por exemplo, se você foi afetado pelo problema presente na versão 2023.6.20241028, você poderia imediatamente voltar a usar as imagens de contêiner da versão anterior, 2023.6.20241010. AMIs Nesse caso, havia um bug em um pacote que foi corrigido no lançamento subsequente 2023.6.20241031, mas com Atualizações determinísticas por meio de repositórios com versionamento qualquer pessoa afetada poderia tomar imediatamente uma medida simples para mitigar o problema: bastava usar as imagens anteriores.
Atualizações determinísticas por meio de repositórios com versionamentotambém garante que qualquer implantação em andamento de uma atualização do sistema operacional, seja no local ou por meio do lançamento de imagens novas AMIs ou de contêiner, não seja afetada pelas atualizações do sistema operacional lançadas posteriormente.
No nosso primeiro exemplo, a frota A é uma grande frota que está no meio da implantação da atualização de 2023.5.20241001 para 2023.6.20241010 quando 2023.6.20241028 é lançada. Atualizações determinísticas por meio de repositórios com versionamento significam que a implementação para a frota A continua sem qualquer alteração nas atualizações que está aplicando.
O objetivo das estratégias de implantação baseadas em ondas ou em fases, como implantar primeiro em 1% de uma frota, depois em 5%, 10%, 20% e 40%, até atingir 100%, é poder testar uma mudança de forma limitada antes de implementá-la mais amplamente. Esse tipo de estratégia de implantação geralmente é considerado a prática recomendada para implantar qualquer alteração em produção.
Com uma estratégia de implantação baseada em ondas e a atualização da frota A para 2023.6.20241010 em um estágio em que está sendo implantada em muitos hosts ao mesmo tempo, o fato de 2023.6.20241028 ter sido lançada não tem impacto na implantação em andamento graças ao uso de Atualizações determinísticas por meio de repositórios com versionamento.
Se a frota B estivesse executando uma versão mais antiga, digamos 2023.5.20240708, e tivesse começado a implantar a atualização para 2023.6.20241028, e a frota B fosse afetada pelo problema nessa versão, isso seria percebido no início da implantação. Nesse momento, pode-se decidir se é necessário pausar qualquer implementação até que uma correção para esse problema esteja disponível ou se, entretanto, é necessário iniciar uma implantação da mesma versão que a frota A estava executando, 2023.6.20241010, para que a frota B receba todas as atualizações entre 2023.5.20240708 e 2023.6.20241010.
É importante observar que não instalar as atualizações do sistema operacional prontamente pode causar problemas. Novas atualizações provavelmente contêm correções de bugs e segurança que podem ser relevantes para o seu ambiente. Para obter mais informações, consulte Segurança e compatibilidade no Amazon Linux 2023 e Gerencie atualizações de pacotes e sistemas operacionais no AL2023.
É importante configurar seus sistemas de implantação para instalar facilmente novas atualizações do sistema operacional, testá-las antes da implantação em produção e usar mecanismos, como implantações baseadas em ondas, para minimizar qualquer impacto negativo. Para poder mitigar qualquer impacto negativo de uma atualização do sistema operacional, é importante saber como fazer com que seus sistemas de implantação apontem para uma versão anterior em boas condições do sistema operacional e, depois que o problema for resolvido, não ficar preso a essa versão antiga, mas sim mudar para uma nova versão em boas condições.
Preparar-se para atualizações secundárias
A preparação para atualizações menores do sistema operacional, como uma nova versão pontual do AL2023, deve ser limitada a zero esforço. Não deixe de ler as notas AL2023 de lançamento para ver as próximas alterações.
O fim do período de suporte de um pacote pode envolver a mudança para uma versão mais recente do runtime da linguagem (como no caso de PHPem AL2 023). É uma prática recomendada se preparar para isso com antecedência, migrando para novas versões de runtime da linguagem com bastante antecedência do término do período de suporte.
Para pacotes como pcre versão 1, também há a oportunidade de planejar com antecedência e migrar qualquer código para seu substituto, que neste caso é pcre versão 2. É recomendável fazer isso o quanto antes, para ter tempo suficiente para lidar com eventuais contratempos.
Onde não há substituição direta, como no caso de Berkeley DB (libdb), talvez seja necessário fazer uma escolha com base no seu caso de uso.
Preparar-se para atualizações principais
A atualização para uma nova versão principal de um sistema operacional é quase universalmente vista como algo que requer planejamento, trabalho para se adaptar a funcionalidades alteradas ou descontinuadas e também testes antes da implantação. Não é incomum poder se preparar para a próxima versão principal do Amazon Linux 2023 de forma mais incremental, como resolver qualquer uso de funcionalidades descontinuadas ou removidas antes de prosseguir com a migração para a próxima versão principal.
Por exemplo, ao passar de AL2 para AL2023, a leitura da Funcionalidade obsoleta e removida em AL2 AL2023 seção pode resultar em várias etapas pequenas e seguras que podem ocorrer enquanto ainda são usadas AL2 para se preparar AL2023. Por exemplo, qualquer uso de O Python 2.7 foi substituído pelo Python 3 (fora do uso do sistema operacional, como no gerenciador de pacotes yum) pode ser migrado para o Python 3 em preparação para o uso de Python no AL2023. Se estiver usando PHP, ambos AL2 (por meio do PHP 8.2 AL2 Extra) e AL2023 lançam o PHP 8.2 e, portanto, a migração da versão do PHP e a migração do sistema operacional não precisam ocorrer simultaneamente.
Ao usar AL2023, também é possível se preparar para a próxima versão principal do Amazon Linux 2023 hoje, enquanto estiver usando AL2023. A Descontinuações no AL2023 seção aborda recursos e pacotes que estão obsoletos AL2023 e devem ser removidos.
Por exemplo, migrar qualquer uso restante de System V init (sysvinit), como scripts init, para seus equivalentes de systemd preparará você para o futuro, além de permitir que use o conjunto completo de recursos de systemd para monitorar o serviço, como e se deve reiniciá-lo, quais outros serviços ele precisa e se alguma restrição de recurso ou permissão deve ser aplicada.
Para recursos como suporte a 32 bits, a descontinuação pode abranger várias versões principais do sistema operacional. Para 32 bits, o Amazon Linux 1 (AL1) está obsoletoAMIs x86 (i686) de 32 bits, o Amazon Linux 2 está obsoleto e o Amazon Linux 2023 está Pacotes x86 (i686) de 32 bits obsoleto. Suporte ao runtime x86 (i686) de 32 bits A transição do IMDSv1 também abrange várias versões principais do sistema operacional. Para esses tipos de mudanças, entende-se que alguns clientes precisam de mais tempo para se adaptar a elas, portanto, há uma grande margem de manobra antes que a funcionalidade não esteja mais disponível no Amazon Linux 2023.
A lista de funcionalidades descontinuadas é atualizada durante a vida útil do sistema operacional, e é recomendável acompanhar as alterações feitas nela.