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 modèle CloudFormation, 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 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, consultez Créer un jeu de modifications pour une pile CloudFormation.
Lorsque vous utilisez des références dynamiques ssm, il y a quelques points importants à garder à l’esprit :
-
Actuellement, CloudFormation ne prend pas en charge la détection de l’écart 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 dynamique
ssmdans la sectionParametersde votre modèle CloudFormation, vous devez inclure un numéro de version. CloudFormation ne vous permet pas de référencer une valeur du magasin de paramètres 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. Lorsque vous effectuez cette opération, vous pouvez spécifier une clé de paramètre Systems Manager comme valeur par défaut pour votre paramètre. CloudFormation récupérera alors la dernière version de la valeur du paramètre dans le magasin de paramètres, sans que vous ayez à spécifier un numéro de version. Cela peut rendre vos modèles plus simples et plus faciles à gérer. Pour de plus amples informations, consultez Spécification de ressources existantes à l’exécution avec les types de paramètres fournis par CloudFormation. -
Pour les ressources personnalisées, CloudFormation résout les références dynamiques
ssmavant d’envoyer la requête à 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é à partir d’un autre Compte AWS.
-
CloudFormation ne prend pas en charge l’utilisation des étiquettes de paramètres Systems Manager dans les références dynamiques.
Autorisations
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 clair stockée dans le magasin de paramètres Systems Manager dans votre modèle CloudFormation, utilisez le modèle de référence ssm 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 instance EC2 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 lancement EC2 qui fait référence à un identifiant AMI personnalisé stocké dans le magasin de paramètres. 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