Obtenir une valeur en texte brut depuis le magasin de paramètres de Systems Manager - AWS CloudFormation

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Obtenir une valeur en texte brut depuis le magasin de paramètres de Systems Manager

Lorsque vous créez un CloudFormation modèle, vous souhaiterez peut-être utiliser des valeurs en texte brut stockées dans Parameter Store. Parameter Store est une fonctionnalité de AWS Systems Manager. Pour une présentation de Parameter Store, voir AWS Systems Manager Parameter Store dans le guide de AWS Systems Manager l'utilisateur.

Pour utiliser une valeur en texte brut provenant de Parameter Store dans votre modèle, vous devez utiliser une référence ssm dynamique. Cette référence vous permet d'accéder à des valeurs à partir de paramètres de type String ou StringList dans Parameter Store.

Pour vérifier quelle version d'une référence ssm dynamique sera utilisée dans une opération de pile, créez un ensemble de modifications pour l'opération de pile. Passez ensuite en revue le modèle traité dans l'onglet Modèle. Pour plus d’informations, consultez Création d'un ensemble de modifications et Afficher un ensemble de modifications.

Lorsque vous utilisez des références ssm dynamiques, vous devez tenir compte de quelques points importants :

  • CloudFormation ne prend pas en charge la détection de dérive sur les références dynamiques. Pour les références ssm dynamiques pour lesquelles vous n'avez pas spécifié la version du paramètre, nous vous recommandons, si vous mettez à jour la version du paramètre dans Systems Manager, d'effectuer également une opération de mise à jour de pile sur toutes les piles qui incluent la référence ssm dynamique, afin de récupérer la dernière version des paramètres.

  • Pour utiliser une référence ssm dynamique dans la Parameters section de votre CloudFormation modèle, vous devez inclure un numéro de version. CloudFormation ne vous permet pas de référencer une valeur du Parameter Store sans numéro de version dans cette section. Vous pouvez également définir votre paramètre en tant que type de paramètre Systems Manager dans votre modèle. Dans ce cas, vous pouvez spécifier une clé de paramètre Systems Manager comme valeur par défaut pour votre paramètre. CloudFormation récupérera ensuite la dernière version de la valeur du paramètre dans Parameter Store, sans que vous ayez à spécifier de numéro de version. Cela peut rendre vos modèles plus simples et plus faciles à gérer. Pour de plus amples informations, veuillez consulter Référencez les ressources existantes et les paramètres de Systems Manager avec les CloudFormation types de paramètres fournis.

  • Pour les ressources personnalisées, CloudFormation résout les références ssm dynamiques avant d'envoyer la demande à la ressource personnalisée.

  • CloudFormation ne prend pas en charge l'utilisation de références dynamiques pour référencer un paramètre partagé par un autre Compte AWS.

  • CloudFormation ne prend pas en charge l'utilisation des libellés de paramètres de Systems Manager dans les références dynamiques.

Autorisations

Pour spécifier un paramètre stocké dans le magasin de paramètres de Systems Manager, vous devez être autorisé à appeler GetParameterspour le paramètre spécifié. Pour savoir comment créer des IAM politiques donnant accès à des paramètres spécifiques de Systems Manager, consultez la section Restreindre l'accès aux paramètres de Systems Manager à l'aide de IAM politiques dans le Guide de AWS Systems Manager l'utilisateur.

Modèle de référence

Pour référencer une valeur en texte brut stockée dans le magasin de paramètres de Systems Manager dans votre CloudFormation modèle, utilisez le modèle de ssm référence suivant.

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

Votre référence doit respecter le modèle d'expression régulière suivant pour parameter-name et version :

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

Nom du paramètre dans Parameter Store. Le nom du paramètre est sensible à la casse.

Obligatoire.

version

Nombre entier qui spécifie la version du paramètre à utiliser. Si vous ne spécifiez pas la version exacte, CloudFormation utilise la dernière version du paramètre chaque fois que vous créez ou mettez à jour la pile. Pour plus d'informations, consultez la section Utilisation des versions de paramètres dans le Guide de AWS Systems Manager l'utilisateur.

Facultatif.

Exemple

L'exemple suivant crée un modèle de EC2 lancement qui fait référence à un AMI identifiant personnalisé stocké dans le Parameter Store. La référence dynamique récupère l'AMIID de la version 2 du golden-ami paramètre chaque fois qu'une instance est lancée à partir du modèle de lancement.

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