Wie kann ich mehrere Werte für einzelne Parameter in einer AWS CloudFormation-Vorlage verwenden?
Ich möchte einen Stack aus einer AWS CloudFormation-Vorlage erstellen oder aktualisieren und dabei mehrere Werte für einzelne Parameter verwenden.
Kurzbeschreibung
Sie können mehrere Werte für einzelne Parameter in einer AWS CloudFormation-Vorlage auf eine der folgenden Arten übergeben:
- Verwenden Sie AWS-spezifische Parametertypen, um Werte aus einer vorab ausgefüllten Liste vorhandener AWS-Werte aus einem AWS-Konto auszuwählen
- Verwenden Sie die CommadeLimitedList-Parametertypen, um Ihre eigenen Werte anzugeben
Behebung
Verwenden Sie AWS-spezifische Parametertypen, um Werte aus einer vorab vorausgefüllten Liste vorhandener AWS-Werte aus einem AWS-Konto auszuwählen
**Wichtig:**AWS CloudFormation validiert den von Ihnen ausgewählten Eingabewert in Ihrem Konto anhand vorhandener Werte.
In diesen AWS CloudFormation-Beispielvorlagen gibt der Parameter mit dem Schlüssel SecurityGroupseinen AWS-spezifischen Parametertyp an, der mehrere Werte für SecurityGroupIDs akzeptieren kann.
JSON-Vorlage:
{ "AWSTemplateFormatVersion": "2010-09-09", "Parameters": { "SecurityGroups": { "Type": "List<AWS::EC2::SecurityGroup::Id>", "Description": "The list of SecurityGroupIds in your Virtual Private Cloud (VPC)" } }, "Resources": { "MyEC2Instance": { "Type": "AWS::EC2::Instance", "Properties": { "ImageId": "ami-79fd7eee", "KeyName": "testkey", "SecurityGroupIds": { "Ref": "SecurityGroups" } } } } }
YAML-Vorlage:
AWSTemplateFormatVersion: 2010-09-09 Parameters: SecurityGroups: Type: 'List<AWS::EC2::SecurityGroup::Id>' Description: The list of SecurityGroupIds in your Virtual Private Cloud (VPC) Resources: MyEC2Instance: Type: 'AWS::EC2::Instance' Properties: ImageId: ami-79fd7eee KeyName: testkey SecurityGroupIds: !Ref SecurityGroups
Um den Stack mit der AWS CLI bereitzustellen, verwenden Sie den folgenden Befehl:
**Hinweis:**Ersetzen Sie StackName durch den Namen Ihres Stacks. Ersetzen Sie TemplateFileName durch den Namen Ihrer Datei. Geben Sie bei ParameterValuee Ihre Sicherheitsgruppen-ID ein.
aws cloudformation create-stack --stack-name StackName --template-body file://TemplateFileName --parameters ParameterKey=SecurityGroups,ParameterValue="sg-0123456789\,sg-2345678901"
Verwenden Sie CommaDelimitedList-Parametertypen zur Eingabe von Eingabewerten
In den folgenden AWS CloudFormation-Vorlagenbeispielen gibt der Parameter mit dem SchlüsselSecurityGroups einen CommadeLimitedList-Typ an, der mehrere Werte für SecurityGroupIDs annehmen kann.
JSON-Vorlage:
{ "AWSTemplateFormatVersion": "2010-09-09", "Parameters": { "SecurityGroups": { "Type": "CommaDelimitedList", "Description": "The list of SecurityGroupIds in your Virtual Private Cloud (VPC)", "Default": "sg-a123fd85, sg-b456ge94" } }, "Resources": { "MyEC2Instance": { "Type": "AWS::EC2::Instance", "Properties": { "ImageId": "ami-79fd7eee", "KeyName": "testkey", "SecurityGroupIds": { "Ref": "SecurityGroups" } } } } }
YAML-Vorlage:
AWSTemplateFormatVersion: 2010-09-09 Parameters: SecurityGroups: Type: CommaDelimitedList Description: The list of SecurityGroupIds in your Virtual Private Cloud (VPC) Default: sg-a123fd85, sg-b456ge94 Resources: MyEC2Instance: Type: 'AWS::EC2::Instance' Properties: ImageId: ami-79fd7eee KeyName: testkey SecurityGroupIds: !Ref SecurityGroups
Relevanter Inhalt
- AWS OFFICIALAktualisiert vor einem Jahr
- AWS OFFICIALAktualisiert vor einem Jahr
- AWS OFFICIALAktualisiert vor 9 Monaten
- AWS OFFICIALAktualisiert vor 3 Jahren