Obtención de un valor de texto sin formato del Almacén de parámetros de Systems Manager - AWS CloudFormation

Obtención de un valor de texto sin formato del Almacén de parámetros de Systems Manager

Al crear una plantilla de CloudFormation, es posible que desee utilizar valores de texto sin formato almacenados en el Almacén de parámetros. Parameter Store es una función de AWS Systems Manager. Para obtener una introducción al Almacén de parámetros, consulte Almacén de parámetros de AWS Systems Manager en la Guía del usuario de AWS Systems Manager.

Para utilizar un valor de texto sin formato del Almacén de parámetros en la plantilla, debe usar una referencia dinámica ssm. Esta referencia permite acceder a valores de parámetros de tipo String o StringList del Almacén de parámetros.

Para verificar qué versión de una referencia dinámica ssm se utilizará en una operación de pila, cree un conjunto de cambios para la operación de pila. A continuación, revise la plantilla procesada en la pestaña Plantilla. Para obtener más información, consulte Creación de un conjunto de cambios y Visualización de un conjunto de cambios.

Al utilizar referencias dinámicas ssm, debe tener en cuenta varios aspectos:

  • CloudFormation no es compatible con la detección de desviaciones en referencias dinámicas. Para las referencias dinámicas de ssm en las que no se ha especificado la versión del parámetro, se recomienda que, si actualiza la versión del parámetro en Systems Manager, también lleve a cabo una operación de actualización de la pila en cualquier pila que incluya la referencia dinámica de ssm, con el fin de obtener la versión más reciente del parámetro.

  • Para usar una referencia dinámica ssm en la sección Parameters de la plantilla de CloudFormation, debe incluir un número de versión. CloudFormation no permite referenciar un valor del Almacén de parámetros sin un número de versión en esta sección. Como alternativa, puede definir el parámetro como un tipo de parámetro de Systems Manager en la plantilla. Al hacerlo, puede especificar una clave de parámetro de Systems Manager como valor predeterminado. A continuación, CloudFormation obtendrá la última versión del valor del parámetro del Almacén de parámetros, sin que tenga que especificar un número de versión. Esto puede hacer que sus plantillas sean más sencillas y fáciles de mantener. Para obtener más información, consulte Referencia a los recursos existentes y a los parámetros de Systems Manager con los tipos de parámetros proporcionados por CloudFormation.

  • En el caso de recursos personalizados, CloudFormation resuelve las referencias dinámicas ssm antes de enviar la solicitud al recurso personalizado.

  • CloudFormation no admite el uso de referencias dinámicas para hacer referencia a un parámetro compartido desde otra Cuenta de AWS.

  • CloudFormation no admite el uso de etiquetas de parámetros de Systems Manager en las referencias dinámicas.

Permisos

Para especificar un parámetro guardado en el Almacén de parámetros de Systems Manager, debe tener permiso para llamar a GetParameters para el parámetro especificado. Para obtener información sobre cómo crear políticas de IAM que proporcionen acceso a parámetros específicos de Systems Manager, 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.

Patrón de referencia

Para referenciar un valor de texto sin formato guardado en el Almacén de parámetros de Systems Manager en una plantilla de CloudFormation, utilice el siguiente patrón de referencia ssm.

{{resolve:ssm:parameter-name:version}}

Su referencia debe cumplir el siguiente patrón de expresión regular para nombre-parámetro y versión:

{{resolve:ssm:[a-zA-Z0-9_.\-/]+(:\d+)?}}
parameter-name

El nombre del parámetro en el almacén de parámetros de . El nombre de parámetro distingue entre mayúsculas y minúsculas.

Obligatorio.

version

Un número entero que especifica la versión del parámetro que se va a utilizar. Si no especifica la versión exacta, CloudFormation utiliza la última versión del parámetro cada vez que cree o actualice la pila. Para obtener más información, consulte Trabajo con versiones de parámetros en la Guía del usuario de AWS Systems Manager.

Opcional.

Ejemplo

En el siguiente ejemplo, se crea una plantilla de lanzamiento de EC2 que refiere a un ID de AMI personalizado almacenado en el Almacén de parámetros. La referencia dinámica recupera el ID de AMI de la versión 2 del parámetro golden-ami en el momento en que se lanza una instancia desde la plantilla de lanzamiento.

JSON

{ "Resources": { "MyLaunchTemplate": { "Type": "AWS::EC2::LaunchTemplate", "Properties": { "LaunchTemplateName": { "Fn::Sub": "${AWS::StackName}-launch-template" }, "LaunchTemplateData": { "ImageId": "{{resolve:ssm:golden-ami:2}}", "InstanceType": "t2.micro" } } } } }

YAML

Resources: MyLaunchTemplate: Type: AWS::EC2::LaunchTemplate Properties: LaunchTemplateName: !Sub ${AWS::StackName}-launch-template LaunchTemplateData: ImageId: '{{resolve:ssm:golden-ami:2}}' InstanceType: t2.micro