

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Use AWS Systems Manager parâmetros em vez de AMI IDs em modelos de lançamento
<a name="using-systems-manager-parameters"></a>

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 no mesmo Conta da AWS, um parâmetro compartilhado de outro Conta da AWS ou um parâmetro público para uma AMI pública mantida pela AWS.

Com os parâmetros do Systems Manager, você pode atualizar seus grupos de Auto Scaling para usar a nova AMI IDs sem precisar criar novos modelos de execução ou novas versões dos modelos de execução sempre que uma ID de AMI for alterada. Eles IDs podem mudar regularmente, como quando uma AMI é atualizada com as atualizações mais recentes do sistema operacional ou do software.

Você pode criar, atualizar ou excluir seus próprios parâmetros do Systems Manager usando o [Parameter Store, um recurso de AWS Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-parameter-store.html). É 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-<identifier>`, por exemplo, `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.](https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-paramstore-su-create.html)

## Criar um modelo de execução que especifique um parâmetro para a AMI
<a name="using-systems-manager-parameters-create-launch-template"></a>

Para criar um modelo de execução que especifique um parâmetro para a AMI, use um dos métodos a seguir:

------
#### [ Console ]

**Para criar um modelo de lançamento usando um AWS Systems Manager parâmetro**

1. Abra o console do Amazon EC2 em [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. No painel de navegação, escolha **Launch Templates (Modelos de execução)** e **Create launch template (Criar modelo de execução)**. 

1. Em **Device template name (Nome do modelo de dispositivo)**, insira um nome descritivo para o modelo.

1. Em **Imagens do aplicativo e do sistema operacional (Amazon Machine Image)**, escolha **Procurar mais AMIs**.

1. Escolha o botão de seta à direita da barra de pesquisa e escolha **Especificar parâmetro personalizado value/Systems do Gerenciador**.

1. Na caixa de diálogo **Especificar valor personalizado ou parâmetro do Systems Manager**, faça o seguinte:

   1. Em **ID de AMI ou string de parâmetros do Systems Manager**, insira o nome do parâmetro do Systems Manager usando um destes formatos:

      Para fazer referência a um parâmetro público:
      + **resolve:ssm:*public-parameter***

      Para fazer referência a um parâmetro armazenado na mesma conta:
      + **resolve:ssm:*parameter-name***
      + **resolve:ssm:*parameter-name*:*version-number***
      + **resolve:ssm:*parameter-name*:*label***

      Para fazer referência a um parâmetro compartilhado de outra Conta da AWS:
      + **resolve:ssm:*parameter-ARN***
      + **resolve:ssm:*parameter-ARN*:*version-number***
      + **resolve:ssm:*parameter-ARN*:*label***

   1. Escolha **Salvar**.

1. Configure qualquer outro parâmetro do modelo de execução, conforme necessário, e escolha **Criar modelo de execução**. Para obter mais informações, consulte [Criar um modelo de execução para um grupo do Auto Scaling](create-launch-template.md). 

------
#### [ AWS CLI ]

Para criar um modelo de execução que especifique um parâmetro do Systems Manager, você pode usar um dos seguintes comandos de exemplo. Substitua cada *user input placeholder* por suas próprias informações.

**Exemplo: criar um modelo de lançamento que especifique um parâmetro público AWS de propriedade**  
Use a seguinte sintaxe: `resolve:ssm:public-parameter`, em que `resolve:ssm` é o prefixo padrão e `public-parameter` é o caminho e o nome do parâmetro público.

Neste exemplo, o modelo de execução usa um parâmetro público AWS fornecido para iniciar instâncias usando a AMI mais recente do Amazon Linux 2 Região da AWS que está configurada para seu perfil. 

```
aws ec2 create-launch-template --launch-template-name my-template-for-auto-scaling --version-description version1 \
  --launch-template-data file://config.json
```

Conteúdo de `config.json`:

```
{ 
    "ImageId":"resolve:ssm:/aws/service/ami-amazon-linux-latest/amzn2-ami-hvm-x86_64-gp2",
    "InstanceType":"t2.micro"
}
```

O seguinte é um exemplo de resposta.

```
{
    "LaunchTemplate": {
        "LaunchTemplateId": "lt-089c023a30example",
        "LaunchTemplateName": "my-template-for-auto-scaling",
        "CreateTime": "2022-12-28T19:52:27.000Z",
        "CreatedBy": "arn:aws:iam::123456789012:user/Bob",
        "DefaultVersionNumber": 1,
        "LatestVersionNumber": 1
    }
}
```

**Exemplo: Criar um modelo de execução que especifique um parâmetro armazenado na mesma conta**  
Use a seguinte sintaxe: `resolve:ssm:parameter-name`, em que `resolve:ssm` é o prefixo padrão e `parameter-name` é o nome do parâmetro do Systems Manager.

O exemplo a seguir cria um modelo de execução que obtém o ID de AMI de um parâmetro do Systems Manager existente chamado `golden-ami`. 

```
aws ec2 create-launch-template --launch-template-name my-template-for-auto-scaling \
  --launch-template-data file://config.json
```

Conteúdo de `config.json`:

```
{ 
    "ImageId":"resolve:ssm:golden-ami",
    "InstanceType":"t2.micro"
}
```

Quando nenhuma versão é especificada, a versão padrão do parâmetro é a versão mais recente. 

O exemplo a seguir referencia uma versão específica do parâmetro *`golden-ami`*. O exemplo usa a versão *`3`* do parâmetro *`golden-ami`*, mas é possível usar qualquer número de versão válido. 

```
{ 
    "ImageId":"resolve:ssm:golden-ami:3",
    "InstanceType":"t2.micro"
}
```

O exemplo semelhante a seguir referencia o rótulo de parâmetro *`prod`* que é mapeado em uma versão específica do parâmetro *`golden-ami`*.

```
{ 
    "ImageId":"resolve:ssm:golden-ami:prod",
    "InstanceType":"t2.micro"
}
```

O seguinte é um exemplo de saída. 

```
{
    "LaunchTemplate": {
        "LaunchTemplateId": "lt-068f72b724example",
        "LaunchTemplateName": "my-template-for-auto-scaling",
        "CreateTime": "2022-12-27T17:11:21.000Z",
        "CreatedBy": "arn:aws:iam::123456789012:user/Bob",
        "DefaultVersionNumber": 1,
        "LatestVersionNumber": 1
    }
}
```

**Exemplo: criar um modelo de lançamento que especifique um parâmetro compartilhado de outro Conta da AWS**  
Use a seguinte sintaxe: `resolve:ssm:parameter-ARN`, em que `resolve:ssm` é o prefixo padrão e `parameter-ARN` é o ARN do parâmetro do Systems Manager.

O exemplo a seguir cria um modelo de execução que obtém o ID de AMI de um parâmetro do Systems Manager existente com o ARN de `arn:aws:ssm:us-east-2:123456789012:parameter/MyParameter`.

```
aws ec2 create-launch-template --launch-template-name my-template-for-auto-scaling --version-description version1 \
  --launch-template-data file://config.json
```

Conteúdo de `config.json`:

```
{ 
    "ImageId":"resolve:ssm:arn:aws:ssm:us-east-2:123456789012:parameter/MyParameter",
    "InstanceType":"t2.micro"
}
```

Quando nenhuma versão é especificada, a versão padrão do parâmetro é a versão mais recente. 

O exemplo a seguir referencia uma versão específica do parâmetro `MyParameter`. O exemplo usa a versão *`3`* do parâmetro `MyParameter`, mas é possível usar qualquer número de versão válido. 

```
{ 
    "ImageId":"resolve:ssm:arn:aws:ssm:us-east-2:123456789012:parameter/MyParameter:3",
    "InstanceType":"t2.micro"
}
```

O exemplo semelhante a seguir referencia o rótulo de parâmetro *`prod`* que é mapeado em uma versão específica do parâmetro `MyParameter`.

```
{ 
    "ImageId":"resolve:ssm:arn:aws:ssm:us-east-2:123456789012:parameter/MyParameter:prod",
    "InstanceType":"t2.micro"
}
```

O seguinte é um exemplo de resposta.

```
{
    "LaunchTemplate": {
        "LaunchTemplateId": "lt-00f93d4588example",
        "LaunchTemplateName": "my-template-for-auto-scaling",
        "CreateTime": "2024-01-08T12:43:21.000Z",
        "CreatedBy": "arn:aws:iam::123456789012:user/Bob",
        "DefaultVersionNumber": 1,
        "LatestVersionNumber": 1
    }
}
```

------

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](https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-paramstore-access.html) no *Guia do usuário do AWS Systems Manager *.

