Usar parâmetros do AWS Systems Manager em vez de IDs de AMI em modelos de execução
Esta seção mostra como criar um modelo de execução que especifica um parâmetro da AWS Systems Manager que faz referência a um ID de imagem de máquina da Amazon (AMI). Você pode usar um parâmetro armazenado em sua própria Conta da AWS, um parâmetro compartilhado de outra Conta da AWS ou um parâmetro público para uma AMI pública mantida por pela AWS.
Com os parâmetros do Systems Manager, é possível atualizar grupos do Auto Scaling para usar novos IDs de AMI sem precisar criar novos modelos de execução ou novas versões dos modelos de execução sempre que um ID de AMI for alterado. Esses IDs podem ser alterados regularmente, como quando uma AMI recebe as atualizações de sistema operacional ou de software mais recentes.
Você pode criar, atualizar ou excluir parâmetros do Systems Manager usando o Parameter Store, um recurso do AWS Systems Manager. É necessário criar um parâmetro do Systems Manager para usá-lo em um modelo de execução. Para começar, você pode criar um parâmetro com o tipo de dados aws:ec2:image e, no valor, inserir o ID de uma AMI. O ID de AMI tem o formato ami-, por exemplo, <identifier>ami-123example456. O ID de AMI correto depende do tipo de instância e da Região da AWS na qual você está iniciando o grupo do Auto Scaling.
Para obter mais informações sobre como criar um parâmetro válido para um ID de AMI, consulte Crie um parâmetro do Systems Manager.
Criar um modelo de execução que especifique um parâmetro para a AMI
Para criar um modelo de execução que especifique um parâmetro para a AMI, use um dos métodos a seguir:
Para especificar um parâmetro do Parameter Store em um modelo de execução, é necessário ter a permissão da ssm:GetParameters para o parâmetro especificado. Qualquer pessoa que use o modelo de execução também precisa da permissão da ssm:GetParameters para que o valor do parâmetro seja validado. Para obter exemplos de políticas do IAM, consulte Restringir o acesso a parâmetros do Systems Manager usando políticas do IAM no Guia do usuário do AWS Systems Manager.
Verifique se um modelo de execução obtém o ID da AMI correto
Use o comando describe-launch-template-versions--resolve-alias para resolver o parâmetro com a ID AMI real.
aws ec2 describe-launch-template-versions --launch-template-namemy-template-for-auto-scaling\ --versions1--resolve-alias
O exemplo retorna o ID de AMI para ImageId. Quando uma instância é iniciada usando esse modelo de execução, o ID de AMI é resolvido para ami-0ac394d6a3example.
{
"LaunchTemplateVersions": [
{
"LaunchTemplateId": "lt-089c023a30example",
"LaunchTemplateName": "my-template-for-auto-scaling",
"VersionNumber": 1,
"CreateTime": "2022-12-28T19:52:27.000Z",
"CreatedBy": "arn:aws:iam::123456789012:user/Bob",
"DefaultVersion": true,
"LaunchTemplateData": {
"ImageId": "ami-0ac394d6a3example",
"InstanceType": "t2.micro",
}
}
]
}
Recursos relacionados
Para mais detalhes sobre como especificar um parâmetro do Systems Manager no seu modelo de inicialização, consulte Usar um parâmetro do Systems Manager em vez de um ID de AMI no Guia do Usuário do Amazon EC2.
Para obter mais informações sobre como trabalhar com os parâmetros do Systems Manager, consulte os materiais de referência apresentados a seguir na documentação do Systems Manager.
-
Para criar versões e rótulos de parâmetros, consulte Como trabalhar com versões de parâmetros e Trabalhar com rótulos de parâmetros
-
Para obter informações sobre como pesquisar os parâmetros públicos da AMI com suporte para o Amazon EC2, consulte Calling AMI public parameters.
-
Para obter informações sobre como compartilhar os parâmetros com outras contas da AWS ou por meio do AWS Organizations, consulte Working with shared parameters.
-
Para obter informações sobre como monitorar se os parâmetros foram criados com êxito, consulte Native parameter support for Amazon Machine Image IDs.
Limitações
Ao trabalhar com parâmetros do Systems Manager, observe as seguintes limitações:
-
O Amazon EC2 Auto Scaling é compatível apenas com a especificação de IDs de AMI como parâmetros.
-
Não há suporte para a criação ou atualização de grupos de instâncias mistas com seleção de tipo de instância baseada em atributos usando um modelo de execução que especifique um parâmetro do Systems Manager.
-
Se o seu grupo do Auto Scaling usar um modelo de execução que especifique um parâmetro do Systems Manager, você não poderá iniciar uma atualização de instância com uma configuração desejada ou usando a correspondência de saltos.
-
Se o seu grupo do Auto Scaling usar um modelo de execução que especifique um parâmetro do Systems Manager, não haverá suporte a grupos de alta atividade.
-
Em cada chamada para criar ou atualizar seu grupo do Auto Scaling, o Amazon EC2 Auto Scaling resolverá o parâmetro do Systems Manager no modelo de execução. Se você usar parâmetros avançados ou limites de throughput mais altos, as chamadas frequentes ao Parameter Store (ou seja, a operação
GetParameters) poderão aumentar os custos do Systems Manager, pois as cobranças são realizadas por interação com a API do Parameter Store. Para obter mais informações, consulte Definição de preçoAWS Systems Manager.