Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Abbiamo già introdotto le chiavi dei file di configurazione AWS CloudFormation come Resources
files
, epackages
. Elastic Beanstalk aggiunge il contenuto dei file di configurazione AWS CloudFormation al modello che supporta l'ambiente, in modo da poter AWS CloudFormation utilizzare altre sezioni per eseguire attività avanzate nei file di configurazione.
Parametri
I parametri sono un'alternativa alle opzioni personalizzate di Elastic Beanstalk che puoi utilizzare per definire i valori che utilizzi in altre posizioni nei file di configurazione. Come le opzioni personalizzate, puoi utilizzare i parametri per raccogliere i valori configurabili dall'utente in un unico posto. A differenza delle opzioni personalizzate, non è possibile utilizzare l'API di Elastic Beanstalk per impostare i valori dei parametri e il numero di parametri che è possibile definire in un modello è limitato da. AWS CloudFormation
Uno dei motivi per cui potresti voler utilizzare i parametri è fare in modo che i tuoi file di configurazione fungano anche da modelli. AWS CloudFormation Se si utilizzano parametri anziché opzioni personalizzate, è possibile utilizzare il file di configurazione per creare la stessa risorsa in AWS CloudFormation un proprio stack. Ad esempio, puoi avere un file di configurazione che aggiunge un file system Amazon EFS al tuo ambiente per il testing, quindi puoi utilizzare lo stesso file per creare un file system indipendente, non collegato al ciclo di vita del tuo ambiente, per l'uso in produzione.
Il seguente esempio mostra l'uso di parametri per la raccolta di valori configurabili dall'utente all'inizio di un file di configurazione.
Esempio L oadbalancer-accesslogs-existingbucket .config — Parametri
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: ""
Output
Puoi utilizzare un blocco Outputs
per esportare informazioni sulle risorse create in AWS CloudFormation. È quindi possibile utilizzare la Fn::ImportValue
funzione per inserire il valore in un AWS CloudFormation modello esterno a Elastic Beanstalk.
L'esempio seguente crea un argomento Amazon SNS e ne esporta l'ARN in con il nome. AWS CloudFormation NotificationTopicArn
Esempio sns-topic.config
Resources:
NotificationTopic:
Type: AWS::SNS::Topic
Outputs:
NotificationTopicArn:
Description: Notification topic ARN
Value: { "Ref" : "NotificationTopic" }
Export:
Name: NotificationTopicArn
In un file di configurazione per un ambiente diverso o in un AWS CloudFormation modello esterno a Elastic Beanstalk, puoi Fn::ImportValue
usare la funzione per ottenere l'ARN esportato. Questo esempio assegna il valore esportato a una proprietà dell'ambiente denominata TOPIC_ARN
.
Esempio env.config
option_settings:
aws:elasticbeanstalk:application:environment:
TOPIC_ARN: '`{ "Fn::ImportValue" : "NotificationTopicArn" }`'
Mappature
Puoi usare una mappatura per archiviare coppie chiave-valore organizzate per spazio dei nomi. Una mappatura può aiutarti a organizzare i valori che utilizzi in tutte le configurazioni o a modificare il valore di un parametro in base a un altro valore. Ad esempio, la seguente configurazione imposta il valore di un parametro ID dell'account in base alla regione corrente.
Esempio L .config — Mappature oadbalancer-accesslogs-newbucket
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