Localizar uma Linux AMI - Amazon Elastic Compute Cloud

Localizar uma Linux AMI

Antes de executar uma instância, você deve selecionar AMIs para usar. Ao selecionar a AMI, considere os seguintes requisitos que podem existir para as instâncias que você executará:

  • A região

  • O sistema operacional

  • A arquitetura: 32 bits (i386), 64 bits (x86_64) ou ARM de 64 bits (arm64)

  • O tipo de dispositivo raiz: Amazon EBS ou armazenamento de instâncias

  • O provedor (por exemplo, Amazon Web Services)

  • Software adicional (por exemplo, SQL Server)

Se você precisar localizar uma AMI do Windows, consulte Find a Windows AMI (Localizar AMI do Windows) no Guia do usuário do Amazon EC2 para instâncias do Windows.

Localizar uma Linux AMI usando o Amazon EC2 console

É possível localizar AMIs do Linux usando o console do Amazon EC2. Você pode selecionar na lista de AMIs ao usar o assistente de execução para executar uma instância ou pesquisar todas as AMIs disponíveis usando a página Images (Imagens). Os IDs da AMI são exclusivos de cada região da AWS.

Como localizar uma AMI do Linux usando o assistente de execução

  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. Na guia Quick Start (Início rápido), selecione uma das AMIs mais usadas na lista. Se você não encontrar a AMI necessária, selecione a guia My AMIs (Minhas AMIs), AWS Marketplace ou Community AMIs (AMIs da comunidade) para localizar AMIs adicionais. Para obter mais informações, consulte Etapa 1: Escolher uma imagem de máquina da Amazon (AMI).

Para localizar uma AMI do Linux usando a página Images

  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 de navegação, selecione AMIs.

  4. (Opcional) Use as opções de Filter para restringir o escopo da lista de AMIs exibidas e ver somente as AMIs que lhe interessam. Por exemplo, para listar todas as AMIs do Linux fornecidas pela AWS, selecione Public images (Imagens públicas). Escolha a barra de pesquisa e selecione Owner no menu, depois selecione Amazon images. Escolha a barra de pesquisa novamente para selecionar Platform e, depois, o sistema operacional na lista fornecida.

  5. (Opcional) Escolha o ícone Show/Hide Columns para selecionar quais atributos de imagens serão exibidos, como o tipo de dispositivo raiz. Como alternativa, você pode selecionar uma AMI na lista e visualizar suas propriedades na guia Details.

  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 mais informações, consulte o Armazenamento para o dispositivo raiz.

  7. Para executar uma instância dessa AMI, selecione-a e escolha Launch. Para obter mais informações sobre como executar uma instância usando o console, consulte Execução da instância de uma AMI. Se você não estiver pronto para executar a instância agora, anote o ID da AMI para consultar depois.

Localizar uma AMI usando o AWS CLI

Você pode usar comandos da AWS CLI do Amazon EC2 para listar somente as AMIs do Linux que atendam às necessidades. Depois de localizar uma AMI que atenda às necessidades, anote o ID de maneira que você possa usá-la para executar instâncias. Para obter mais informações, consulte Execução de uma instância usando a AWS CLI no Guia do usuário do 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 self amazon

Você pode 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

Omitir o sinalizador --owners no comando describe-images retornará todas as imagens para as quais você tem permissões de execução, independentemente da propriedade.

Encontre a AMI mais recente Amazon Linux usando Systems Manager

O Amazon EC2 fornece parâmetros públicos do AWS Systems Manager para AMIs públicas mantidas pela AWS que podem ser usados ao executar instâncias. Por exemplo, o parâmetro /aws/service/ami-amazon-linux-latest/amzn2-ami-hvm-x86_64-gp2 fornecido pelo EC2 está disponível em todas as regiões e sempre aponta para a versão mais recente da AMI do Amazon Linux 2 em uma região.

Os parâmetros públicos de AMI do Amazon EC2 estão disponíveis nos seguintes caminhos:

/aws/service/ami-amazon-linux-latest

Você pode visualizar uma lista de todas as AMIs do Linux na região da AWS atual usando o seguinte comando na CLI da AWS.

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

Como executar uma instância usando um parâmetro público

O exemplo a seguir usa o parâmetro público fornecido pelo EC2 para executar uma instância m5.xlarge usando a AMI do Amazon Linux 2 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/amzn2-ami-hvm-x86_64-gp2 --instance-type m5.xlarge --key-name MyKeyPair

Para obter mais informações, consulte Usar parâmetros públicos no Guia do usuário do AWS Systems Manager e Consultar os IDs de AMI do Amazon Linux mais recentes usando o repositório de parâmetros do AWS Systems Manager.

Use um parâmetro de Systems Manager para localizar uma AMI

