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.
Types de paramètres de Systems Manager
Les types de paramètres de Systems Manager correspondent aux paramètres existants dans Systems Manager Parameter Store. Vous spécifiez une clé de paramètre Systems Manager comme valeur du type de paramètre Systems Manager, et vous CloudFormation récupérez la dernière valeur depuis le Parameter Store pour l'utiliser pour la pile. Cela peut être utile, par exemple, lorsque vous devez fréquemment mettre à jour les ressources de votre application en fonction de valeurs changeantes, comme Amazon Machine Image (AMI)IDs.
Vous pouvez voir les valeurs résolues pour les paramètres de Systems Manager dans l'onglet Parameters de la pile dans la console, ou en exécutant describe-stacksou describe-change-set. Ce sont les valeurs actuellement utilisées dans la définition de pile correspondant aux clés de paramètres Systems Manager. Notez que ces valeurs sont définies lorsque la pile est créée ou mise à jour, afin qu'elles puissent différer des dernières valeurs dans Parameter Store.
La valeur d'un type de paramètre Systems Manager étant une clé de paramètre, vous devez être conscient du comportement suivant :
-
Pour les mises à jour de la pile, l'option Use existing value de la console et l'
UsePreviousValue
attribut update-stacktell doivent CloudFormation utiliser la clé de paramètre existante de Systems Manager, et non sa valeur. CloudFormation récupère toujours les dernières valeurs depuis le Parameter Store lorsqu'il met à jour les piles. -
CloudFormation peuvent effectuer une validation sur les clés de paramètres de Systems Manager, mais pas sur leurs valeurs correspondantes. Vous pouvez traiter les clés de paramètres sous forme de chaînes pour la validation. Toute validation de paramètres Systems Manager doit se faire dans Parameter Store.
Lorsque vous créez ou mettez à jour des piles et que vous créez des ensembles de modifications CloudFormation , utilisez les valeurs existant dans le Parameter Store au moment de l'exécution de l'opération. Si un paramètre spécifié n'existe pas dans le Parameter Store sous celui de l'appelant Compte AWS, CloudFormation renvoie une erreur de validation.
Lorsque vous exécutez un ensemble de modifications, CloudFormation utilise les valeurs spécifiées dans le jeu de modifications. Vous devriez consulter ces valeurs avant d'exécuter le jeu de modifications, car celles-ci peuvent changer dans Parameter Store entre la création du jeu de modifications et son exécution.
Pour plus d'informations sur le Parameter Store, consultez Systems Manager Parameter Store.
Note
Pour les paramètres du magasin de paramètres stockés dans celui-ci Compte AWS, vous devez fournir le nom du paramètre. Pour les paramètres du magasin de paramètres partagés par un autre Compte AWS, vous devez fournir le paramètre completARN.
Rubriques
Types de paramètres de Systems Manager pris en charge
CloudFormation prend en charge les types de paramètres Systems Manager suivants :
AWS::SSM::Parameter::Name
-
Nom d'une clé de paramètre Systems Manager.
Utilisez ce paramètre lorsque vous souhaitez transmettre la clé de paramètre. Vous pouvez par exemple utiliser ce type pour valider l'existence du paramètre.
AWS::SSM::Parameter::Value<String>
-
Un paramètre Systems Manager dont la valeur est une chaîne. C'est le type de paramètre
String
dans Parameter Store. AWS::SSM::Parameter::Value<List<String>>
ouAWS::SSM::Parameter::Value<CommaDelimitedList>
-
Un paramètre Systems Manager dont la valeur est une liste de chaînes. C'est le type de paramètre
StringList
dans Parameter Store. AWS::SSM::Parameter::Value<
AWS-specific parameter type
>-
Paramètre Systems Manager dont la valeur est un type de paramètre propre àAWS. L'exemple suivant spécifie le type
AWS::EC2::KeyPair::KeyName
:AWS::SSM::Parameter::Value<AWS::EC2::KeyPair::KeyName>
AWS::SSM::Parameter::Value<List<
AWS-specific parameter type
>>-
Paramètre Systems Manager dont la valeur est la liste des types de paramètres propres àAWS. L'exemple suivant spécifie une liste de types
AWS::EC2::KeyPair::KeyName
:AWS::SSM::Parameter::Value<List<AWS::EC2::KeyPair::KeyName>>
Types de paramètres Systems Manager non pris en charge
CloudFormation ne prend pas en charge le type de paramètre Systems Manager suivant :
-
Listes des types de paramètres de Systems Manager, par exemple :
List<AWS::SSM::Parameter::Value<String>>
En outre, CloudFormation ne prend pas en charge la définition de paramètres de modèle en tant que types de paramètres SecureString
Systems Manager. Vous pouvez toutefois spécifier des chaînes sécurisées comme valeurs de paramètres pour certaines ressources. Pour de plus amples informations, veuillez consulter Spécifiez les valeurs stockées dans d'autres services à l'aide de références dynamiques.
Exemples
Rubriques
AMIID qui fait référence à un paramètre public de Systems Manager comme valeur par défaut
Le <AWS::EC2::Image::Id>
type est spécifique aux paramètres AMI d'identification et prend en charge les paramètres publics fournis par AWS.
L'exemple suivant déclare un paramètre nommé LatestAmiId
de typeAWS::SSM::Parameter::Value<AWS::EC2::Image::Id>
. Par défaut, la ImageId
propriété de l'EC2instance fait référence
. Ce paramètre public est un alias pour la valeur de l'AMIID régional pour la dernière version d'Amazon Linux 2AMI. Pour plus d'informations sur les paramètres publics, consultez la section Recherche de paramètres publics dans le Guide de AWS Systems Manager l'utilisateur./aws/service/ami-amazon-linux-latest/amzn2-ami-hvm-x86_64-gp2
JSON
{ "Parameters": { "LatestAmiId": { "Description": "Region specific image from the Parameter Store", "Type": "AWS::SSM::Parameter::Value<AWS::EC2::Image::Id>", "Default": "
/aws/service/ami-amazon-linux-latest/amzn2-ami-hvm-x86_64-gp2
" } }, "Resources": { "Instance": { "Type": "AWS::EC2::Instance", "Properties": { "ImageId": { "Ref": "LatestAmiId" } } } } }
YAML
Parameters: LatestAmiId: Description: Region specific image from the Parameter Store Type: 'AWS::SSM::Parameter::Value<AWS::EC2::Image::Id>' Default: '
/aws/service/ami-amazon-linux-latest/amzn2-ami-hvm-x86_64-gp2
' Resources: Instance: Type: 'AWS::EC2::Instance' Properties: ImageId: !Ref LatestAmiId
AMIID qui fait référence à un paramètre de Systems Manager et aucune valeur par défaut
L'exemple suivant déclare un paramètre nommé ImageId
de type AWS::SSM::Parameter::Value<AWS::EC2::Image::Id>
sans valeur par défaut. Cela signifie que vous devez fournir la clé de paramètre Systems Manager qui fait référence à l'AMIID souhaité lors de la création de la pile.
JSON
{ "Parameters": { "ImageId": { "Type": "AWS::SSM::Parameter::Value<AWS::EC2::Image::Id>" } }, "Resources": { "Instance": { "Type": "AWS::EC2::Instance", "Properties": { "ImageId": { "Ref": "ImageId" } } } } }
YAML
Parameters: ImageId: Type: 'AWS::SSM::Parameter::Value<AWS::EC2::Image::Id>' Resources: Instance: Type: 'AWS::EC2::Instance' Properties: ImageId: !Ref ImageId
La commande suivante crée une pile en utilisant le modèle dans l'exemple. Elle fournit la clé de paramètre Systems Manager (
) comme valeur du paramètre de modèle myLatestAMI
ImageId
. Cela suppose que le
paramètre existe dans le Parameter Store sous celui de l'appelant Compte AWS.myLatestAMI
aws cloudformation create-stack --stack-name S2 --template-body
example template
\ --parameters ParameterKey=ImageId,ParameterValue=myLatestAMI
Référencement d'un paramètre de chaîne de Systems Manager
L'exemple suivant déclare un paramètre nommé InstanceType
de typeAWS::SSM::Parameter::Value<String>
. Comme il n'existe aucune valeur par défaut, vous devez fournir la clé de paramètre Systems Manager qui fait référence au type d'instance souhaité lors de la création de la pile.
JSON
{ "Parameters": { "InstanceType": { "Type": "AWS::SSM::Parameter::Value<String>" } }, "Resources": { "Instance": { "Type": "AWS::EC2::Instance", "Properties": { "InstanceType": { "Ref": "InstanceType" } } } } }
YAML
Parameters: InstanceType: Type: 'AWS::SSM::Parameter::Value<String>' Resources: Instance: Type: 'AWS::EC2::Instance' Properties: InstanceType: !Ref InstanceType
La commande suivante crée une pile en utilisant le modèle dans l'exemple. Elle fournit la clé de paramètre Systems Manager (
) comme valeur du paramètre de modèle myInstanceType
InstanceType
. Cela suppose que le
paramètre existe dans le Parameter Store sous celui de l'appelant Compte AWS.myInstanceType
aws cloudformation create-stack --stack-name S1 --template-body
example template
\ --parameters ParameterKey=InstanceType,ParameterValue=myInstanceType