Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Kunci CloudFormation template lainnya
Kami telah memperkenalkan kunci file konfigurasi dari CloudFormation sepertiResources,files, danpackages. Elastic Beanstalk menambahkan konten file konfigurasi CloudFormation ke template yang mendukung lingkungan Anda, sehingga Anda dapat CloudFormation menggunakan bagian lain untuk melakukan tugas-tugas lanjutan dalam file konfigurasi Anda.
Parameter
Parameter adalah alternatif untuk opsi khusus Elastic Beanstalk sendiri yang dapat Anda gunakan untuk menentukan nilai yang Anda gunakan di tempat lain dalam file konfigurasi Anda. Seperti opsi khusus, Anda dapat menggunakan parameter untuk mengumpulkan nilai yang dapat dikonfigurasi pengguna di satu tempat. Tidak seperti opsi khusus, Anda tidak dapat menggunakan API Elastic Beanstalk untuk menetapkan nilai parameter, dan jumlah parameter yang dapat Anda tentukan dalam templat dibatasi oleh. CloudFormation
Salah satu alasan Anda mungkin ingin menggunakan parameter adalah untuk membuat file konfigurasi Anda berfungsi ganda sebagai CloudFormation templat. Jika Anda menggunakan parameter alih-alih opsi khusus, Anda dapat menggunakan file konfigurasi untuk membuat sumber daya yang sama CloudFormation sebagai tumpukannya sendiri. Misalnya, Anda bisa memiliki file konfigurasi yang menambahkan sistem file Amazon EFS ke lingkungan Anda untuk pengujian, dan kemudian menggunakan file yang sama untuk membuat sistem file independen yang tidak terikat ke siklus hidup lingkungan Anda untuk penggunaan produksi.
Contoh berikut menunjukkan penggunaan parameter untuk mengumpulkan nilai yang dapat dikonfigurasi pengguna di bagian atas file konfigurasi.
contoh 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: ""Output
Anda dapat menggunakan blok Outputs untuk mengekspor informasi tentang sumber daya yang dibuat ke CloudFormation. Anda kemudian dapat menggunakan Fn::ImportValue fungsi untuk menarik nilai ke dalam CloudFormation template di luar Elastic Beanstalk.
Contoh berikut membuat topik Amazon SNS dan mengekspor ARN ke dengan nama. CloudFormation NotificationTopicArn
contoh sns-topic.config
Resources:
NotificationTopic:
Type: AWS::SNS::Topic
Outputs:
NotificationTopicArn:
Description: Notification topic ARN
Value: { "Ref" : "NotificationTopic" }
Export:
Name: NotificationTopicArnDalam file konfigurasi untuk lingkungan yang berbeda, atau CloudFormation template di luar Elastic Beanstalk, Anda dapat Fn::ImportValue menggunakan fungsi untuk mendapatkan ARN yang diekspor. Contoh ini memberikan nilai diekspor ke properti lingkungan bernama TOPIC_ARN.
contoh env.config
option_settings:
aws:elasticbeanstalk:application:environment:
TOPIC_ARN: '`{ "Fn::ImportValue" : "NotificationTopicArn" }`'Pemetaan
Anda dapat menggunakan pemetaan untuk menyimpan pasangan nilai kunci yang diatur oleh namespace. Pemetaan dapat membantu Anda mengatur nilai yang Anda gunakan di seluruh konfigurasi Anda, atau mengubah nilai parameter tergantung pada nilai yang lain. Misalnya, konfigurasi berikut menetapkan nilai parameter ID akun berdasarkan wilayah saat ini.
contoh L oadbalancer-accesslogs-newbucket .config - Pemetaan
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