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.
Andere CloudFormation Vorlagentasten
Wir haben bereits Schlüssel für Konfigurationsdateien CloudFormation wie Resourcesfiles, und eingeführtpackages. Elastic Beanstalk fügt der CloudFormation Vorlage, die Ihre Umgebung unterstützt, den Inhalt von Konfigurationsdateien hinzu, sodass Sie andere CloudFormation Abschnitte verwenden können, um erweiterte Aufgaben in Ihren Konfigurationsdateien auszuführen.
Schlüssel
Parameters
Parameter sind eine Alternative zu den eigenen benutzerdefinierten Optionen von Elastic Beanstalk, die Sie zum Definieren von Werten verwenden können, die Sie an anderer Stelle in Ihren Konfigurationsdateien verwenden. Ebenso wie benutzerdefinierte Optionen können Sie Parameter verwenden, um vom Benutzer konfigurierbare Werte zentral zu erfassen. Im Gegensatz zu benutzerdefinierten Optionen können Sie die API von Elastic Beanstalk nicht verwenden, um Parameterwerte festzulegen, und die Anzahl der Parameter, die Sie in einer Vorlage definieren können, ist begrenzt durch. CloudFormation
Ein Grund, warum Sie Parameter verwenden möchten, besteht darin, dass Ihre Konfigurationsdateien gleichzeitig als CloudFormation Vorlagen dienen. Wenn Sie Parameter anstelle von benutzerdefinierten Optionen verwenden, können Sie die Konfigurationsdatei verwenden, um dieselbe Ressource in einem CloudFormation eigenen Stapel zu erstellen. Beispiel: Sie haben eine Konfigurationsdatei, die ein Amazon EFS-Dateisystem zu Testzwecken zur Umgebung hinzufügt. Dann verwenden Sie dieselbe Datei, um ein unabhängiges Dateisystem zu erstellen, das nicht in den Produktionslebenszyklus Ihrer Umgebung eingebunden ist.
Das folgende Beispiel zeigt die Verwendung von Parametern, um vom Benutzer konfigurierbare Werte zu Beginn einer Konfigurationsdatei zu erfassen.
Beispiel L oadbalancer-accesslogs-existingbucket .config — Parameter
Parameters:
bucket:
Type: String
Description: "Name of the Amazon S3 bucket in which to store load balancer logs"
Default: "amzn-s3-demo-bucket"
bucketprefix:
Type: String
Description: "Optional prefix. Can't start or end with a /, or contain the word AWSLogs"
Default: ""Outputs
Verwenden Sie einen Outputs-Block, um Informationen zu den erstellen Ressourcen nach CloudFormation zu exportieren. Anschließend können Sie die Fn::ImportValue Funktion verwenden, um den Wert in eine CloudFormation Vorlage außerhalb von Elastic Beanstalk zu übertragen.
Im folgenden Beispiel wird ein Amazon SNS SNS-Thema erstellt und dessen ARN CloudFormation mit dem Namen NotificationTopicArn exportiert.
Beispiel sns-topic.config
Resources:
NotificationTopic:
Type: AWS::SNS::Topic
Outputs:
NotificationTopicArn:
Description: Notification topic ARN
Value: { "Ref" : "NotificationTopic" }
Export:
Name: NotificationTopicArnIn einer Konfigurationsdatei für eine andere Umgebung oder einer CloudFormation Vorlage außerhalb von Elastic Beanstalk können Sie die Fn::ImportValue Funktion verwenden, um den exportierten ARN abzurufen. In diesem Beispiel wird der exportierte Wert einer Umgebungseigenschaft namens TOPIC_ARN zugewiesen.
Beispiel env.config
option_settings:
aws:elasticbeanstalk:application:environment:
TOPIC_ARN: '`{ "Fn::ImportValue" : "NotificationTopicArn" }`'Mappings
Sie können eine Zuweisung verwenden, um Schlüssel-Wert-Paare nach Namespace sortiert zu speichern. Mit Zuweisungen können Sie Werte, die Sie in Ihren Konfigurationsdateien verwenden, strukturieren oder einen Parameterwert abhängig von einem anderen Wert ändern. mit der folgenden Konfiguration wird beispielsweise der Wert eines Konto-ID-Parameters basierend auf der aktuellen Region festgelegt.
Beispiel L oadbalancer-accesslogs-newbucket .config — Zuordnungen
Mappings:
Region2ELBAccountId:
us-east-1:
AccountId: "111122223333"
us-west-2:
AccountId: "444455556666"
us-west-1:
AccountId: "123456789012"
eu-west-1:
AccountId: "777788889999"
...
Principal:
AWS:
? "Fn::FindInMap"
:
- Region2ELBAccountId
-
Ref: "AWS::Region"
- AccountId