Referência às AMIs usando parâmetros do Systems Manager
Quando você inicia uma instância usando o assistente de inicialização de instâncias do EC2 no console do Amazon EC2, pode selecionar uma AMI da lista ou selecionar um parâmetro do AWS Systems Manager que aponta para um ID de 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.
Tópicos
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.
Os nomes dos parâmetros diferenciam maiúsculas de 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.
Executar uma instância usando um parâmetro de Systems Manager
Quando você inicia uma instância, em vez de especificar um ID de AMI, pode especificar um parâmetro do Systems Manager que aponta para um ID de AMI.
Para especificar o parâmetro no programa, use a sintaxe a seguir, onde resolve:ssm
é o prefixo padrão e parameter-name
é o nome exclusivo do parâmetro.
resolve:ssm:
parameter-name
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 como se segue, onde version
é o número exclusivo da versão. Por padrão, a versão mais recente do parâmetro é usada quando nenhuma versão é especificada.
resolve:ssm:
parameter-name
:version
Para iniciar uma instância usando um parâmetro público fornecido pela AWS, consulte Referência às AMIs mais recentes usando parâmetros públicos do Systems Manager.