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á.
Migração do Amazon Linux AMI (AL1) para o AL2 ou o AL2023
Se a aplicação do Elastic Beanstalk for baseada em uma ramificação de plataforma do Amazon Linux AMI, use esta seção para saber como migrar os ambientes da aplicação para o Amazon Linux 2 ou Amazon Linux 2023. As ramificações da plataforma da geração anterior baseadas no Amazon Linux AMI
É altamente recomendável migrar para o Amazon Linux 2023, já que ele é mais recente do que o Amazon Linux 2. O encerramento do suporte ao sistema operacional Amazon Linux 2 ocorrerá antes do encerramento do suporte ao Amazon Linux 2023. Consequentemente, você se beneficiará de um período de suporte mais longo se migrar para o Amazon Linux 2023.
Há um alto grau de compatibilidade entre as plataformas Amazon Linux 2 e Amazon Linux 2023 do Elastic Beanstalk. Ainda assim, há diferenças em algumas áreas: a opção padrão do Instance Metadata Service Version 1 (IMDSv1), o suporte à ferramenta de instância pkg-repo e algumas configurações do Apache HTTPd. Para ter mais informações, consulte Amazon Linux 2023.
Diferenças e compatibilidade
Não há garantia de que ramificações de plataformas baseadas em AL2023/AL2 sejam compatíveis com versões anteriores das aplicações existentes. É importante ter em mente que, mesmo que o código da aplicação seja implantado com sucesso na nova versão da plataforma, ele poderá se comportar ou ser executado de forma diferente devido às diferenças de runtime e sistema operacional.
Embora a Amazon Linux AMI e o AL2023/AL2 compartilhem o mesmo kernel do Linux, eles diferem nos seguintes aspectos: sistema de inicialização, versões de libc
, cadeia de ferramentas do compilador e vários pacotes. Para obter mais informações, consulte Perguntas frequentes do Amazon Linux 2
O serviço Elastic Beanstalk também atualizou as versões de runtime, ferramentas de compilação e outras dependências específicas de cada plataforma.
Portanto, recomendamos que você reserve um tempo para testar seu aplicativo minuciosamente em um ambiente de desenvolvimento e faça os ajustes necessários.
Processo geral de migração
Quando você estiver pronto para ir para produção, o Elastic Beanstalk exigirá uma implantação azul/verde para executar a atualização. As etapas gerais de práticas recomendadas para a migração com um procedimento de implantação azul/verde são descritas a seguir.
Preparar para testar a migração
Antes de a aplicação e começar a testá-la, revise as informações em Considerações para todas as plataformas Linux que serão apresentadas posteriormente neste tópico. Além disso, revise as informações aplicáveis à sua plataforma na seção Considerações específicas da plataforma a seguir. Anote as informações específicas desse conteúdo que podem ser usadas na aplicação e na configuração definida.
Etapas de migração de alto nível
-
Crie um novo ambiente baseado em uma ramificação da plataforma AL2 ou AL2023. Recomendamos migrar para uma ramificação da plataforma AL2023.
-
Implante a aplicação no ambiente AL2023/AL2 de destino.
O ambiente de produção existente permanecerá ativo e não será afetado, enquanto você estiver fazendo interações por meio de testes e ajustes no novo ambiente.
-
Teste a aplicação minuciosamente no novo ambiente.
-
Quando o novo ambiente AL2023/AL2 de destino estiver pronto para entrar em produção, troque os CNAMEs dos dois ambientes para redirecionar o tráfego para o novo ambiente.
Etapas de migração mais detalhadas e práticas recomendadas
Para obter um procedimento de implantação azul/verde mais detalhado, consulte. Implantações azuis/verdes com o Elastic Beanstalk
Para obter orientações mais específicas e etapas detalhadas de práticas recomendadas, consulte Método azul/verde.
Mais referências para ajudar a planejar a migração
As referências a seguir podem oferecer informações adicionais para planejar sua migração.
-
Comparação entre o Amazon Linux 2 e o Amazon Linux 2023 no Guia do usuário do Amazon Linux 2023.
-
O que é o Amazon Linux 2023? no Guia do usuário Amazon Linux 2023.
-
Plataformas compatíveis com Elastic Beanstalk em Plataformas AWS Elastic Beanstalk
Considerações para todas as plataformas Linux
A tabela a seguir discute considerações das quais você deve estar ciente ao planejar uma migração de aplicação para o AL2023/AL2 Essas considerações se aplicam a qualquer uma das plataformas Linux do Elastic Beanstalk, independentemente de linguagens de programação específicas ou servidores de aplicações.
Área | Alterações e informações |
---|---|
Arquivos de configuração |
Nas plataformas AL2023/AL2, é possível usar os arquivos de configuração como antes, e todas as seções funcionarão da mesma maneira. No entanto, configurações específicas podem não funcionar da mesma forma que funcionavam em plataformas da AMI do Amazon Linux anteriores. Por exemplo:
Recomendamos o uso de hooks de plataforma para executar o código personalizado em instâncias do seu ambiente. Você ainda pode usar comandos e os comandos de contêiner em arquivos de configuração Você ainda precisa usar arquivos de configuração |
Hooks de plataforma |
As plataformas AL2 introduzem uma nova maneira de estender a plataforma do seu ambiente adicionando arquivos executáveis para criar hooks de diretórios nas instâncias do ambiente. É possível que você possa ter usado hooks de plataforma personalizada com versões anteriores da plataforma Linux. Esses hooks não foram projetados para plataformas gerenciadas e não eram compatíveis, mas podiam funcionar de maneira útil em alguns casos. Os hooks de plataforma personalizada não funcionam nas versões de plataforma AL2023/AL2. Você deve migrar todos os hooks para os novos hooks de plataforma. Para obter mais detalhes, consulte Hooks de plataforma. |
Servidores de proxy compatíveis |
As versões de plataformas do AL2023/AL2 são compatíveis com os mesmos servidores de proxy reverso que cada plataforma compatível em suas versões de plataforma da Amazon Linux AMI. Todas as versões de plataforma do AL2023/AL2 usam o nginx como servidor de proxy reverso padrão, com exceção das plataformas ECS e Docker. As plataformas Tomcat, Node.js, PHP e Python também oferecem suporte ao Apache HTTPD como uma alternativa. Todas as plataformas habilitam a configuração do servidor de proxy de forma uniforme, conforme descrito nesta seção. No entanto, configurar o servidor de proxy é ligeiramente diferente do que estava na AMI do Amazon Linux. Estas são as diferenças para todas as plataformas:
Para ver as alterações de configuração de proxy específicas da plataforma, consulte Considerações específicas da plataforma. Para obter informações sobre a configuração de proxy em plataformas AL2023/AL2, consulte Configuração de proxy reverso. |
Alterações de configuração de proxy |
Algumas alterações de configuração de proxy se aplicam uniformemente a todas as plataformas, mas há também alterações de configuração de proxy específicas de cada plataforma. É importante consultar ambas para configurar os ambientes com precisão.
|
Perfil de instância |
As plataformas AL2023/AL2 exigem que um perfil de instância seja configurado. A criação do ambiente pode ser bem-sucedida temporariamente sem um perfil, mas o ambiente poderá mostrar erros logo após a criação, quando as ações que exigem um perfil de instância começarem a falhar. Para obter detalhes, consulte Gerenciar perfis de instância do Elastic Beanstalk. |
Integridade avançada |
As versões de plataforma AL2023/AL2 habilitam a integridade avançada por padrão. Trata-se de uma alteração, se você não usa o console do Elastic Beanstalk para criar seus ambientes. O console permite a integridade aprimorada por padrão sempre que possível, independentemente da versão da plataforma. Para obter detalhes, consulte Relatórios e monitoramento de integridade aprimorados do Elastic Beanstalk. |
AMI personalizada |
Se o ambiente usar uma AMI personalizada, crie uma AMI baseada no AL2023/AL2 para o novo ambiente usando uma plataforma AL2023/AL2 do Elastic Beanstalk. |
Plataformas personalizadas |
As AMIs gerenciadas das versões de plataforma do AL2023/AL2 não oferecem suporte a plataformas personalizadas. |
Considerações específicas da plataforma
Esta seção aborda considerações de migração específicas para determinadas plataformas Linux do Elastic Beanstalk.
A família de ramificações de plataforma Docker baseadas no Amazon Linux AMI (AL1) inclui três ramificações de plataforma. Recomendamos um caminho de migração específico para cada.
Ramificação de plataforma AL1 | Caminho de migração para o AL2023/AL2 | ||||||||
---|---|---|---|---|---|---|---|---|---|
Docker de vários contêineres gerenciado pelo Amazon ECS sendo executado no Amazon Linux AMI (AL1) |
Ramificações de plataforma AL2023/AL2 do Docker baseada no ECSAs ramificações de plataforma AL2023/AL2 do Docker baseadas no ECS oferecem um caminho de migração direta para ambientes em execução na ramificação da plataforma AL1 do Docker de vários contêineres.
Para obter mais informações sobre a migração de aplicações executadas na ramificação da plataforma Amazon Linux do Docker de vários contêineres para a ramificação da plataforma Amazon ECS em execução no AL2023/AL2, consulte Migração da aplicação Elastic Beanstalk do Docker de vários contêineres gerenciados pelo ECS no AL1 para o ECS no Amazon Linux 2023. |
||||||||
Docker em execução no Amazon Linux AMI (AL1) Docker pré-configurado (Glassfish 5.0) em execução no Amazon Linux AMI (AL1) |
Docker em execução na ramificação da plataforma AL2023/AL2Recomendamos migrar as aplicações em execução em ambientes baseados no Docker pré-configurado (Glassfish 5.0) ou no Docker em execução no Amazon Linux AMI (AL1) para ambientes baseados nas ramificações de plataforma Docker em execução no Amazon Linux 2 ou Docker em execução no AL2023. Se o ambiente for baseado na ramificação de plataforma Docker pré-configurado (Glassfish 5.0), consulte Implantar uma aplicação GlassFish na plataforma Docker: um caminho de migração para o Amazon Linux 2023. A tabela a seguir lista informações de migração específicas para a ramificação da plataforma Docker em execução no AL2023/AL2.
|
A tabela a seguir lista as informações de migração para as versões da plataforma AL2023/AL2 na plataforma Go.
Área | Alterações e informações |
---|---|
Transmissão de porta |
Nas plataformas AL2023/AL2, o Elastic Beanstalk não passa um valor de porta para o processo de aplicação por meio da variável de ambiente |
A tabela a seguir lista as informações de migração para as ramificações de plataforma do Corretto na plataforma Java SE.
Área | Alterações e informações |
---|---|
Corretto vs. OpenJDK |
Para implementar a plataforma Java, Standard Edition (Java SE), as ramificações de plataforma AL2023/AL2 usam o Amazon Corretto |
Ferramentas de compilação |
As plataformas AL2023/AL2 têm versões mais recentes das ferramentas de compilação: |
Tratamento de arquivos JAR |
Nas plataformas AL2023/AL2, se o pacote de origem (arquivo ZIP) contiver um único arquivo JAR e nenhum outro arquivo, o Elastic Beanstalk não alterará mais o nome do arquivo JAR para |
Transmissão de porta |
Nas plataformas AL2023/AL2, o Elastic Beanstalk não passa um valor de porta para o processo de aplicação por meio da variável de ambiente |
Java 7 |
O Elastic Beanstalk não é compatível com uma ramificação de plataforma Java 7 do AL2023/AL2. Se você tiver uma aplicação Java 7, migre-a para Corretto 8 ou Corretto 11. |
A tabela a seguir lista as informações de migração para as versões da plataforma AL2023/AL2 na plataforma Tomcat.
Área | Alterações e informações | ||||||
---|---|---|---|---|---|---|---|
Opções de configuração |
Nas versões da plataforma AL2023/AL2, o Elastic Beanstalk é compatível apenas com um subconjunto das opções de configuração e valores de opção no namespace
A opção |
||||||
Caminho do aplicativo |
Nas plataformas AL2023/AL2, o caminho para o diretório da aplicação nas instâncias do Amazon EC2 do ambiente é |
A tabela a seguir lista as informações de migração para as versões de plataforma AL2023/AL2 na plataforma Node.js.
Área | Alterações e informações | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Versões Node.js instaladas |
Em plataformas AL2023/AL2, o Elastic Beanstalk mantém várias ramificações da plataforma Node.js e instala somente a versão mais recente da versão principal do Node.js correspondente à ramificação da plataforma em cada versão. Por exemplo, cada versão da plataforma na ramificação da plataforma Node.js 12 tem somente o Node.js 12.x.y instalado por padrão. Nas versões da plataforma da AMI do Amazon Linux, instalamos as várias versões do Node.js em cada versão da plataforma e mantemos apenas uma única ramificação da plataforma. Escolha a ramificação da plataforma Node.js que corresponde à versão principal do Node.js de que seu aplicativo precisa. |
||||||||||
Nomes de arquivos de log do Apache HTTPD |
Nas plataformas AL2023/AL2, se você usar o servidor de proxy Apache HTTPD, os nomes dos arquivos de log HTTPD serão Para obter detalhes sobre nomes de arquivos de log e locais de todas as plataformas, consulte Como o Elastic Beanstalk configura os registros CloudWatch . |
||||||||||
Opções de configuração |
Nas plataformas AL2023/AL2, o Elastic Beanstalk não é compatível comas opções de configuração no namespace
|
A tabela a seguir lista as informações de migração para as versões da plataforma AL2023/AL2 na plataforma PHP.
Área | Alterações e informações |
---|---|
Processamento de arquivos PHP |
Nas plataformas AL2023/AL2, os arquivos PHP são processados usando PHP-FPM (um gerenciador de processos CGI). Em plataformas da AMI do Amazon Linux, usamos mod_php (um módulo do Apache). |
Servidor de proxy |
As versões da plataforma PHP do AL2023/AL2 são compatíveis com os servidores de proxy nginx e Apache HTTPD. O padrão é nginx. As versões da plataforma PHP da AMI do Amazon Linux eram compatíveis apenas com o Apache HTTPD. Se você adicionou arquivos de configuração personalizados do Apache, poderá definir a opção |
A tabela a seguir lista as informações de migração para as versões da plataforma AL2023/AL2 na plataforma Python.
Área | Alterações e informações |
---|---|
Servidor WSGI |
Nas plataformas AL2023/AL2, o Gunicorn Como alternativa, você pode usar um |
Caminho do aplicativo |
Nas plataformas AL2023/AL2, o caminho para o diretório da aplicação nas instâncias do Amazon EC2 do ambiente é |
Servidor de proxy |
As versões da plataforma Python do AL2023/AL2 são compatíveis com os servidores de proxy nginx e Apache HTTPD. O padrão é nginx. As versões da plataforma Python da AMI do Amazon Linux eram compatíveis apenas com o Apache HTTPD. Se você adicionou arquivos de configuração personalizados do Apache, poderá definir a opção |
A tabela a seguir lista as informações de migração para as versões da plataforma AL2023/AL2 na plataforma Ruby.
Área | Alterações e informações |
---|---|
Versões Ruby instaladas |
Nas plataformas AL2023/AL2, o Elastic Beanstalk instala somente a versão mais recente de uma única versão do Ruby, correspondente à ramificação da plataforma, em cada versão da plataforma. Por exemplo, cada versão da plataforma na ramificação da plataforma Ruby 2.6 tem somente o Ruby 2.6.x instalado. Nas versões da plataforma da AMI do Amazon Linux, instalamos as versões mais recentes de várias versões do Ruby, por exemplo, 2.4.x, 2.5.x e 2.6.x. Se seu aplicativo usar uma versão do Ruby que não corresponda à ramificação da plataforma que você está usando, recomendamos mudar para uma ramificação de plataforma que tenha a versão do Ruby correta para seu aplicativo. |
Servidor de aplicativos |
Nas plataformas AL2023/AL2, o Elastic Beanstalk instala apenas o servidor de aplicações Puma em todas as versões da plataforma Ruby. É possível usar um Na plataforma da AMI do Amazon Linux, oferecemos suporte a dois tipos de ramificações da plataforma para cada versão Ruby: uma com o servidor de aplicações Puma e outra com o servidor de aplicações Passenger. Se o seu aplicativo usar o Passenger, é possível configurar seu ambiente Ruby para instalar e usar o Passenger. Para ter mais informações e exemplos, consulte Usar a plataforma Ruby do Elastic Beanstalk. |