Encontrar uma AMI que atenda aos requisitos da instância do EC2 - Amazon Elastic Compute Cloud

Encontrar uma AMI que atenda aos requisitos da instância do EC2

Uma AMI inclui os componentes e as aplicações, como o sistema operacional e o tipo de volume raiz, necessários para iniciar uma instância. Para executar uma instância, você precisa encontrar uma AMI atenda às suas necessidades.

Ao selecionar uma AMI, considere os seguintes requisitos que você pode ter para as instâncias que deseja iniciar:

  • A região da AWS da AMI já que os IDs da AMI são exclusivos de cada região.

  • O sistema operacional (por exemplo, Linux ou Windows).

  • A arquitetura (por exemplo, 32 bits, 64 bits ou ARM de 64 bits).

  • O tipo de dispositivo raiz (por exemplo, Amazon EBS ou armazenamento de instância).

  • O provedor (por exemplo, Amazon Web Services).

  • Software adicional (por exemplo, SQL Server).

Para encontrar uma AMI do Amazon Linux 2023, consulte AL2023 on Amazon EC2 no Guia do usuário do Amazon Linux 2023.

Para encontrar uma AMI do Ubuntu, consulte Amazon EC2 AMI Locator no site Canonical Ubuntu.

Para encontrar uma AMI do RHEL, consulte Red Hat Enterprise Linux Images (AMI) Available on Amazon Web Services (AWS) no site da Red Hat.

Existem várias maneiras de encontrar uma AMI que atenda às suas necessidades. Você pode encontrar AMIs usando o console do Amazon EC2, a AWS CLI, o AWS Tools for Windows PowerShell e o AWS Systems Manager.

É possível encontrar AMIs usando o console do Amazon EC2. É possível selecionar na lista de AMIs ao usar o assistente de inicialização de instância para iniciar a instância ou pesquisar todas as AMIs disponíveis usando a página Images (Imagens).

Para encontrar uma AMI usando o assistente de inicialização de instâncias
  1. Abra o console do Amazon EC2 em https://console.aws.amazon.com/ec2/.

  2. Na barra de navegação, selecione a região na qual executar as instâncias. Selecione qualquer região que estiver disponível para você, independentemente do seu local. Os IDs da AMI são exclusivos de cada região da AWS.

  3. No painel do console, selecione Launch instance (Executar instância).

  4. (Novo console) Em Application and OS Images (Amazon Machine Image) (Imagens de aplicações e SO [imagem de máquina da Amazon]), escolha Quick Start (Início rápido), escolha o sistema operacional (SO) para sua instância e, em Amazon Machine Image (AMI) (Imagem de máquina da Amazon [AMI]), selecione uma das AMIs mais usadas na lista. Caso não veja a AMI que deseja usar, escolha Browse more AMIs (Pesquisar mais AMIs) para navegar pelo catálogo completo de AMIs. Para ter mais informações, consulte Imagens de aplicações e sistemas operacionais (imagem de máquina da Amazon).

    (Console antigo) Na guia Quick Start (Início rápido), selecione uma das AMIs mais usadas na lista. Se não encontrar a AMI que deseja usar, escolha a guia Minhas AMIs, AWS Marketplace ou AMIs da comunidade para localizar outras AMIs.

Para encontrar uma AMI usando a página de AMIs
  1. Abra o console do Amazon EC2 em https://console.aws.amazon.com/ec2/.

  2. Na barra de navegação, selecione a região na qual executar as instâncias. Selecione qualquer região que estiver disponível para você, independentemente do seu local. Os IDs da AMI são exclusivos de cada região da AWS.

  3. No painel de navegação, selecione AMIs.

  4. (Opcional) Use as opções de filtro e pesquisa para restringir o escopo da lista de AMIs exibidas e ver somente as AMIs correspondentes ao seu critério.

    Por exemplo, para listar todas as AMIs fornecidas pela AWS, escolha Imagens públicas. Em seguida, use as opções de pesquisa para aumentar o escopo da lista de AMIs exibidas. Escolha a barra de Pesquisa e, no menu, escolha Owner alias (Alias do proprietário), depois o operador = e, em seguida, o valor amazon. Para encontrar AMIs que correspondam a uma plataforma específica, por exemplo, Linux ou Windows, escolha novamente a barra Pesquisar para escolher Plataforma, depois o operador = e, em seguida, o sistema operacional na lista fornecida.

  5. (Opcional) Escolha o ícone de Preferências para selecionar quais atributos de imagens serão exibidos, como o tipo de dispositivo raiz. Como alternativa, é possível selecionar uma AMI na lista e visualizar suas propriedades na guia Details (Detalhes).

  6. Antes de selecionar uma AMI, é importante que você verifique se ela é baseada em um armazenamento de instâncias ou no Amazon EBS e se você está ciente dos efeitos dessa diferença. Para ter mais informações, consulte Tipo de dispositivo raiz.

  7. Para iniciar uma instância a partir dessa AMI, selecione-a e escolha Iniciar instância a partir da imagem. Para obter informações sobre como iniciar uma instância usando o console, consulte Executar uma instância do EC2 usando o assistente de inicialização de instâncias no console. Se você não estiver pronto para executar a instância agora, anote o ID da AMI para consultar depois.

