Templat adalah cetak biru yang mendefinisikan sumber daya layanan cloud dan dependensinya untuk penerapan melalui Resource Orchestration Service (ROS). Contoh ini memandu Anda menulis templat yang membuat virtual private cloud (VPC) dan vSwitch.
Prasyarat
Anda telah memahami persyaratan struktur templat. Untuk informasi selengkapnya, lihat Struktur templat.
Pilih editor templat
Anda dapat menggunakan editor online, yang mendukung hinting sintaks otomatis dan validasi properti resource.
-
Editor online: Tidak memerlukan instalasi dan dapat langsung digunakan. Cocok untuk menulis templat penerapan dan manajemen sumber daya dalam skenario sederhana. Untuk informasi lebih lanjut tentang cara menggunakan editor online, lihat Menulis templat dengan editor online ROS.
Definisikan templat
Untuk mendefinisikan templat, deklarasikan resource yang ingin Anda buat di bagian Resources. Lihat Indeks tipe resource untuk semua tipe resource yang didukung. Dokumentasi setiap tipe resource mencantumkan properti dan nilai kembali yang didukung, termasuk apakah suatu properti wajib atau dapat diedit. Properti wajib harus dideklarasikan di bagian Properties pada bagian Resources. Properti yang dapat diedit bisa dimodifikasi melalui pembaruan stack; properti yang tidak dapat diedit tidak bisa diubah setelah pembuatan.
-
Lihat detail tipe resource yang diinginkan.
-
Lihat Indeks tipe resource untuk menemukan tipe resource yang sesuai dengan skenario penerapan Anda. Dalam contoh ini, tipe resource ALIYUN::ECS::VPC dan ALIYUN::ECS::VSwitch yang digunakan untuk membuat VPC dan vSwitch adalah yang paling sesuai.
-
Lihat dokumentasi masing-masing tipe resource dan periksa properti resourcenya.
-
-
Di bagian Parameters, definisikan parameter templat.
Definisikan VpcCidrBlock untuk VPC, serta ZoneId,
VSwitchName, danVSwitchCidrBlockuntuk vSwitch. Parameter pada bagian ini akan muncul sebagai elemen GUI di Konsol ROS. Untuk informasi selengkapnya, lihat ALIYUN::ECS::VPC dan ALIYUN::ECS::VSwitch. Blok CIDR vSwitch harus berada dalam blok CIDR VPC.Parameters: VpcCidrBlock: Type: String Default: 192.168.0.0/16 AllowedValues: - 10.0.0.0/8 - 172.16.0.0/12 - 192.168.0.0/16 ZoneId: Type: String AssociationProperty: ALIYUN::ECS::Instance::ZoneId VSwitchName: Type: String VSwitchCidrBlock: Type: String Default: 192.168.0.0/24 AllowedValues: - 10.0.0.0/24 - 172.16.0.0/24 - 192.168.0.0/24 -
Di bagian Resources, definisikan resource yang ingin Anda buat.
VpcId, ZoneId, dan CidrBlock wajib ditentukan untuk vSwitch. Properti lain bersifat opsional. Untuk informasi selengkapnya, lihat ALIYUN::ECS::VPC dan ALIYUN::ECS::VSwitch. Gunakan fungsi Ref untuk mereferensikan parameter, atau tentukan nilai secara langsung. Untuk informasi selengkapnya, lihat Ref.
Resources: Vpc: Type: ALIYUN::ECS::VPC Properties: VpcName: MyTest CidrBlock: Ref: VpcCidrBlock VSwitch: Type: ALIYUN::ECS::VSwitch Properties: VpcId: Ref: Vpc ZoneId: Ref: ZoneId VSwitchName: Ref: VSwitchName CidrBlock: Ref: VSwitchCidrBlock -
Di bagian Outputs, definisikan output templat.
Definisikan VpcId dan VSwitchId sebagai output. Untuk informasi selengkapnya, lihat ALIYUN::ECS::VPC dan ALIYUN::ECS::VSwitch. Gunakan fungsi Fn::GetAtt untuk mengambil nilai properti resource. Untuk informasi selengkapnya, lihat Fn::GetAtt.
Outputs: VpcId: Value: Fn::GetAtt: - Vpc - VpcId VSwitchId: Value: Fn::GetAtt: - VSwitch - VSwitchId -
Ikuti struktur templat untuk mendefinisikan konten templat lengkap.
ROSTemplateFormatVersion: '2015-09-01' Parameters: VSwitchName: Type: String VSwitchCidrBlock: Default: 192.168.0.0/24 Type: String AllowedValues: - 10.0.0.0/24 - 172.16.0.0/24 - 192.168.0.0/24 VpcCidrBlock: Default: 192.168.0.0/16 Type: String AllowedValues: - 10.0.0.0/8 - 172.16.0.0/12 - 192.168.0.0/16 ZoneId: AssociationProperty: ALIYUN::ECS::Instance::ZoneId Type: String Resources: VSwitch: Type: ALIYUN::ECS::VSwitch Properties: VSwitchName: Ref: VSwitchName VpcId: Ref: Vpc CidrBlock: Ref: VSwitchCidrBlock ZoneId: Ref: ZoneId Vpc: Type: ALIYUN::ECS::VPC Properties: VpcName: MyTest CidrBlock: Ref: VpcCidrBlock Outputs: VpcId: Value: Fn::GetAtt: - Vpc - VpcId VSwitchId: Value: Fn::GetAtt: - VSwitch - VSwitchId
Langkah selanjutnya
Gunakan templat yang telah didefinisikan untuk membuat stack atau simpan templat tersebut sebagai template pribadi Anda. Untuk informasi selengkapnya, lihat Panduan cepat stack dan Membuat templat.
Referensi
-
Konfigurasi pengaturan templat advanced:
-
Memulai dengan templat ROS: menjelaskan cara membuat templat.
-
Metadata: menjelaskan cara mendefinisikan tata letak visual templat.
-
Mappings: menjelaskan cara mendefinisikan pemetaan templat.
-
Conditions dan Functions: menjelaskan cara mendefinisikan kondisi dengan menggunakan fungsi bawaan.
-
Rules: menjelaskan cara mendefinisikan aturan templat.
-
-
Praktik terbaik templat: