Ich habe mehrere Parameterwerte im AWS Systems Manager Parameter Store gespeichert. Ich möchte diese Parameter dynamisch in einem AWS-CloudFormation-Stack basierend auf meinen Anforderungen verwenden.
Kurzbeschreibung
Die folgende Auflösung verwendet Microsoft Windows und Linux als Beispielumgebungen, um zu demonstrieren, wie verschiedene Parameter dynamisch in einem CloudFormation-Stack verwendet werden.
Wichtig: Wenn Sie die folgenden Befehle und Vorlagen verwenden, müssen Sie Windows und Linux durch Ihre Anforderungen ersetzen.
Auflösung
1. Öffnen Sie die AWS-Systems-Manager-Konsole.
2. Wählen Sie im Navigationsbereich Parameter Store aus.
3. Erstellen Sie Systems-Manager-Parameter als Typ String, um Amazon Machine Image (AMI)-IDs für Linux oder Windows zu speichern.
Linux:
LinuxAmiId - AMI-Id-for-Linux-resources
-oder-
Windows:
WindowsAmiId - AMI-Id-for-Windows-resources
Hinweis: Ersetzen Sie AMI-Id-for-Linux-resources und AMI-Id-for-Windows-resources durch die AMI-IDs für Ihre Ressourcen.
4. Verwenden Sie die folgende CloudFormation-Beispielvorlage, um den Parameter zu erstellen, der auswählt, welches AMI für die Bereitstellung verwendet werden soll:
"Parameters": {
"AmiToUse": {
"Type": "String",
"AllowedValues": [
"windows",
"linux"
]
}
},
"Conditions": {
"CreateWindowsResources": {
"Fn::Equals": [
"windows",
{
"Ref": "AmiToUse"
}
]
}
},
"Resources": {
"EC2Instance": {
"Type": "AWS::EC2::Instance",
"Properties": {
"ImageId": {
"Fn::If": [
"CreateWindowsResources",
"{{resolve:ssm:WindowsAmiId:1}}",
"{{resolve:ssm:LinuxAmiId:1}}"
]
}
}
}
}
Hinweis: Wenn in der vorherigen Vorlage AmiToUse als windows ausgewählt ist, wird die CreateWindowsResources-Bedingung als true ausgewertet. CloudFormation verwendet den in WindowsAmiId gespeicherten Wert, um die AWS::EC2::Instance-Ressource bereitzustellen. Für Linux wird die Bedingung als false ausgewertet und CloudFormation verwendet den unter LinuxAmiId gespeicherten Wert, um die AWS::EC2::Instance-Ressource bereitzustellen.
Weitere Informationen zur dynamischen Referenzierung finden Sie unter Verwenden dynamischer Referenzen zum Festlegen von Vorlagenwerten.
Ähnliche Informationen
CloudFormation Workshop: Dynamisches Referenzlabor