É possível usar o comando describe-images da AWS CLI para listar somente as AMIs que atendem aos seus requisitos. Depois de localizar uma AMI que corresponda às suas necessidades, anote o ID de forma que você possa usá-lo para iniciar instâncias. Para obter mais informações, consulte Iniciar instância no Guia do usuário da AWS Command Line Interface.

O comando describe-images oferece suporte à filtragem de parâmetros. Por exemplo, use o parâmetro --owners para exibir AMIs públicas de propriedade da Amazon.

aws ec2 describe-images --owners amazon

É possível adicionar o seguinte filtro ao comando anterior para exibir somente AMIs do Windows.

--filters "Name=platform,Values=windows"

É possível adicionar o seguinte filtro ao comando anterior para exibir somente AMIs compatíveis com o Amazon EBS.

--filters "Name=root-device-type,Values=ebs"
Importante

Se você omitir o parâmetro --owners do comando describe-images, serão retornadas todas as imagens para as quais você tem permissões de inicialização, independentemente da propriedade.

É possível usar cmdlets do PowerShell para listar somente as AMIs do Windows que atendem aos seus requisitos. Para obter informações e exemplos, consulte Find an Amazon Machine Image Using Windows PowerShell no Guia do usuário do AWS Tools for Windows PowerShell.

Depois de localizar uma AMI que corresponda às suas necessidades, anote o ID de forma que você possa usá-lo para iniciar instâncias. Para obter mais informações, consulte Launch an Amazon EC2 Instance Using Windows PowerShell no Guia do usuário do AWS Tools for Windows PowerShell.

Ao iniciar uma instância usando o assistente de inicialização de instâncias do EC2 no console do Amazon EC2, é possível selecionar uma AMI na lista (descrita em Encontrar uma AMI usando o console do Amazon EC2) ou selecionar um parâmetro do AWS Systems Manager que aponte para um ID da AMI (descrito nesta seção). Se usar o código de automação para executar as instâncias, será possível especificar o parâmetro do Systems Manager em vez do ID de AMI.

Um parâmetro do Systems Manager é um par de chave-valor definido pelo cliente que pode ser criado no repositório de parâmetros do Systems Manager. O repositório de parâmetros fornece um armazenamento central para externalizar os valores de configuração da aplicação. Para obter mais informações, consulte o Parameter Store do AWS Systems Manager no Guia do usuário do AWS Systems Manager.

Ao criar um parâmetro que aponte para um ID de AMI, especifique o tipo de dado como aws:ec2:image. Especificar esse tipo de dado garante que, quando o parâmetro for criado, modificado ou validado, o valor dele será validado como um ID da AMI. Para obter mais informações, consulte Suporte a parâmetro nativo para IDs de imagem de máquina da Amazon no Guia do usuário do AWS Systems Manager.

Casos de uso

Ao usar os parâmetros do Systems Manager para apontar para IDs de AMI, é mais fácil para os usuários selecionar a AMI correta ao iniciar instâncias. Os parâmetros do Systems Manager também podem simplificar a manutenção do código de automação.

Mais fácil para os usuários

Se você precisar que as instâncias sejam iniciadas usando uma AMI específica, e se essa AMI for atualizada regularmente, recomendamos que você exija que os usuários selecionem um parâmetro do Systems Manager para localizar a AMI. Exigir que os usuários selecionem um parâmetro do Systems Manager garante que a AMI mais recente seja usada para iniciar instâncias.

Por exemplo, todo mês é possível criar em sua organização uma versão da AMI que tenha os patches mais recentes do sistema operacional e da aplicação. Além disso, exija que os usuários executem instâncias usando a versão mais recente da AMI. Para garantir que os usuários usem a versão mais recente, é possível criar um parâmetro do Systems Manager (por exemplo, golden-ami) que aponte para o ID da AMI correta. Toda vez que uma versão da AMI é criada, você atualiza o valor do ID de AMI no parâmetro para que ele sempre aponte para a AMI mais recente. Os usuários não precisam saber sobre as atualizações periódicas da AMI, porque eles continuarão selecionando sempre o mesmo parâmetro do Systems Manager todas as vezes. Usando um parâmetro do Systems Manager para a AMI, você facilita a seleção da AMI correta para uma inicialização da instância.