## Verifique se um modelo de execução obtém o ID da AMI correto
<a name="using-systems-manager-parameters-verify-launch-template"></a>

Use o [describe-launch-template-versions](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ec2/describe-launch-template-versions.html)comando e inclua a `--resolve-alias` opção de resolver o parâmetro para a ID real da AMI.

```
aws ec2 describe-launch-template-versions --launch-template-name my-template-for-auto-scaling \
   --versions 1 --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
<a name="using-systems-manager-parameters-related-resources"></a>

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](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/create-launch-template.html#use-an-ssm-parameter-instead-of-an-ami-id) 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](https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-paramstore-versions.html) e [Trabalhar com rótulos de parâmetros](https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-paramstore-labels.html) 
+ 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](https://docs.aws.amazon.com/systems-manager/latest/userguide/parameter-store-public-parameters-ami.html).
+ Para obter informações sobre o compartilhamento de parâmetros com outras AWS contas ou por meio de AWS Organizations, consulte Como [trabalhar com parâmetros compartilhados](https://docs.aws.amazon.com/systems-manager/latest/userguide/parameter-store-shared-parameters.html).
+ Para obter informações sobre como monitorar se seus parâmetros foram criados com sucesso, consulte [Suporte de parâmetros nativos para Amazon Machine Image IDs](https://docs.aws.amazon.com/systems-manager/latest/userguide/parameter-store-ec2-aliases.html).

## Limitações
<a name="using-systems-manager-parameters-limitations"></a>

Ao trabalhar com parâmetros do Systems Manager, observe as seguintes limitações:
+ O Amazon EC2 Auto Scaling suporta somente a especificação IDs de AMI como parâmetros.
+ Não há suporte para a criação ou atualização de [grupos de instâncias mistas](ec2-auto-scaling-mixed-instances-groups.md) com [seleção de tipo de instância baseada em atributos](create-mixed-instances-group-attribute-based-instance-type-selection.md) 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 [Preços do AWS Systems Manager](https://aws.amazon.com/systems-manager/pricing/). 