Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
CloudFormation format templat
Anda dapat membuat CloudFormation template dalam format JSON atau YAMAL. Kedua format melayani tujuan yang sama tetapi menawarkan keuntungan yang berbeda dalam hal keterbacaan dan kompleksitas.
-
JSON - JSON adalah format pertukaran data ringan yang mudah diurai dan dihasilkan oleh mesin. Namun, dapat menjadi rumit bagi manusia untuk membaca dan menulis, terutama untuk konfigurasi yang kompleks. Di JSON, template disusun menggunakan tanda kurung
{}
dan tanda kurung bersarang[]
untuk menentukan sumber daya, parameter, dan komponen lainnya. Sintaksnya membutuhkan deklarasi eksplisit dari setiap elemen, yang dapat membuat template bertele-tele tetapi memastikan kepatuhan yang ketat terhadap format terstruktur. -
YAMAL — YAMAL dirancang agar lebih mudah dibaca manusia dan kurang bertele-tele daripada JSON. Ini menggunakan lekukan daripada kawat gigi dan tanda kurung untuk menunjukkan bersarang, yang dapat membuatnya lebih mudah untuk memvisualisasikan hierarki sumber daya dan parameter. YAMAL sering disukai karena kejelasan dan kemudahan penggunaannya, terutama ketika berhadapan dengan template yang lebih kompleks. Namun, ketergantungan YAMAL pada lekukan dapat menyebabkan kesalahan jika jarak tidak konsisten, yang memerlukan perhatian yang cermat untuk menjaga akurasi.
Struktur templat
CloudFormation template dibagi menjadi beberapa bagian yang berbeda, dan setiap bagian dirancang untuk menyimpan jenis informasi tertentu. Beberapa bagian harus dinyatakan dalam urutan tertentu, dan untuk yang lain, urutannya tidak masalah. Namun, saat Anda membangun template Anda, akan sangat membantu untuk menggunakan urutan logis yang ditunjukkan dalam contoh berikut karena nilai dalam satu bagian mungkin merujuk ke nilai dari bagian sebelumnya.
Saat membuat template, jangan gunakan duplikat bagian utama, seperti bagian. Resources
Meskipun CloudFormation mungkin menerima template, itu akan memiliki perilaku yang tidak terdefinisi saat memproses template, dan mungkin salah menyediakan sumber daya, atau mengembalikan kesalahan yang tidak dapat dijelaskan.
JSON
Contoh berikut menunjukkan struktur template berformat JSON dengan semua bagian yang tersedia.
{ "AWSTemplateFormatVersion" : "
version date
", "Description" : "JSON string
", "Metadata" : {template metadata
}, "Parameters" : {set of parameters
}, "Rules" : {set of rules
}, "Mappings" : {set of mappings
}, "Conditions" : {set of conditions
}, "Transform" : {set of transforms
}, "Resources" : {set of resources
}, "Outputs" : {set of outputs
} }
YAML
Contoh berikut menunjukkan struktur template yang diformat YAML dengan semua bagian yang tersedia.
--- AWSTemplateFormatVersion:
version date
Description:String
Metadata:template metadata
Parameters:set of parameters
Rules:set of rules
Mappings:set of mappings
Conditions:set of conditions
Transform:set of transforms
Resources:set of resources
Outputs:set of outputs
Komentar
Dalam template berformat JSON, komentar tidak didukung. JSON, menurut desain, tidak menyertakan sintaks untuk komentar, yang berarti Anda tidak dapat menambahkan komentar secara langsung dalam struktur JSON. Namun, jika Anda perlu menyertakan catatan penjelasan atau dokumentasi, Anda dapat mempertimbangkan untuk menambahkan metadata. Untuk informasi selengkapnya, lihat Metadataatribut.
Dalam template berformat YAML, Anda dapat menyertakan komentar sebaris dengan menggunakan simbol. #
Contoh berikut menunjukkan templat YAML dengan komentar sejajar.
AWSTemplateFormatVersion: 2010-09-09 Description: A sample CloudFormation template with YAML comments. # Resources section Resources: MyEC2Instance: Type: AWS::EC2::Instance Properties: # Linux AMI ImageId: ami-1234567890abcdef0 InstanceType: t2.micro KeyName: MyKey BlockDeviceMappings: - DeviceName: /dev/sdm Ebs: VolumeType: io1 Iops: 200 DeleteOnTermination: false VolumeSize: 20
Spesifikasi
CloudFormation mendukung spesifikasi JSON dan YAMAL berikut:
- JSON
-
CloudFormation mengikuti standar ECMA-404 JSON. Untuk informasi tentang format JSON, lihat http://www.json.org
. - YAML
-
CloudFormation mendukung spesifikasi YAMAL Versi 1.1 dengan beberapa pengecualian. CloudFormation tidak mendukung fitur berikut:
-
Tanda
binary
,omap
,pairs
,set
, dantimestamp
-
Alias
-
Penggabungan hash
Untuk informasi lebih lanjut tentang YAML, lihat https://yaml.org
. -
Pelajari selengkapnya
Untuk setiap sumber daya yang Anda tentukan dalam template, Anda menentukan properti dan nilainya menggunakan aturan sintaks tertentu dari JSON atau YAMAL. Untuk informasi lebih lanjut tentang sintaksis templat untuk setiap format, lihat CloudFormation bagian template.