Compatibilidad con parámetros nativos para los ID de Amazon Machine Image
Cuando cree un parámetro String
, puede especificar un tipo de datos como aws:ec2:image
para asegurarse de que el valor de parámetro que especifique tenga formato de ID de Amazon Machine Image (AMI) válido.
La compatibilidad con los formatos de ID de AMI le exime de tener que actualizar todos los scripts y las plantillas con un nuevo ID cada vez que cambie la AMI que desea utilizar en sus procesos. Puede crear un parámetro con el tipo de datos aws:ec2:image
, y para su valor, especifique el ID de una AMI. Esta es la AMI desde la que desea crear nuevas instancias. A continuación, haga referencia a este parámetro en sus plantillas, comandos y scripts.
Por ejemplo, puede especificar el parámetro que contiene su ID de AMI preferido cuando ejecuta el comando run-instances
de Amazon Elastic Compute Cloud (Amazon EC2).
nota
El usuario que ejecute este comando debe tener permisos de AWS Identity and Access Management (IAM) que incluyan la operación de la API ssm:GetParameters
para validar el valor del parámetro. De lo contrario, el proceso de creación de parámetros producirá un error.
También puede elegir la AMI de su elección cuando cree una instancia mediante la consola de Amazon EC2. Para obtener más información, consulte Uso de un parámetro de Systems Manager para encontrar una AMI en la Guía del usuario de Amazon EC2.
Cuando llegue el momento de utilizar una AMI diferente en el flujo de trabajo de creación de instancias, solo necesita actualizar el parámetro con el nuevo valor de AMI y Parameter Store validará que ha especificado un ID en el formato adecuado.
Otorgar permisos para crear un parámetro de tipo de datos aws:ec2:image
Mediante las políticas de AWS Identity and Access Management (IAM), puede proporcionar o restringir el acceso de los usuarios a las operaciones y el contenido de la API de Parameter Store.
Para crear un parámetro de tipo de datos aws:ec2:image
, el usuario debe tener los permisos ssm:PutParameter
y ec2:DescribeImages
.
En la siguiente política de ejemplo, se concede permiso de usuario para llamar a la operación PutParameter
de la API para aws:ec2:image
. Esto significa que el usuario puede agregar un parámetro de tipo de datos aws:ec2:image
al sistema.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "ssm:PutParameter", "Resource": "*" }, { "Effect": "Allow", "Action": "ec2:DescribeImages", "Resource": "*" } ] }
Funcionamiento de la validación del formato de la AMI
Cuando se especifica aws:ec2:image
como tipo de datos para un parámetro, Systems Manager no crea el parámetro inmediatamente. En su lugar, realiza una operación de validación asíncrona para garantizar que el valor del parámetro cumple los requisitos de formato para un ID de AMI y que la AMI especificada esté disponible en su Cuenta de AWS.
Se puede generar un número de versión de parámetro antes de que se complete la operación de validación. La operación puede no estar completa incluso si el número de versión de parámetro está generado.
Para monitorear si los parámetros se crearon correctamente, le recomendamos que utilice Amazon EventBridge para que le envíe notificaciones sobre las operaciones de parámetros create
y update
. Estas notificaciones indican si una operación de parámetro se ha realizado correctamente o no. Si una operación falla, la notificación incluye un mensaje de error que indica el motivo del error.
{ "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 obtener información acerca de cómo suscribirse a estos eventos de Parameter Store en EventBridge, consulte Configuración de notificaciones o activación de acciones en función de los eventos de Parameter Store.