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á.
Usar uma imagem de máquina Amazon personalizada (AMI) no ambiente Elastic Beanstalk
Esta seção explica quando considerar o uso de uma AMI personalizada e fornece os procedimentos para configurar e gerenciar a AMI personalizada no seu ambiente. Quando você cria um ambiente do AWS Elastic Beanstalk, pode especificar uma imagem de máquina da Amazon (AMI) em vez de usar a AMI do Elastic Beanstalk padrão incluída na versão da plataforma. Uma AMI personalizada pode melhorar o tempo de provisionamento quando as instâncias são iniciadas em seu ambiente e você precisa instalar muitos softwares que não são incluídos nas AMIs padrão.
O uso de arquivos de configuração é eficaz para personalizar seu ambiente de maneira rápida e consistente. Embora a aplicação de configurações possa começar a levar muito tempo durante a criação e as atualizações do ambiente. Se você especificar muitas configurações de servidor em arquivos de configuração, poderá reduzir esse tempo ao criar uma AMI personalizada que já tenha o software e a configuração de que precisa.
Uma AMI personalizada também permite fazer alterações em componentes de baixo nível, como o kernel do Linux, que são difíceis de implantar ou que demoram muito tempo para aplicar em arquivos de configuração. Para criar uma AMI personalizada, inicie uma AMI da plataforma do Elastic Beanstalk no Amazon EC2, personalize o software e a configuração de acordo com suas necessidades e, depois, interrompa a instância e salve uma AMI a partir dela.
Criar uma AMI do personalizada
É possível usar o EC2 Image Builder
Como identificar a AMI base do Elastic Beanstalk
-
Em uma janela de comando, execute um comando semelhante ao seguinte. Para obter mais informações, consulte describe-platform-version na Referência de comando da AWS CLI.
Especifique a região da AWS em que você deseja usar a AMI personalizada e substitua o ARN da plataforma e o número de versão pela plataforma do Elastic Beanstalk na qual a aplicação está baseada.
exemplo - Mac OS/SO Linux
$
aws elasticbeanstalk describe-platform-version --region
[ { "VirtualizationType": "pv", "ImageId": "" }, { "VirtualizationType": "hvm", "ImageId": "us-east-2
\ --platform-arn "arn:aws:elasticbeanstalk:us-east-2
::platform/Node.js 20 running on 64bit Amazon Linux 2023
/6.1.7
" \ --query PlatformDescription.CustomAmiListami-020ae06fdda6a0f66
" } ]exemplo - SO Windows
C:\> aws elasticbeanstalk describe-platform-version --region
[ { "VirtualizationType": "pv", "ImageId": "" }, { "VirtualizationType": "hvm", "ImageId": "us-east-2
--platform-arn"arn:aws:elasticbeanstalk:us-east-2
::platform/IIS 10.0 running on 64bit Windows Server 2022
/2.15.3
" --query PlatformDescription.CustomAmiListami-020ae06fdda6a0f66
" } ] -
Anote o valor
ImageId
, que será semelhante aami-020ae06fdda6a0f66
no resultado.
O valor é a AMI do Elastic Beanstalk de estoque para a versão da plataforma, a arquitetura da instância do EC2 e a região da AWS relevantes para a aplicação. Se você precisa criar AMIs para várias plataformas, arquiteturas ou regiões da AWS, repita o processo para identificar a AMI básica correta para cada combinação.
nota
Não crie uma AMI a partir de uma instância que foi executada em um ambiente do Elastic Beanstalk. O Elastic Beanstalk faz alterações nas instâncias durante o provisionamento que podem causar problemas na AMI salva. Salvar uma imagem de uma instância em um ambiente do Elastic Beanstalk também faz com que a versão da aplicação que foi implantada na instância seja uma parte fixa da imagem.
Para o Linux, também é possível criar uma AMI personalizada a partir de uma AMI de comunidade que não foi publicada pelo Elastic Beanstalk. É possível usar a AMI mais recente do Amazon Linux
nota
AMIs personalizadas baseadas no Windows Server exigem a AMI do Elastic Beanstalk de estoque retornada de describe-platform-version
, como mostrado anteriormente na Etapa 1.
Embora o Elastic Beanstalk possa usar uma AMI não gerenciada pelo Elastic Beanstalk, o aumento no tempo de provisionamento que resulta da instalação pelo Elastic Beanstalk de componentes ausentes pode reduzir ou eliminar os benefícios da criação de uma AMI personalizada. Outras distribuições do Linux talvez funcionem com a solução de alguns problemas, mas não são oficialmente compatíveis. Se a aplicação exigir uma distribuição específica do Linux, uma alternativa será criar uma imagem de Docker e executá-la na plataforma Docker ou na plataforma Docker de vários contêineres do Elastic Beanstalk.
Para criar uma AMI personalizada
Abra o console do Amazon EC2 em https://console.aws.amazon.com/ec2/
. -
Escolha Executar instância.
-
Se você identificou uma AMI base do Elastic Beanstalk (usando
describe-platform-version
) ou uma AMI do Amazon Linux, insira o ID da AMI na caixa de pesquisa. Em seguida, pressione Enter.Você também pode pesquisar a lista para outra comunidade AMI que atenda às suas necessidades.
nota
Recomendamos que você escolha uma AMI que use a virtualização de HVM. Essas AMIs mostram um tipo de virtualização: hvm em sua descrição.
Para obter mais informações, consulte Tipos de virtualização no Guia do usuário do Amazon EC2.
-
Escolha Select para selecionar a AMI.
-
Selecione um tipo de instância e, a seguir, escolha Próximo: Configurar detalhes da instância.
-
(Para plataformas Amazon Linux AMI (AL1) retiradadas) Pule essa etapa se o ambiente for executado em uma plataforma baseada em Linux compatível ou em uma plataforma Windows.
Expanda a seção Detalhes avançados e cole o seguinte texto no campo Dados do usuário.
#cloud-config repo_releasever:
repository version number
repo_upgrade: noneO número de versão do repositório é a versão de ano e mês no nome da AMI. Por exemplo, AMIs com base na versão de março de 2015 do Amazon Linux têm um número de versão de repositório
2015.03
. Para uma imagem do Elastic Beanstalk, isso corresponde à data mostrada no nome da pilha de soluções para a versão da plataforma com base na AMI do Amazon Linux (anterior ao Amazon Linux 2).nota
A configuração
repo_releasever
define o recurso de bloqueio no lançamento para uma AMI do Amazon Linux. Isso faz com que a AMI use uma versão fixa e específica do repositório quando é iniciada. Esse recurso não é compatível com o Amazon Linux 2, ou seja, não o especifique se seu ambiente usa uma ramificação de plataforma atual do Amazon Linux 2. A configuração será necessária se você estiver usando uma AMI personalizada com o Elastic Beanstalk somente nas ramificações da plataforma da AMI do Amazon Linux (anteriores ao Amazon Linux 2).A configuração
repo_upgrade
desativa a instalação automática de atualizações de segurança. É necessário usar uma AMI personalizada com o Elastic Beanstalk. -
Siga as instruções do assistente para iniciar a instância do EC2. Quando solicitado, selecione um par de chaves ao qual tenha acesso para que você possa se conectar à instância para as próximas etapas.
-
Conecte-se à instância com SSH ou RDP.
-
Execute todas as personalizações desejadas.
-
(Plataformas Windows) Execute o Sysprep do serviço EC2Config. Para obter informações sobre o EC2Config, consulte Configurar uma instância do Windows usando o serviço EC2Config. Certifique-se de que o Sysprep está configurado para gerar uma senha aleatória que pode ser recuperada no AWS Management Console.
-
No console do Amazon EC2, interrompa a instância do EC2. Em seguida, no menu Instance Actions (Ações da instância), escolha Create Image (EBS AMI) (Criar imagem (AMI do EBS)).
-
Para evitar encargos adicionais da AWS, termine a instância do EC2.
Como usar sua AMI personalizada em um ambiente do Elastic Beanstalk
Abra o console do Elastic Beanstalk
e, na lista Regions (Regiões), selecione a sua Região da AWS. -
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.
No painel de navegação, escolha Configuration (Configuração).
-
Na categoria de configuração Capacity (Capacidade), escolha Edit (Editar).
-
Em AMI ID (ID de AMI), insira seu ID de AMI personalizado.
-
Para salvar as alterações, escolha Apply (Aplicar) na parte inferior da página.
Quando você cria um ambiente com a AMI personalizada, deve usar a mesma versão da plataforma usada como base para criar a AMI.
Gerenciar um ambiente com uma AMI personalizada
Atualizações da plataforma
Ao usar uma AMI personalizada, o Elastic Beanstalk continuará a usar a mesma AMI personalizada em um ambiente quando sua versão da plataforma for atualizada, independentemente de a atualização ser aplicada manualmente ou por meio de atualizações de plataformas gerenciadas. O ambiente não será redefinido para usar a AMI padrão da nova versão da plataforma.
Recomendamos criar uma nova AMI personalizada com base na AMI padrão da nova versão da plataforma. Isso aplicará os patches disponíveis na nova versão da plataforma e também minimizará as falhas de implementação devido a versões incompatíveis de pacotes ou bibliotecas.
Para obter mais informações sobre a criação de uma nova AMI personalizada, consulte o Criar uma AMI do personalizada anteriormente neste tópico.
Remover uma AMI personalizada
Para remover uma AMI personalizada de um ambiente e redefini-la para usar a AMI padrão da versão da plataforma do ambiente, use o seguinte comando da CLI.
aws elasticbeanstalk update-environment \ --application-name
my-application
\ --environment-namemy-environment
\ --regionus-east-1
\ --options-to-remove Namespace=aws:autoscaling:launchconfiguration,OptionName=ImageId
nota
Para evitar a interrupção do serviço, teste sua aplicação com uma AMI fixa antes de aplicar essa alteração ao seu ambiente de produção.
Limpeza de uma AMI personalizada
Quando tiver concluído com uma AMI personalizada e não precisar mais dela para iniciar ambientes do Elastic Beanstalk, considere limpá-la para minimizar o custo de armazenamento. A limpeza de uma AMI personalizada envolve o cancelamento de seu registro no Amazon EC2 e a exclusão de outros recursos associados. Para obter detalhes, consulte Cancelar o registro da AMI do Linux ou Cancelar o registro da AMI do Windows.