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.
Allgemeine Vorlagenausschnitte
Die folgenden Beispiele zeigen verschiedene AWS CloudFormation Vorlagenfunktionen, die nicht spezifisch für einen - AWS Service sind.
Themen
- Base64-kodierte UserData Eigenschaft
- Base64-kodierte UserData Eigenschaft mit AccessKey und SecretKey
- Abschnitt „Parameters“ mit einem Literalzeichenfolgenparameter
- Abschnitt „Parameters“ mit Zeichenfolgenparameter mit regulärer Ausdruckseinschränkung
- Abschnitt „Parameters“ mit Zahlenparametern mit MaxValue Einschränkungen MinValue und
- Abschnitt „Parameter“ mit Zahlenparameter mit AllowedValues Einschränkung
- Abschnitt „Parameter“ mit einem CommaDelimitedList Literalparameter
- Abschnitt „Parameters“ mit auf Pseudoparameter basierendem Parameterwert
- Zuweisungsabschnitt mit drei Zuweisungen
- Beschreibung auf Basis einer Literalzeichenfolge
- Abschnitt „Outputs“ mit einer Literalzeichenfolgenausgabe
- Abschnitt „Outputs“ mit einer Ressourcenreferenz und einer Pseudoreferenzausgabe
- Abschnitt „Outputs“ mit einer auf einer Funktion, einer Literalzeichenfolge, einer Referenz und einem Pseudoparameter basierenden Ausgabe
- Vorlagenformatversion
- AWS Tag-Eigenschaft
Base64-kodierte UserData Eigenschaft
Dieses Beispiel zeigt die Baugruppe einer - UserData Eigenschaft mithilfe der Funktionen Fn::Base64 und Fn::Join. Die Referenzen MyValue
und MyName
sind Parameter, die im Abschnitt „Parameters“ der Vorlage definiert werden müssen. Die Literalzeichenfolge Hello World
ist einfach ein weiterer Wert, der in diesem Beispiel als Teil der UserData
-Eigenschaft übergeben wird.
JSON
"UserData" : { "Fn::Base64" : { "Fn::Join" : [ ",", [ { "Ref" : "MyValue" }, { "Ref" : "MyName" }, "Hello World" ] ] } }
YAML
UserData: Fn::Base64: !Sub | Ref: MyValue Ref: MyName Hello World
Base64-kodierte UserData Eigenschaft mit AccessKey und SecretKey
Dieses Beispiel zeigt die Baugruppe einer - UserData Eigenschaft mithilfe der Funktionen Fn::Base64 und Fn::Join. Sie enthält die AccessKey
- und SecretKey
-Informationen. Die Referenzen AccessKey
und SecretKey
sind Parameter, die im Abschnitt „Parameters“ der Vorlage definiert werden müssen.
JSON
"UserData" : { "Fn::Base64" : { "Fn::Join" : [ "", [ "ACCESS_KEY=", { "Ref" : "AccessKey" }, "SECRET_KEY=", { "Ref" : "SecretKey" } ] ] } }
YAML
UserData: Fn::Base64: !Sub | ACCESS_KEY=${AccessKey} SECRET_KEY=${SecretKey}
Abschnitt „Parameters“ mit einem Literalzeichenfolgenparameter
Das folgende Beispiel beschreibt eine gültige Deklaration für den Abschnitt „Parameters“, in welcher ein einzelner Parameter vom Typ String
deklariert wird.
JSON
"Parameters" : { "UserName" : { "Type" : "String", "Default" : "nonadmin", "Description" : "Assume a vanilla user if no command-line spec provided" } }
YAML
Parameters: UserName: Type: String Default: nonadmin Description: Assume a vanilla user if no command-line spec provided
Abschnitt „Parameters“ mit Zeichenfolgenparameter mit regulärer Ausdruckseinschränkung
Das folgende Beispiel beschreibt eine gültige Deklaration für den Abschnitt „Parameters“, in welcher ein einzelner Parameter vom Typ String
deklariert wird. Der AdminUserAccount Parameter hat den Standardwert Admin. Der Parameterwert muss eine Mindestlänge von 1 und eine maximale Länge von 16 aufweisen und enthält alphabetische Zeichen und Zahlen, aber muss mit einem Buchstaben beginnen.
JSON
"Parameters" : { "AdminUserAccount": { "Default": "admin", "NoEcho": "true", "Description" : "The admin account user name", "Type": "String", "MinLength": "1", "MaxLength": "16", "AllowedPattern" : "[a-zA-Z][a-zA-Z0-9]*" } }
YAML
Parameters: AdminUserAccount: Default: admin NoEcho: true Description: The admin account user name Type: String MinLength: 1 MaxLength: 16 AllowedPattern: '[a-zA-Z][a-zA-Z0-9]*'
Abschnitt „Parameters“ mit Zahlenparametern mit MaxValue Einschränkungen MinValue und
Das folgende Beispiel beschreibt eine gültige Deklaration für den Abschnitt „Parameters“, in welcher ein einzelner Parameter vom Typ Number
deklariert wird. Der WebServerPort Parameter hat den Standardwert 80 und einen Mindestwert 1 und einen Höchstwert 65535.
JSON
"Parameters" : { "WebServerPort": { "Default": "80", "Description" : "TCP/IP port for the web server", "Type": "Number", "MinValue": "1", "MaxValue": "65535" } }
YAML
Parameters: WebServerPort: Default: 80 Description: TCP/IP port for the web server Type: Number MinValue: 1 MaxValue: 65535
Abschnitt „Parameter“ mit Zahlenparameter mit AllowedValues Einschränkung
Das folgende Beispiel beschreibt eine gültige Deklaration für den Abschnitt „Parameters“, in welcher ein einzelner Parameter vom Typ Number
deklariert wird. Der WebServerPort Parameter hat den Standardwert 80 und erlaubt nur die Werte 80 und 8888.
JSON
"Parameters" : { "WebServerPortLimited": { "Default": "80", "Description" : "TCP/IP port for the web server", "Type": "Number", "AllowedValues" : ["80", "8888"] } }
YAML
Parameters: WebServerPortLimited: Default: 80 Description: TCP/IP port for the web server Type: Number AllowedValues: - 80 - 8888
Abschnitt „Parameter“ mit einem CommaDelimitedList Literalparameter
Das folgende Beispiel beschreibt eine gültige Deklaration für den Abschnitt „Parameters“, in welcher ein einzelner Parameter vom Typ CommaDelimitedList
deklariert wird. Die - NoEcho Eigenschaft ist auf gesetztTRUE
, wodurch ihr Wert in der aws cloudformation describe-stacks
Ausgabe mit Sternchen (*****) maskiert wird, mit Ausnahme von Informationen, die an den unten angegebenen Speicherorten gespeichert sind.
Wichtig
Durch die Verwendung des NoEcho
-Attributs werden keine Informationen maskiert, die im Folgenden gespeichert sind:
-
Die
Metadata
template section. CloudFormation dos transformiert, ändert oder redigiert keine Informationen, die Sie in denMetadata
Abschnitt aufnehmen. Weitere Informationen finden Sie unter Metadaten. -
Der
Outputs
-Vorlagenabschnitt. Weitere Informationen finden Sie unter Outputs. -
Das
Metadata
-Attribut einer Ressourcendefinition. Weitere Informationen finden Sie unter Metadata Attribut.
Es wird dringend empfohlen, diese Mechanismen nicht zu verwenden, um vertrauliche Informationen wie Passwörter oder Geheimnisse einzugeben.
Wichtig
Anstatt vertrauliche Informationen direkt in Ihre CloudFormation Vorlagen einzubetten, empfehlen wir Ihnen, dynamische Parameter in der Stack-Vorlage zu verwenden, um auf vertrauliche Informationen zu verweisen, die außerhalb von gespeichert und verwaltet werden CloudFormation, z. B. im AWS Systems Manager Parameter Store oder AWS Secrets Manager.
Weitere Informationen finden Sie in der Keine Anmeldeinformationen in Vorlagen einbetten bewährten Methode.
JSON
"Parameters" : { "UserRoles" : { "Type" : "CommaDelimitedList", "Default" : "guest,newhire", "NoEcho" : "TRUE" } }
YAML
Parameters: UserRoles: Type: CommaDelimitedList Default: "guest,newhire" NoEcho: true
Abschnitt „Parameters“ mit auf Pseudoparameter basierendem Parameterwert
Das folgende Beispiel zeigt Befehle in den EC2-Benutzerdaten, welche die Pseudoparameter AWS::StackName
und AWS::Region
verwenden. Weitere Informationen zu Pseudoparametern finden Sie unter Pseudoparameter-Referenz.
JSON
"UserData" : { "Fn::Base64" : { "Fn::Join" : ["", [ "#!/bin/bash -xe\n", "yum install -y aws-cfn-bootstrap\n", "/opt/aws/bin/cfn-init -v ", " --stack ", { "Ref" : "AWS::StackName" }, " --resource LaunchConfig ", " --region ", { "Ref" : "AWS::Region" }, "\n", "/opt/aws/bin/cfn-signal -e $? ", " --stack ", { "Ref" : "AWS::StackName" }, " --resource WebServerGroup ", " --region ", { "Ref" : "AWS::Region" }, "\n" ]]}} }
YAML
UserData: Fn::Base64: !Sub | #!/bin/bash -xe yum update -y aws-cfn-bootstrap /opt/aws/bin/cfn-init -v --stack ${AWS::StackName} --resource LaunchConfig --region ${AWS::Region} /opt/aws/bin/cfn-signal -e $? --stack ${AWS::StackName} --resource WebServerGroup --region ${AWS::Region}
Zuweisungsabschnitt mit drei Zuweisungen
Das folgende Beispiel zeigt eine gültige Deklaration des Zuweisungsabschnitts mit drei Zuweisungen. Die Zuweisung liefert bei Übereinstimmung mit dem Zuweisungsschlüssel Stop
, SlowDown
oder Go
die RGB-Werte, die dem entsprechenden RGBColor
-Attribut zugewiesen wurden.
JSON
"Mappings" : { "LightColor" : { "Stop" : { "Description" : "red", "RGBColor" : "RED 255 GREEN 0 BLUE 0" }, "SlowDown" : { "Description" : "yellow", "RGBColor" : "RED 255 GREEN 255 BLUE 0" }, "Go" : { "Description" : "green", "RGBColor" : "RED 0 GREEN 128 BLUE 0" } } }
YAML
Mappings: LightColor: Stop: Description: red RGBColor: "RED 255 GREEN 0 BLUE 0" SlowDown: Description: yellow RGBColor: "RED 255 GREEN 255 BLUE 0" Go: Description: green RGBColor: "RED 0 GREEN 128 BLUE 0"
Beschreibung auf Basis einer Literalzeichenfolge
Das folgende Beispiel zeigt eine gültige Deklaration des Beschreibungsabschnitts, in welcher der Wert auf einer Literalzeichenfolge basiert. Dieses Codefragment kann für Vorlagen, Parameter, Ressourcen, Eigenschaften oder Ausgaben verwendet werden.
JSON
"Description" : "
Replace this value
"
YAML
Description: "
Replace this value
"
Abschnitt „Outputs“ mit einer Literalzeichenfolgenausgabe
Dieses Beispiel zeigt eine Ausgabenzuweisung basierend auf einer Literalzeichenfolge.
JSON
"Outputs" : { "MyPhone" : { "Value" : "Please call 555-5555", "Description" : "A random message for aws cloudformation describe-stacks" } }
YAML
Outputs: MyPhone: Value: Please call 555-5555 Description: A random message for aws cloudformation describe-stacks
Abschnitt „Outputs“ mit einer Ressourcenreferenz und einer Pseudoreferenzausgabe
Dieses Beispiel zeigt einen Outputs-Abschnitt mit zwei Ausgabenzuweisungen. Eine basiert auf einer Ressource und die andere auf einer Pseudoreferenz.
JSON
"Outputs" : { "SNSTopic" : { "Value" : { "Ref" : "MyNotificationTopic" } }, "StackName" : { "Value" : { "Ref" : "AWS::StackName" } } }
YAML
Outputs: SNSTopic: Value: !Ref MyNotificationTopic StackName: Value: !Ref AWS::StackName
Abschnitt „Outputs“ mit einer auf einer Funktion, einer Literalzeichenfolge, einer Referenz und einem Pseudoparameter basierenden Ausgabe
Dieses Beispiel zeigt einen Outputs-Abschnitt mit einer Ausgabenzuweisung. Die Join-Funktion wird verwendet, um den Wert zu verketten, wobei ein Prozentzeichen als Begrenzungszeichen verwendet wird.
JSON
"Outputs" : { "MyOutput" : { "Value" : { "Fn::Join" : [ "%", [ "A-string", {"Ref" : "AWS::StackName" } ] ] } } }
YAML
Outputs: MyOutput: Value: !Join [ %, [ 'A-string', !Ref 'AWS::StackName' ]]
Vorlagenformatversion
Der folgende Codeausschnitt zeigt ein gültiges Beispiel für eine gültige Deklaration der Vorlagenformatversion.
JSON
"AWSTemplateFormatVersion" : "2010-09-09"
YAML
AWSTemplateFormatVersion: '2010-09-09'
AWS Tag-Eigenschaft
Dieses Beispiel zeigt eine - AWS Tag-Eigenschaft. Sie würden diese Eigenschaft im Abschnitt „Properties” einer Ressource angeben. Wenn die Ressource erstellt wird, wird sie mit den Tags markiert, die Sie deklarieren.
JSON
"Tags" : [ { "Key" : "keyname1", "Value" : "value1" }, { "Key" : "keyname2", "Value" : "value2" } ]
YAML
Tags: - Key: "keyname1" Value: "value1" - Key: "keyname2" Value: "value2"