Use parámetros de AWS Systems Manager en lugar de ID de AMI en las plantillas de lanzamiento
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 la misma Cuenta de AWS, un parámetro compartido con otra 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 los grupos de escalado automático para utilizar nuevos ID de AMI sin necesidad de crear nuevas plantillas de lanzamiento o nuevas versiones de estas cada vez que cambie un ID de AMI. Estos ID pueden cambiar con regularidad, como cuando una AMI se actualiza con actualizaciones de software o el sistema operativo más reciente.
Puede crear, actualizar o eliminar los parámetros de Systems Manager mediante el Almacén de parámetros, una capacidad de AWS Systems Manager. 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-, por ejemplo, <identifier>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.
Creación de una plantilla de lanzamiento que especifique un parámetro para la AMI
Para crear una plantilla de lanzamiento que especifique un parámetro para la AMI, utilice uno de los métodos siguientes:
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 en la Guía del usuario de AWS Systems Manager.
Verificación de que la plantilla de lanzamiento tenga el ID de AMI correcto
Utilice el comando describe-launch-template-versions--resolve-alias para resolver el parámetro con el ID de AMI real.
aws ec2 describe-launch-template-versions --launch-template-namemy-template-for-auto-scaling\ --versions1--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
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 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 y Trabajo con etiquetas de parámetros.
-
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.
-
Para obtener información sobre cómo compartir parámetros con otras cuentas de AWS o a través de AWS Organizations, consulte Working with shared parameters.
-
Para obtener información sobre la supervisión para controlar si los parámetros se crearon correctamente, consulte Native parameter support for Amazon Machine Image IDs.
Limitaciones
Cuando trabaje con parámetros de Systems Manager, tenga en cuenta las siguientes limitaciones:
-
Amazon EC2 Auto Scaling solo admite la especificación de los ID de AMI como parámetros.
-
No se admite la creación o actualización de grupos de instancias mixtos con una selección del tipo de instancia basada en atributos 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.