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 Systems Manager
Lorsque vous créez un CloudFormation modèle, vous pouvez utiliser des valeurs en texte brut stockées dans Parameter Store. Parameter Store est une fonctionnalité de AWS Systems Manager. Pour une introduction à Parameter Store, consultez la section Parameter Store AWS Systems Manager dans le Guide de l’utilisateur AWS Systems Manager .
Pour utiliser une valeur en texte clair provenant de Parameter Store dans votre modèle, vous utilisez une référence dynamique ssm. Cette référence vous permet d’accéder aux valeurs des paramètres de type String ou StringList dans Parameter Store.
Pour vérifier quelle version d’une référence dynamique ssm sera utilisée dans une opération de pile, créez un ensemble de modifications pour l’opération de pile. Ensuite, vérifiez le modèle traité dans l’onglet Modèle. Pour de plus amples informations, veuillez consulter Création d'un ensemble de modifications pour une CloudFormation pile.
Lorsque vous utilisez des références dynamiques ssm, il y a quelques points importants à garder à l’esprit :
-
CloudFormation ne prend pas en charge la détection de dérive sur les références dynamiques. Pour les références dynamiques
ssmpour 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 dynamiquessm, afin d’extraire la dernière version du paramètre. -
Pour utiliser une référence
ssmdynamique dans laParameterssection 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 comme un paramètre de type 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 Spécifiez les ressources existantes au moment de l'exécution avec les CloudFormation types de paramètres fournis. -
Pour les ressources personnalisées, CloudFormation résout les références
ssmdynamiques 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.
Permissions
Pour spécifier un paramètre stocké dans le magasin de paramètres Systems Manager, vous devez disposer d’une autorisation pour appeler GetParameters le paramètre spécifié. Pour savoir comment créer des politiques IAM qui fournissent l’accès à des paramètres Systems Manager spécifiques, consultez la section Restriction de l’accès aux paramètres Systems Manager à l’aide des politiques IAM dans le Guide de l’utilisateur AWS Systems Manager .
Modèle de référence
Pour référencer une valeur en texte brut stockée dans le magasin de paramètres 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 Utilisation des versions de paramètre dans le Guide de l’utilisateur AWS Systems Manager .
Facultatif.
Exemples
Paramètre ID d’AMI public
L'exemple suivant crée une EC2 instance qui fait référence à un paramètre AMI public. La référence dynamique récupère le dernier identifiant AMI Amazon Linux 2023 à partir du paramètre public. Pour plus d’informations sur les paramètres publics, consultez Découverte des paramètres publics dans le magasin de paramètres dans le Guide de l’utilisateur AWS Systems Manager .
JSON
{ "Resources": { "MyInstance": { "Type": "AWS::EC2::Instance", "Properties": { "ImageId": "{{resolve:ssm:/aws/service/ami-amazon-linux-latest/al2023-ami-kernel-6.1-x86_64}}", "InstanceType": "t2.micro" } } } }
YAML
Resources: MyInstance: Type: AWS::EC2::Instance Properties: ImageId: '{{resolve:ssm:/aws/service/ami-amazon-linux-latest/al2023-ami-kernel-6.1-x86_64}}' InstanceType: t2.micro
Paramètre d’ID d’AMI personnalisé
L'exemple suivant crée un modèle de EC2 lancement qui fait référence à un ID d'AMI personnalisé stocké dans le Parameter Store. La référence dynamique récupère l’ID AMI à partir de la version du paramètre 2 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