Simplificar a manutenção do código de automação

Se usar o código de automação para executar as instâncias, será possível especificar o parâmetro do Systems Manager em vez do ID de AMI. Se uma versão da AMI for criada, altere o valor do ID da AMI no parâmetro para que ele aponte para a AMI mais recente. O código de automação que faz referência ao parâmetro não precisa ser modificado toda vez que uma versão da AMI for criada. Isso simplifica a manutenção da automação e ajuda a reduzir os custos de implantação.

nota

As instâncias em execução não são afetadas quando você altera o ID da AMI para o qual o parâmetro do Systems Manager aponta.

Permissões

Se você usar parâmetros do Systems Manager que direcionem para IDs de AMI no assistente de inicialização de instâncias, deverá adicionar as seguintes permissões à política do IAM:

  • ssm:DescribeParameters: concede permissão para visualizar e selecionar os parâmetros do Systems Manager.

  • ssm:GetParameters: concede permissão para recuperar os valores dos parâmetros do Systems Manager.

Também é possível restringir o acesso a parâmetros específicos do Systems Manager. Para obter mais informações e exemplos de políticas do IAM, consulte Exemplo: uso do assistente de início de instância do EC2.

Limitações

As AMIs e os parâmetros do Systems Manager são específicos da região. Para usar o mesmo nome de parâmetro do Systems Manager entre regiões, crie um parâmetro do Systems Manager em cada região com o mesmo nome (por exemplo, golden-ami). Em cada região, aponte o parâmetro do Systems Manager para uma AMI nessa região.

Executar uma instância usando um parâmetro de Systems Manager

É possível executar uma instância usando o console ou a AWS CLI. Em vez de especificar um ID de AMI, é possível especificar um parâmetro do AWS Systems Manager que aponte para um ID de AMI.

New console
Para encontrar uma AMI usando um parâmetro do Systems Manager (console)
  1. Abra o console do Amazon EC2 em https://console.aws.amazon.com/ec2/.

  2. Na barra de navegação, selecione a região na qual executar as instâncias. Selecione qualquer região que estiver disponível para você, independentemente do seu local.

  3. No painel do console, selecione Launch instance (Executar instância).

  4. Em Application and OS Images (Amazon Machine Image) (Imagens de aplicações e sistemas operacionais [imagem de máquina da Amazon]), escolha Browse more AMIs (Procurar mais AMIs).

  5. Escolha o botão de seta à direita da barra de pesquisa e escolha Search by Systems Manager parameter (Pesquisar por parâmetro do Systems Manager).

  6. Em Systems Manager parameter (Parâmetro do Systems Manager), selecione um parâmetro. O ID da AMI correspondente é exibido abaixo de Currently resolves to (Resolve atualmente para).

  7. Escolha Pesquisar. As AMIs correspondentes ao ID da AMI são exibidas na lista.

  8. Selecione a AMI na lista e escolha Select (Selecionar).

Para obter mais informações sobre como iniciar uma instância usando o assistente de inicialização de instância, consulte Executar uma instância do EC2 usando o assistente de inicialização de instâncias no console.

Old console
Para encontrar uma AMI usando um parâmetro do Systems Manager (console)
  1. Abra o console do Amazon EC2 em https://console.aws.amazon.com/ec2/.

  2. Na barra de navegação, selecione a região na qual executar as instâncias. Selecione qualquer região que estiver disponível para você, independentemente do seu local.

  3. No painel do console, selecione Launch instance (Executar instância).

  4. Escolha Search by Systems Manager parameter (Pesquisar por parâmetro do Systems Manager) (no canto superior direito).

  5. Em Systems Manager parameter (Parâmetro do Systems Manager), selecione um parâmetro. O ID da AMI correspondente é exibido ao lado de Currently resolves to (Resolve atualmente para).

  6. Escolha Pesquisar. As AMIs correspondentes ao ID da AMI são exibidas na lista.

  7. Selecione a AMI na lista e escolha Select (Selecionar).

Como executar uma instância usando um parâmetro do AWS Systems Manager em vez de um ID da AMI (AWS CLI)

O exemplo a seguir usa o parâmetro do Systems Manager golden-ami para executar uma instância m5.xlarge. O parâmetro aponta para um ID de AMI.

