Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Abrufen eines Klartextwertes aus dem Systems Manager Parameter Store
Wenn Sie eine CloudFormation-Vorlage erstellen, möchten Sie vielleicht Klartextwerte verwenden, die im Parameter Store gespeichert sind. Der Parameter Speichern ist eine Fähigkeit von AWS Systems Manager. Eine Einführung in den Parameterspeicher finden Sie unter AWS Systems Manager Parameterspeicher im AWS Systems Manager Benutzerhandbuch.
Um einen Klartextwert aus dem Parameterspeicher in Ihrer Vorlage zu verwenden, verwenden Sie eine dynamische Referenz ssm . Diese Referenz ermöglicht Ihnen den Zugriff auf Werte von Parametern des Typs String oder StringList im Parameter Store.
Um zu überprüfen, welche Version einer dynamischen Referenz ssm in einer Stapeloperation verwendet wird, erstellen Sie ein Änderungsset für die Stapeloperation. Überprüfen Sie dann die verarbeitete Vorlage auf der Registerkarte Vorlage . Weitere Informationen finden Sie unter Erstellen Sie einen Änderungssatz für einen CloudFormation-Stack.
Bei der Verwendung von dynamischen ssm-Referenzen gibt es einige wichtige Dinge zu beachten:
-
CloudFormation unterstützt keine Drift-Erkennung bei dynamischen Referenzen. Bei dynamischen
ssm-Referenzen, bei denen Sie die Parameterversion nicht angegeben haben, empfehlen wir, dass Sie, wenn Sie die Parameterversion in Systems Manager aktualisieren, auch einen Stapelaktualisierungsvorgang für alle Stapel durchführen, die die dynamischessm-Referenz enthalten, um die neueste Parameterversion zu erhalten. -
Um eine dynamische Referenz
ssmim AbschnittParametersIhrer CloudFormation-Vorlage zu verwenden, müssen Sie eine Versionsnummer angeben. CloudFormation erlaubt es Ihnen nicht, in diesem Abschnitt auf einen Parameterspeicherwert ohne Versionsnummer zu verweisen. Alternativ können Sie Ihren Parameter auch als Systemmanager-Parametertyp in Ihrer Vorlage definieren. Wenn Sie dies tun, können Sie einen Systems Manager-Parameterschlüssel als Standardwert für Ihren Parameter angeben. CloudFormation ruft dann die neueste Version des Parameterwerts aus dem Parameter Store ab, ohne dass Sie eine Versionsnummer angeben müssen. Dies kann Ihre Vorlagen einfacher und leichter zu pflegen machen. Weitere Informationen finden Sie unter Spezifizieren Sie vorhandene Ressourcen zur Laufzeit mit von CloudFormation bereitgestellten Parametertypen. -
Bei benutzerdefinierten Ressourcen löst CloudFormation die dynamischen Referenzen
ssmauf, bevor die Anfrage an die benutzerdefinierte Ressource gesendet wird. -
CloudFormation unterstützt nicht die Verwendung dynamischer Referenzen, um einen Parameter zu referenzieren, der von einem anderen AWS-Kontogemeinsam genutzt wird.
-
CloudFormation unterstützt die Verwendung von Systems Manager-Parameterbezeichnungen in dynamischen Referenzen nicht.
Berechtigungen
Um einen im Systems Manager Parameter Store gespeicherten Parameter anzugeben, müssen Sie die Berechtigung haben, GetParameters für den angegebenen Parameter aufzurufen. Wie Sie IAM-Richtlinien erstellen, die den Zugriff auf bestimmte Systems Manager-Parameter ermöglichen, erfahren Sie unter Einschränkung des Zugriffs auf Systems Manager-Parameter mit IAM-Richtlinien im AWS Systems Manager Benutzerhandbuch.
Referenzmuster
Um in Ihrer CloudFormation-Vorlage auf einen im Systems Manager Parameter Store gespeicherten Klartextwert zu verweisen, verwenden Sie das folgende Referenzmuster ssm .
{{resolve:ssm:parameter-name:version}}
Ihre Referenz muss sich an das folgende reguläre Ausdrucksmuster für Parametername und Version halten:
{{resolve:ssm:[a-zA-Z0-9_.\-/]+(:\d+)?}}
parameter-name-
Der Name des Parameters im Parameter Store. Der Parametername unterscheidet Groß- und Kleinschreibung.
Erforderlich
version-
Eine ganze Zahl, die die Version des zu verwendenden Parameters angibt. Wenn Sie nicht die genaue Version angeben, verwendet CloudFormation bei jedem Erstellen oder Aktualisieren des Stacks die neueste Version des Parameters. Weitere Informationen finden Sie unter Arbeiten mit Parameterversionen im AWS Systems Manager Benutzerhandbuch.
Optional.
Beispiele
Öffentlicher AMI ID Parameter
Das folgende Beispiel erstellt eine EC2-Instance, die auf einen öffentlichen AMI-Parameter verweist. Die dynamische Referenz ruft die neueste Amazon Linux 2023 AMI ID aus dem öffentlichen Parameter ab. Weitere Informationen über öffentliche Parameter finden Sie unter Entdecken öffentlicher Parameter im Parameterspeicher im AWS Systems Manager Benutzerhandbuch.
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
Benutzerdefinierter AMI-ID-Parameter
Das folgende Beispiel erstellt eine EC2-Startvorlage, die auf eine benutzerdefinierte AMI-ID verweist, die im Parameter Store gespeichert ist. Die dynamische Referenz ruft die AMI-ID aus der Version des Parameters 2 jedes Mal ab, wenn eine Instance aus der Startvorlage gestartet wird.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