

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Utilice AWS Systems Manager parámetros en lugar de AMI IDs en las plantillas de lanzamiento
<a name="using-systems-manager-parameters"></a>

En esta sección, se muestra cómo crear una plantilla de lanzamiento que especifique un parámetro de AWS Systems Manager que haga referencia a un ID de imagen de máquina de Amazon (AMI). Puede usar un parámetro almacenado en su propia AMI Cuenta de AWS, un parámetro compartido con otro Cuenta de AWS o un parámetro público para una AMI pública mantenida por AWS.

Con los parámetros de Systems Manager, puede actualizar sus grupos de Auto Scaling para usar una nueva AMI IDs sin necesidad de crear nuevas plantillas de lanzamiento o nuevas versiones de las plantillas de lanzamiento cada vez que cambie una ID de AMI. Estas IDs pueden cambiar con regularidad, por ejemplo, cuando una AMI se actualiza con las últimas actualizaciones del sistema operativo o del software.

Puede crear, actualizar o eliminar sus propios parámetros de Systems Manager mediante el [Almacén de parámetros, una capacidad de AWS Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-parameter-store.html). Debe crear un parámetro de Systems Manager antes de poder usarlo en una plantilla de lanzamiento. Para comenzar, cree un parámetro con el tipo de datos `aws:ec2:image`, y para su valor, especifique el ID de una AMI. El ID de AMI tiene el formato `ami-<identifier>`, por ejemplo, `ami-123example456`. El ID de AMI correcto depende del tipo de instancia y la Región de AWS en la que quiere lanzar el grupo de escalado automático. 

Para obtener más información sobre cómo crear un parámetro válido para un ID de AMI, consulte [Creación de parámetros de Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-paramstore-su-create.html).

## Creación de una plantilla de lanzamiento que especifique un parámetro para la AMI
<a name="using-systems-manager-parameters-create-launch-template"></a>

Para crear una plantilla de lanzamiento que especifique un parámetro para la AMI, utilice uno de los métodos siguientes:

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

**Para crear una plantilla de lanzamiento mediante un AWS Systems Manager parámetro**

