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érencessm
dynamique, afin de récupérer la dernière version des paramètres. -
Pour utiliser une référence
ssm
dynamique dans laParameters
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
du 2
paramètre chaque fois qu'une instance est lancée à partir du modèle de lancement.golden-ami
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