Para especificar o parâmetro no comando, use a seguinte sintaxe: resolve:ssm:/parameter-name, onde resolve:ssm é o prefixo padrão e parameter-name é o nome do parâmetro exclusivo. Observe que o nome do parâmetro faz distinção entre maiúsculas e minúsculas. As barras invertidas para o nome do parâmetro só são necessárias quando o parâmetro faz parte de uma hierarquia, por exemplo, /amis/production/golden-ami. Será possível omitir a barra invertida se o parâmetro não fizer parte de uma hierarquia.

No exemplo, os parâmetros --count e --security-group não são incluídos. Para --count, o padrão é 1. Se você tiver uma VPC e um grupo de segurança padrão, eles serão usados.

aws ec2 run-instances --image-id resolve:ssm:/golden-ami --instance-type m5.xlarge ...
Como executar uma instância usando uma versão específica de um parâmetro do AWS Systems Manager (AWS CLI)

Os parâmetros do Systems Manager são compatíveis com versão. Cada iteração de um parâmetro recebe um número de versão exclusivo. É possível referenciar a versão do parâmetro da seguinte forma resolve:ssm:parameter-name:version, onde version é o número de versão exclusivo. Por padrão, a versão mais recente do parâmetro é usada quando nenhuma versão é especificada.

O exemplo a seguir usa a versão 2 do parâmetro.

No exemplo, os parâmetros --count e --security-group não são incluídos. Para --count, o padrão é 1. Se você tiver uma VPC e um grupo de segurança padrão, eles serão usados.

aws ec2 run-instances --image-id resolve:ssm:/golden-ami:2 --instance-type m5.xlarge ...
Como executar uma instância usando um parâmetro público fornecido pela AWS

O Systems Manager fornece parâmetros públicos para as AMIs públicas fornecidas pela AWS. É possível usar os parâmetros públicos ao iniciar instâncias para garantir que está usando as AMIs mais recentes.

Para ter mais informações, consulte Encontrar as AMIs mais recentes usando um parâmetro público do Systems Manager.

O AWS Systems Manager fornece parâmetros públicos para as AMIs públicas mantidas pela AWS. É possível usar os parâmetros públicos ao iniciar instâncias para garantir que está usando as AMIs mais recentes. Por exemplo, o parâmetro público /aws/service/ami-amazon-linux-latest/al2023-ami-kernel-default-arm64 está disponível em todas as regiões e sempre direciona para a versão mais recente da AMI do Amazon Linux 2023 para a arquitetura de arm64 em uma determinada região.

Os parâmetros públicos estão disponíveis ao usar os seguintes caminhos:

  • Linux: /aws/service/ami-amazon-linux-latest

  • Windows: /aws/service/ami-windows-latest

Para visualizar uma lista de todas as AMIs do Linux ou do Windows na região atual da AWS

Use o comando get-parameters-by-path da AWS CLI, apresentado a seguir para visualizar uma lista de todas as AMIs do Linux ou do Windows na região atual da AWS. O valor para o parâmetro --path é diferente para o Linux e para o Windows.

Para Linux:

aws ssm get-parameters-by-path \ --path /aws/service/ami-amazon-linux-latest \ --query "Parameters[].Name"

Para Windows:

aws ssm get-parameters-by-path \ --path /aws/service/ami-windows-latest \ --query "Parameters[].Name"
Como executar uma instância usando um parâmetro público

O exemplo apresentado a seguir especifica um parâmetro público do Systems Manager para o ID da imagem com a finalidade de iniciar uma instância usando a AMI do Amazon Linux 2023 mais recente.

Para especificar o parâmetro no comando, use a seguinte sintaxe: resolve:ssm:public-parameter, onde resolve:ssm é o prefixo padrão e public-parameter é o caminho e o nome do parâmetro público.

No exemplo, os parâmetros --count e --security-group não são incluídos. Para --count, o padrão é 1. Se você tiver uma VPC e um grupo de segurança padrão, eles serão usados.

aws ec2 run-instances \ --image-id resolve:ssm:/aws/service/ami-amazon-linux-latest/al2023-ami-kernel-default-x86_64 \ --instance-type m5.xlarge \ --key-name MyKeyPair

Para obter mais informações, consulte Trabalhar com parâmetros públicos no Guia do usuário do AWS Systems Manager

Para obter exemplos que usam parâmetros do Systems Manager, consulte Query for the latest Amazon Linux AMI IDs Using AWS Systems Manager Parameter Store e Query for the Latest Windows AMI Using AWS Systems Manager Parameter Store.