Ao executar uma instância usando o assistente de execução do EC2 no console, você pode selecionar uma AMI na lista ou selecionar um parâmetro do AWS Systems Manager que aponte para um ID de AMI. Se usar o código de automação para executar as instâncias, você poderá 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 do aplicativo. Para obter mais informações, consulte Repositório de parâmetros do Systems Manager da AWS, 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. Esse tipo de dado garante que o valor do parâmetro seja validado como ID da AMI ao ser criado ou modificado. 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 de modo a apontar para IDs de AMI, é possível facilitar, para os usuários, a seleção da AMI correta ao executar instâncias, e 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 executadas 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. Ao exigir que os usuários selecionem um parâmetro do Systems Manager, é possível garantir que a AMI mais recente seja usada para executar instâncias.

Por exemplo, todo mês você pode criar em sua organização uma versão da AMI que tenha os patches mais recentes do sistema operacional e do aplicativo. 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, você pode 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. Ao fazer com que os usuários selecionem um parâmetro do Systems Manager, você facilita a seleção da AMI correta para uma execuçã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, você poderá 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 de 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 é criada. Isso simplifica muito 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.

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

Você pode executar uma instância usando o console ou a AWS CLI. Em vez de especificar um ID de AMI, você pode especificar um parâmetro do AWS Systems Manager que aponte para um ID de AMI.

Como localizar uma AMI do Linux 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).

Para obter mais informações sobre como executar uma instância a partir de uma AMI usando o assistente de execução, consulte Etapa 1: Escolher uma imagem de máquina da Amazon (AMI).

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. Você pode 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 Amazon EC2 fornece parâmetros públicos do Systems Manager para AMIs públicas fornecidas pela AWS. Por exemplo, o parâmetro público /aws/service/ami-amazon-linux-latest/amzn2-ami-hvm-x86_64-gp2 está disponível em todas as regiões e sempre aponta para a versão mais recente da AMI do Amazon Linux 2 na região.

aws ec2 run-instances --image-id resolve:ssm:/aws/service/ami-amazon-linux-latest/amzn2-ami-hvm-x86_64-gp2 --instance-type m5.xlarge ...

Permissões

Se usar parâmetros do Systems Manager que apontem para IDs de AMI no assistente de execução de instância, você deve adicionar ssm:DescribeParameters e ssm:GetParameters à política do IAM. ssm:DescribeParameters concede aos usuários do IAM permissão para visualizar e selecionar parâmetros do Systems Manager. ssm:GetParameters concede aos usuários do IAM a permissão para obter 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, consulte Usar o assistente de execução 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.

Localizar uma AMI de início rápido

Ao executar uma instância usando o console do Amazon EC2, a página Choose an Amazon Machine Image (AMI) (Escolher uma Imagem de máquina da Amazon (AMI)) inclui uma lista de AMIs populares na guia Quick Start (Início rápido). Se você deseja automatizar a execução de uma instância usando uma dessas AMIs de início rápido, é necessário localizar de maneira programática o ID da versão atual da AMI.

Para localizar a versão atual de uma AMI de início rápido, você pode enumerar todas as AMIs com o seu nome e localizar a AMI com a data de criação mais recente.

exemplo Exemplo: encontrar a AMI do Amazon Linux 2 atual

aws ec2 describe-images \ --owners amazon \ --filters "Name=name,Values=amzn2-ami-hvm-2.0.????????.?-x86_64-gp2" "Name=state,Values=available" \ --query "reverse(sort_by(Images, &CreationDate))[:1].ImageId" \ --output text

exemplo Exemplo: encontrar a AMI do Amazon Linux atual

aws ec2 describe-images \ --owners amazon \ --filters "Name=name,Values=amzn-ami-hvm-????.??.?.????????-x86_64-gp2" "Name=state,Values=available" \ --query "reverse(sort_by(Images, &CreationDate))[:1].ImageId" \ --output text

exemplo Exemplo: encontrar a AMI do Ubuntu Server 16.04 LTS atual

aws ec2 describe-images \ --owners 099720109477 \ --filters "Name=name,Values=ubuntu/images/hvm-ssd/ubuntu-xenial-16.04-amd64-server-????????" "Name=state,Values=available" \ --query "reverse(sort_by(Images, &CreationDate))[:1].ImageId" \ --output text

exemplo Exemplo: encontrar a AMI do Red Hat Enterprise Linux 7.5 atual

aws ec2 describe-images \ --owners 309956199498 \ --filters "Name=name,Values=RHEL-7.5_HVM_GA*" "Name=state,Values=available" \ --query "reverse(sort_by(Images, &CreationDate))[:1].ImageId" \ --output text

exemplo Exemplo: encontrar a AMI do SUSE Linux Enterprise Server 15 atual

aws ec2 describe-images \ --owners amazon \ --filters "Name=name,Values=suse-sles-15-v????????-hvm-ssd-x86_64" "Name=state,Values=available" \ --query "reverse(sort_by(Images, &CreationDate))[:1].ImageId" \ --output text