Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Ottenimento di un valore in testo normale da Systems Manager Parameter Store
Quando crei un CloudFormation modello, potresti voler utilizzare valori di testo in chiaro memorizzati in Parameter Store. Parameter Store è una funzionalità di. AWS Systems Manager Per un’introduzione a Parameter Store, consulta AWS Systems Manager Parameter Store nella Guida per l’utente di AWS Systems Manager .
Per utilizzare un valore in testo normale di Parameter Store all’interno del modello, si utilizza un riferimento dinamico ssm. Questo riferimento consente di accedere ai valori dai parametri di tipo String o StringList in Parameter Store.
Per verificare quale versione di un riferimento dinamico ssm verrà utilizzata in un’operazione di stack, crea un set di modifiche per quest’ultimo. Quindi, esamina il modello elaborato nella scheda Modello. Per ulteriori informazioni, consulta Creare un set di modifiche per uno CloudFormation stack.
Quando si utilizzano riferimenti dinamici ssm, ci sono alcune cose importanti da tenere a mente:
-
CloudFormation non supporta il rilevamento della deriva sui riferimenti dinamici. Per i riferimenti dinamici
ssmin cui non hai specificato la versione del parametro, ti consigliamo, se aggiorni la versione del parametro in Systems Manager, di eseguire anche un’operazione di aggiornamento dello stack su tutti gli stack che includono il riferimento dinamicossm, al fine di recuperare la versione più recente del parametro. -
Per utilizzare un riferimento
ssmdinamico nellaParameterssezione del CloudFormation modello, è necessario includere un numero di versione. CloudFormation non consente di fare riferimento a un valore di Parameter Store senza un numero di versione in questa sezione. In alternativa, puoi definire il parametro come tipo di parametro Systems Manager nel modello. Quando si esegue questa operazione, è possibile specificare una chiave del parametro Systems Manager come valore predefinito per il parametro. CloudFormation recupererà quindi la versione più recente del valore del parametro da Parameter Store, senza che sia necessario specificare un numero di versione. Questo può rendere i tuoi modelli più semplici e facili da gestire. Per ulteriori informazioni, consulta Specificare le risorse esistenti in fase di esecuzione con i CloudFormation tipi di parametri forniti. -
Per le risorse personalizzate, CloudFormation risolve i riferimenti
ssmdinamici prima di inviare la richiesta alla risorsa personalizzata. -
CloudFormation non supporta l'utilizzo di riferimenti dinamici per fare riferimento a un parametro condiviso da un altro. Account AWS
-
CloudFormation non supporta l'utilizzo delle etichette dei parametri di Systems Manager nei riferimenti dinamici.
Permissions
Per specificare un parametro archiviato in Systems Manager Parameter Store, devi disporre di un accesso che consente di chiamare GetParameters per il parametro specificato. Per scoprire come creare policy IAM che forniscano l’accesso a parametri specifici di Systems Manager, consulta Limitazione dell’accesso ai parametri di Systems Manager mediante policy IAM nella Guida per l’utente di AWS Systems Manager .
Schema di riferimento
Per fare riferimento a un valore di testo semplice memorizzato in Systems Manager Parameter Store nel CloudFormation modello, utilizzare il seguente schema ssm di riferimento.
{{resolve:ssm:parameter-name:version}}
Il riferimento deve essere conforme allo schema di espressione regolare per parameter-name e version:
{{resolve:ssm:[a-zA-Z0-9_.\-/]+(:\d+)?}}
parameter-name-
Il nome del parametro in Archivio parametri . Il nome di parametro prevede la distinzione tra lettere maiuscole e minuscole.
Obbligatorio.
version-
Un numero intero che specifica la versione del parametro da utilizzare. Se non specificate la versione esatta, CloudFormation utilizza la versione più recente del parametro ogni volta che create o aggiornate lo stack. Per ulteriori informazioni, consulta Working with parameter versions nella Guida per l’utente di AWS Systems Manager .
Opzionale.
Esempi
Parametro ID AMI pubblico
L'esempio seguente crea un' EC2 istanza che fa riferimento a un parametro AMI pubblico. Il riferimento dinamico recupera l’ID AMI Amazon Linux 2023 più recente dal parametro pubblico. Per ulteriori informazioni sui parametri pubblici, consulta Discovering public parameters in Parameter Store nella Guida per l’utente di 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
Parametro ID AMI personalizzato
L'esempio seguente crea un modello di EC2 avvio che fa riferimento a un ID AMI personalizzato memorizzato nel Parameter Store. Il riferimento dinamico recupera l’ID AMI dalla versione del parametro 2 ogni volta che un’istanza viene avviata dal modello di avvio.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