1. Abra la consola de Amazon EC2 en [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. En el panel de navegación, elija **Launch Templates (Plantillas de inicialización)** y, a continuación, **Create launch template (Crear plantilla de inicialización)**. 

1. En **Launch template name (Nombre de plantilla de inicialización)**, introduzca un nombre descriptivo para la plantilla.

1. En **Imágenes de aplicaciones y sistemas operativos (Amazon Machine Image)**, selecciona **Buscar más AMIs**.

1. Pulse el botón de flecha situado a la derecha de la barra de búsqueda y, a continuación, seleccione **Especificar un parámetro value/Systems de administrador personalizado**.

1. En el cuadro de diálogo **Especificar valor personalizado o parámetro de Systems Manager**, haga lo siguiente:

   1. Para el **ID de AMI o la cadena de parámetros de Systems Manager**, introduzca el nombre del parámetro de Systems Manager mediante uno de los siguientes formatos:

      Para hacer referencia a un parámetro público:
      + **resolve:ssm:*public-parameter***

      Para hacer referencia a un parámetro almacenado en la misma cuenta:
      + **resolve:ssm:*parameter-name***
      + **resolve:ssm:*parameter-name*:*version-number***
      + **resolve:ssm:*parameter-name*:*label***

      Para hacer referencia a un parámetro compartido desde otra Cuenta de AWS:
      + **resolve:ssm:*parameter-ARN***
      + **resolve:ssm:*parameter-ARN*:*version-number***
      + **resolve:ssm:*parameter-ARN*:*label***

   1. Seleccione **Save**.

1. Configure cualquier otro ajuste de la plantilla de lanzamiento según sea necesario y, a continuación, seleccione **Crear plantilla de lanzamiento**. Para obtener más información, consulte [Creación de una plantilla de lanzamiento para un grupo de Auto Scaling](create-launch-template.md). 

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

Para crear una plantilla de lanzamiento que especifique un parámetro de Systems Manager, puede utilizar uno de los siguientes comandos de ejemplo. Reemplace cada *user input placeholder* por su propia información.

**Ejemplo: cree una plantilla de lanzamiento que especifique un parámetro AWS de propiedad pública**  
Utilice la siguiente sintaxis: `resolve:ssm:public-parameter`, donde `resolve:ssm` es el prefijo estándar y `public-parameter` es la ruta y el nombre del parámetro público.

En este ejemplo, la plantilla de lanzamiento utiliza un parámetro público AWS proporcionado para lanzar instancias con la última AMI de Amazon Linux 2 configurada para su perfil. Región de AWS 

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

Contenido de `config.json`:

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

A continuación, se muestra un ejemplo de respuesta.

```
{
    "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
    }
}
```

**Ejemplo: creación de una plantilla de lanzamiento que especifica un parámetro almacenado en la misma cuenta**  
Utilice la siguiente sintaxis: `resolve:ssm:parameter-name`, donde `resolve:ssm` es el prefijo estándar y `parameter-name` es el nombre del parámetro de Systems Manager.

En el ejemplo siguiente se crea una plantilla de lanzamiento que obtiene el ID de AMI de un parámetro de Systems Manager existente denominado `golden-ami`. 

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

Contenido de `config.json`:

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

La versión predeterminada del parámetro, cuando no se especifica, es la versión más reciente. 

El siguiente ejemplo hace referencia a una versión específica del parámetro *`golden-ami`*. El ejemplo usa la versión *`3`* del parámetro *`golden-ami`*, pero puede usar cualquier número de versión válido. 

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

El siguiente ejemplo similar hace referencia a una etiqueta del parámetro *`prod`* que asigna a una versión específica del parámetro *`golden-ami`*.

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

A continuación, se muestra un ejemplo del resultado. 

```
{
    "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
    }
}
```

**Ejemplo: cree una plantilla de lanzamiento que especifique un parámetro compartido con otro Cuenta de AWS**  
Utilice la siguiente sintaxis: `resolve:ssm:parameter-ARN`, donde `resolve:ssm` es el prefijo estándar y `parameter-ARN` es el ARN del parámetro de Systems Manager.

En el ejemplo siguiente, se crea una plantilla de lanzamiento que obtiene el ID de AMI de un parámetro de Systems Manager existente con el 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
```

Contenido de `config.json`:

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

La versión predeterminada del parámetro, cuando no se especifica, es la versión más reciente. 

El siguiente ejemplo hace referencia a una versión específica del parámetro `MyParameter`. El ejemplo usa la versión *`3`* del parámetro `MyParameter`, pero puede usar cualquier número de versión válido. 

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

El siguiente ejemplo similar hace referencia a una etiqueta del parámetro *`prod`* que asigna a una versión específica del parámetro `MyParameter`.

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

A continuación, se muestra un ejemplo de respuesta.

```
{
    "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 un parámetro del almacén de parámetros en una plantilla de lanzamiento, debe tener el permiso `ssm:GetParameters` para el parámetro especificado. Cualquier persona que utilice la plantilla de lanzamiento también necesitará el permiso `ssm:GetParameters` para validar el valor del parámetro. Para más información, consulte [Restricción del acceso a los parámetros de Systems Manager mediante políticas de IAM](https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-paramstore-access.html) en la *Guía del usuario de AWS Systems Manager *.

## Verificación de que la plantilla de lanzamiento tenga el ID de AMI correcto
<a name="using-systems-manager-parameters-verify-launch-template"></a>

Utilice el [describe-launch-template-versions](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ec2/describe-launch-template-versions.html)comando e incluya la `--resolve-alias` opción para resolver el parámetro en el ID de AMI real.

```
aws ec2 describe-launch-template-versions --launch-template-name my-template-for-auto-scaling \
   --versions 1 --resolve-alias
```

El ejemplo devuelve el ID de AMI de `ImageId`. Cuando se lanza una instancia con esta plantilla de lanzamiento, el ID de AMI se resuelve con `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 más información sobre cómo especificar un parámetro de Systems Manager en una plantilla de lanzamiento, consulte [Uso de un parámetro de Systems Manager en lugar de un ID de AMI](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/create-launch-template.html#use-an-ssm-parameter-instead-of-an-ami-id) en la *Guía del usuario de Amazon EC2*.

Para obtener más información sobre cómo trabajar con parámetros de Systems Manager, consulte los siguientes materiales de referencia en la documentación de Systems Manager.
+ Para crear versiones y etiquetas de parámetros, consulte [Trabajo con versiones de parámetros](https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-paramstore-versions.html) y [Trabajo con etiquetas de parámetros](https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-paramstore-labels.html). 
+ Para obtener información sobre cómo buscar los parámetros públicos de la AMI compatibles con Amazon EC2, consulte [Calling AMI public parameters](https://docs.aws.amazon.com/systems-manager/latest/userguide/parameter-store-public-parameters-ami.html).
+ Para obtener información sobre cómo compartir parámetros con otras AWS cuentas o a través de ellas AWS Organizations, consulte [Trabajar con parámetros compartidos](https://docs.aws.amazon.com/systems-manager/latest/userguide/parameter-store-shared-parameters.html).
+ Para obtener información sobre cómo supervisar si los parámetros se han creado correctamente, consulte [Compatibilidad con parámetros nativos para Amazon Machine Image IDs](https://docs.aws.amazon.com/systems-manager/latest/userguide/parameter-store-ec2-aliases.html).

## Limitaciones
<a name="using-systems-manager-parameters-limitations"></a>

Cuando trabaje con parámetros de Systems Manager, tenga en cuenta las siguientes limitaciones:
+ Amazon EC2 Auto Scaling solo admite la especificación de IDs AMI como parámetros.
+ No se admite la creación o actualización de [grupos de instancias mixtos](ec2-auto-scaling-mixed-instances-groups.md) con una [selección del tipo de instancia basada en atributos](create-mixed-instances-group-attribute-based-instance-type-selection.md) mediante una plantilla de lanzamiento que especifique un parámetro de Systems Manager.
+ Si su grupo de escalado automático usa una plantilla de lanzamiento que especifique un parámetro de Systems Manager, no podrá iniciar una actualización de instancias con la configuración deseada o utilizando la coincidencia por omisión.
+ Si su grupo de escalado automático usa una plantilla de lanzamiento que especifique un parámetro de Systems Manager, no se admitirán los grupos en caliente.
+ En cada llamada para crear o actualizar el grupo de escalado automático, Amazon EC2 Auto Scaling resolverá el parámetro de Systems Manager de la plantilla de lanzamiento. Si utiliza parámetros avanzados o límites de rendimiento más altos, las llamadas frecuentes al Almacén de parámetros (es decir, la operación `GetParameters`) pueden aumentar los costos de Systems Manager, ya que se cobran cargos por interacción con la API del Almacén de parámetros. Para obtener más información, consulte [Precios de AWS Systems Manager](https://aws.amazon.com/systems-manager/pricing/). 