Como usar o suporte a parâmetros nativos no Parameter Store para IDs de imagem de máquina da Amazon
Ao criar um parâmetro String
, você pode especificar um tipo de dado, como aws:ec2:image
, para garantir que o valor do parâmetro inserido seja um formato válido de ID da Amazon Machine Image (AMI).
O suporte para formatos de ID de AMI permite que você evite atualizar todos os scripts e modelos com um novo ID sempre que a AMI que deseja usar em seus processos for alterada. Você pode criar um parâmetro com o tipo de dados aws:ec2:image
e, em seu valor, inserir o ID de uma AMI. Esta é a AMI a partir da qual você deseja que novas instâncias sejam criadas. Depois, você faz referência a esse parâmetro em seus modelos, comandos e scripts.
Por exemplo, é possível especificar o parâmetro que contém o ID da AMI de sua preferência, quando você executar o comando run-instances
do Amazon Elastic Compute Cloud (Amazon EC2).
nota
O usuário que executa esse comando deve ter permissões do AWS Identity and Access Management (IAM) que incluam a operação da API ssm:GetParameters
para que o valor do parâmetro seja validado. Caso contrário, o processo de criação do parâmetro falhará.
Você também pode escolher a AMI preferida ao criar uma instância usando o console do Amazon EC2. Para obter mais informações, consulte Usar um parâmetro do Systems Manager para localizar uma AMI no Guia do usuário do Amazon EC2.
Quando chegar a hora de usar uma AMI diferente em seu fluxo de trabalho de criação de instância, você só precisará atualizar o parâmetro com o novo valor da AMI, e o Parameter Store validará novamente que você inseriu um ID no formato adequado.
Conceder permissões para criar um parâmetro do tipo de dados aws:ec2:image
Usando políticas do AWS Identity and Access Management (IAM), você pode fornecer ou restringir o acesso do usuário a operações e conteúdos da API do Parameter Store.
Para criar um parâmetro de tipo de dados aws:ec2:image
, o usuário deve ter ambas as permissões ssm:PutParameter
e ec2:DescribeImages
.
O exemplo de política a seguir concede permissão aos usuários para chamar oPutParameter
Operação da API paraaws:ec2:image
. Isso significa que o usuário pode adicionar um parâmetro do tipo de dadosaws:ec2:image
Para o sistema.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "ssm:PutParameter", "Resource": "*" }, { "Effect": "Allow", "Action": "ec2:DescribeImages", "Resource": "*" } ] }
Como funciona a validação de formato da AMI
Quando você especifica aws:ec2:image
como o tipo de dados para um parâmetro, o Systems Manager não cria o parâmetro imediatamente. Em vez disso, ele executa uma operação de validação assíncrona para garantir que o valor do parâmetro atenda aos requisitos de formatação para um ID de AMI e que a AMI especificada esteja disponível em sua Conta da AWS.
Um número de versão de parâmetro pode ser gerado antes que a operação de validação seja concluída. A operação pode não estar concluída mesmo que um número de versão do parâmetro seja gerado.
Para monitorar se seus parâmetros foram criados com êxito, recomendamos usar o Amazon EventBridge para enviar notificações sobre as operações dos parâmetros create
e update
. Essas notificações relatam se uma operação de parâmetro foi bem-sucedida ou não. Se uma operação falhar, a notificação incluirá uma mensagem de erro que indica o motivo da falha.
{ "version": "0", "id": "eed4a719-0fa4-6a49-80d8-8ac65EXAMPLE", "detail-type": "Parameter Store Change", "source": "aws.ssm", "account": "111122223333", "time": "2020-05-26T22:04:42Z", "region": "us-east-2", "resources": [ "arn:aws:ssm:us-east-2:111122223333:parameter/golden-ami" ], "detail": { "exception": "Unable to Describe Resource", "dataType": "aws:ec2:image", "name": "golden-ami", "type": "String", "operation": "Create" } }
Para obter informações sobre como se inscrever em eventos do Parameter Store no EventBridge, consulte Configurar notificações ou acionar ações com base nos eventos do Parameter Store.