Jika Anda sering menggunakan nilai parameter yang sama dalam templat Resource Orchestration Service (ROS), Anda dapat menyimpannya di Operation Orchestration Service (OOS) Parameter Store dan mereferensikannya berdasarkan nama dalam templat ROS.
Latar Belakang
OOS Parameter Store memungkinkan Anda menyimpan nilai sebagai parameter umum atau parameter enkripsi. Parameter enkripsi dienkripsi oleh Key Management Service (KMS). Topik ini menggunakan contoh pembuatan kelompok instans ECS untuk menunjukkan cara membuat parameter di OOS Parameter Store dan mereferensikannya dalam templat ROS. Contoh ini membuat parameter berikut:
Parameter | Nama Parameter | Kategori | Tipe | Nilai |
ImageId | my_image | common parameter | String | centos_7_9_x64_20G_alibase_2020****.vhd |
SecurityGroupIds | security_group_ids | common parameter | StringList | sg-group1,sg-group2 |
Password | Password | encryption parameter | String | MyPassword1 |
Untuk informasi lebih lanjut tentang parameter tersebut, lihat ALIYUN::ECS::InstanceGroup.
Anda harus membuat parameter di wilayah yang sama dengan stack yang menggunakannya. Misalnya, jika Anda berencana membuat stack di wilayah China (Hangzhou), buatlah parameter tersebut di wilayah yang sama.
Langkah 1: Buat parameter di konsol OOS
Masuk ke konsol OOS.
Di panel navigasi sebelah kiri, klik Parameter Store.
Di daftar drop-down wilayah pada bilah navigasi atas, pilih wilayah tempat Anda ingin membuat parameter.
CatatanParameter harus berada di wilayah yang sama dengan stack Anda. Dalam contoh ini, pilih China (Hangzhou).
Buat parameter umum
my_image.Pada halaman Parameter Store, klik tab Common Parameters, lalu klik Create Common Parameter.
Pada halaman Create Common Parameter, konfigurasikan Parameter Name dan Value, serta pilih Parameter Type.
Untuk contoh ini, gunakan pengaturan berikut:
Parameter Name: my_image.
Parameter Type: String.
Value: centos_7_9_x64_20G_alibase_2020****.vhd.
Klik Create.
Setelah parameter dibuat, Anda dapat mengklik namanya pada tab Common Parameters dan melihat detailnya—seperti nama, versi, tipe, dan nilai—pada tab Description.
Buat parameter umum
security_group_ids.Pada halaman Parameter Store, klik tab Common Parameters, lalu klik Create Common Parameter.
Pada halaman Create Common Parameter, konfigurasikan Parameter Name dan Value, serta pilih Parameter Type.
Untuk contoh ini, gunakan pengaturan berikut:
Parameter Name: security_group_ids.
Parameter Type: StringList.
Value: sg-group1,sg-group2.
Klik Create.
Setelah parameter dibuat, Anda dapat mengklik namanya pada tab Common Parameters dan melihat detailnya—seperti nama, versi, tipe, dan nilai—pada tab Description.
Buat parameter enkripsi
Password.Pada halaman Parameter Store, klik tab Encryption Parameters, lalu klik Create Encryption Parameter.
Pada halaman Create Encryption Parameter, konfigurasikan Parameter Name dan Value, serta pilih KMS Key ID.
Untuk contoh ini, gunakan pengaturan berikut:
Parameter Name: Password.
KMS Key ID: Default Service CMK.
Value: MyPassword1.
Klik Create.
Setelah parameter dibuat, Anda dapat mengklik nama parameter pada tab Encryption Parameters. Pada tab Description, klik Show di samping Value untuk melihat nilai parameter Password.
Langkah 2: Tulis templat ROS
Setelah membuat parameter, Anda dapat menulis templat ROS dan mereferensikannya di bagian Parameters atau Resources:
Referensikan parameter di bagian
ParametersAtur
TypemenjadiALIYUN::OOS::Parameter::Valueuntuk parameter umum atauALIYUN::OOS::SecretParameter::Valueuntuk parameter enkripsi.Sebagai contoh, kode berikut mendefinisikan parameter templat bernama
ImageIdyang mereferensikan versi terbaru dari parameter umummy_image.Parameters: ImageId: Type: ALIYUN::OOS::Parameter::Value Default: my_imageAnda juga dapat mereferensikan versi tertentu, misalnya versi 1, dengan mengatur parameter menjadi
my_image:1.Referensikan parameter di bagian
ResourcesAnda dapat mereferensikan parameter dalam
Propertiessuatu resource dengan format berikut:{{resolve:<parameter-type>:<parameter-name>:<version-number>}}.parameter-type(Wajib)Tipe parameter. Nilai yang valid:
oos: parameter umum.oos-secret: parameter enkripsi.
parameter-name(Wajib)Nama parameter.
version-number(Opsional)Versi parameter. Jika tidak ditentukan, versi terbaru yang akan digunakan.
Sebagai contoh, kode berikut menunjukkan cara mereferensikan versi terbaru dari parameter umum
my_imageuntuk propertiImageIddan versi 2 dari parameter enkripsiPassword.Resources: ECS: Type: ALIYUN::ECS::Instance Properties: ImageId: '{{resolve:oos:my_image}}' Password: '{{resolve:oos-secret:Password:2}}' ...: null
Anda dapat menggunakan sebagian besar fungsi intrinsik saat mereferensikan parameter dalam templat. Untuk informasi lebih lanjut, lihat Functions. Fungsi berikut tidak didukung: Ref, Fn::GetAtt, Fn::GetStackOutput, dan Fn::Calculate.
Templat berikut digunakan dalam contoh ini:
ROSTemplateFormatVersion: '2015-09-01'
Parameters:
InstanceType:
Type: String
Default: ecs.c6.large
ImageId:
Type: ALIYUN::OOS::Parameter::Value
Default: my_image
Vpc:
Type: String
VSwitch:
Type: String
Resources:
ECS:
Type: ALIYUN::ECS::InstanceGroup
Properties:
ImageId:
Ref: ImageId
InstanceType:
Ref: InstanceType
VpcId:
Ref: Vpc
VSwitchId:
Ref: VSwitch
SecurityGroupIds: '{{resolve:oos:security_group_ids:1}}'
Password: '{{resolve:oos-secret:Password}}'
MaxAmount: 1
Outputs:
InstanceIds:
Value:
Fn::GetAtt:
- ECS
- InstanceIdsROS secara otomatis mengonversi tipe data parameter yang direferensikan berdasarkan tipenya di OOS Parameter Store. Parameter Store mendukung tipe String dan StringList. Jika Anda mereferensikan parameter bertipe StringList, ROS mengonversinya menjadi List untuk digunakan dalam templat. Sebagai contoh, parameter security_group_ids adalah StringList dengan nilai sg-group1,sg-group2. Saat Anda menggunakan parameter ini untuk membuat resource ALIYUN::ECS::InstanceGroup, ROS menyelesaikan nilainya menjadi ["sg-group1", "sg-group2"].
Langkah 3: Buat stack di konsol ROS
Di konsol ROS, gunakan templat contoh dari Langkah 2 untuk membuat stack yang membuat kelompok instans ECS. Untuk petunjuk lengkap, lihat Create a stack.
Setelah stack dibuat, Anda dapat memverifikasi bahwa parameter telah direferensikan dengan benar. Di panel navigasi sebelah kiri konsol ROS, klik Stacks. Pada halaman Stacks, temukan dan klik nama stack Anda. Pada halaman detail stack, klik tab Parameters untuk melihat parameter dan nilai yang telah diselesaikan.