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 möglicherweise Klartextwerte verwenden, die im Parameter Store gespeichert sind. Parameter Store ist eine Funktion 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 Einen Änderungssatz für einen CloudFormation Stapel erstellen.
Bei der Verwendung von dynamischen ssm-Referenzen gibt es einige wichtige Dinge zu beachten:
-
CloudFormation unterstützt keine Drifterkennung 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 Stackaktualisierungsvorgang für alle Stack durchführen, die die dynamischessm-Referenz enthalten, um die neueste Parameterversion zu erhalten. -
Um eine
ssmdynamische Referenz imParametersAbschnitt Ihrer CloudFormation Vorlage zu verwenden, müssen Sie eine Versionsnummer angeben. CloudFormation erlaubt es Ihnen nicht, auf einen Parameter Store-Wert ohne Versionsnummer in diesem Abschnitt 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 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 Geben Sie vorhandene Ressourcen zur Laufzeit mit von CloudFormation -bereitgestellten Parametertypen an. -
CloudFormation Löst bei benutzerdefinierten Ressourcen die
ssmdynamischen Verweise auf, bevor die Anforderung an die benutzerdefinierte Ressource gesendet wird. -
CloudFormation unterstützt nicht die Verwendung dynamischer Verweise zum Verweisen auf einen Parameter, der von einem anderen AWS-Konto gemeinsam genutzt wird.
-
CloudFormation unterstützt die Verwendung von Systems Manager Manager-Parameterbeschriftungen in dynamischen Verweisen 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
Verwenden Sie das folgende Referenzmuster, um auf einen Klartextwert zu ssm verweisen, der in Ihrer CloudFormation Vorlage im Systems Manager Parameter Store gespeichert ist.
{{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, CloudFormation verwendet immer die neueste Version des Parameters, wenn Sie den Stack erstellen oder aktualisieren. Weitere Informationen finden Sie unter Arbeiten mit Parameterversionen im AWS Systems Manager -Benutzerhandbuch.
Optional.
Beispiele
Öffentlicher AMI ID Parameter
Im folgenden Beispiel wird eine EC2 Instanz erstellt, 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
Im folgenden Beispiel wird eine EC2 Startvorlage erstellt, 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