Untuk menanyakan parameter secara efisien dalam template Resource Orchestration Service (ROS), Anda dapat membuat parameter tersebut di Parameter Store dari CloudOps Orchestration Service (OOS) dan tentukan nama parameter di dalam template ROS.
Informasi Latar Belakang
OOS Parameter Store memungkinkan Anda menyimpan parameter umum dan parameter enkripsi. Parameter enkripsi mengenkripsi nilai yang disimpan menggunakan Key Management Service (KMS). Topik ini menjelaskan cara membuat parameter menggunakan OOS Parameter Store, merujuk parameter dalam template ROS, dan kemudian menggunakan template untuk membuat tumpukan. Dalam contoh ini, sekelompok instance Elastic Compute Service (ECS) digunakan. Tabel berikut menjelaskan parameter yang dibuat.
Parameter | Nama | Kategori | Tipe | Nilai |
ImageId | my_image | Parameter Umum | String | centos_7_9_x64_20G_alibase_2020****.vhd |
SecurityGroupIds | security_group_ids | Parameter Umum | StringList | sg-group1,sg-group2 |
Password | Password | Parameter Enkripsi | String | MyPassword1 |
Untuk informasi lebih lanjut tentang parameter, lihat ALIYUN::ECS::InstanceGroup.
Saat membuat parameter yang ingin dirujuk dalam template, pilih wilayah tempat Anda ingin membuat tumpukan dengan menggunakan template. Sebagai contoh, jika Anda ingin menggunakan template untuk membuat tumpukan di wilayah China (Hangzhou), Anda harus memilih wilayah China (Hangzhou) saat membuat parameter.
Langkah 1: Buat parameter di konsol OOS
Masuk ke konsol OOS.
Di panel navigasi sisi kiri, klik Parameter Store.
Di bilah navigasi atas, pilih wilayah tempat Anda ingin membuat parameter.
CatatanWilayah yang Anda pilih untuk parameter harus sama dengan wilayah tempat Anda ingin membuat tumpukan. Dalam contoh ini, wilayah China (Hangzhou) dipilih.
Buat parameter ImageId umum.
Pada halaman Parameter Store, klik tab Common Parameters lalu klik Create Common Parameter.
Pada halaman Create Common Parameter, konfigurasikan Parameter Name, Value, dan Parameter Type.
Dalam contoh ini, parameter diatur ke nilai 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 nama parameter pada tab Common Parameters untuk melihat detail parameter. Pada tab Description, Anda dapat melihat detail seperti nama, versi, tipe, dan nilai.
Buat parameter SecurityGroupIds umum.
Pada halaman Parameter Store, klik tab Common Parameters lalu klik Create Common Parameter.
Pada halaman Create Common Parameter, konfigurasikan Parameter Name, Value, dan Parameter Type.
Dalam contoh ini, parameter diatur ke nilai berikut:
Parameter Name: security_group_ids
Parameter Type: StringList
Value: sg-group1,sg-group2
Klik Create.
Setelah parameter dibuat, Anda dapat mengklik nama parameter pada tab Common Parameters untuk melihat detail parameter. Pada tab Description, Anda dapat melihat detail seperti nama, versi, tipe, dan nilai.
Buat parameter Password enkripsi.
Pada halaman Parameter Store, klik tab Encryption Parameters lalu klik Create Encryption Parameter.
Pada halaman Create Encryption Parameter, konfigurasikan Parameter Name, Value, dan KMS Key ID.
Dalam contoh ini, parameter diatur ke nilai berikut:
Parameter Name: Password
KMS Key ID: Default Service CMK
Value: MyPassword1
Klik Create.
Setelah parameter dibuat, Anda dapat mengklik nama parameter Password pada tab Encryption Parameters untuk melihat detail parameter. Pada tab Description, Anda dapat mengklik Show di sebelah Value untuk melihat nilai parameter Password.
Langkah 2: Buat template ROS
Setelah parameter dibuat, buat template ROS dan rujuk parameter di bagian Parameters atau Resources dari template.
Rujuk parameter di bagian Parameters
Untuk parameter umum, atur parameter Type ke ALIYUN::OOS::Parameter::Value. Untuk parameter enkripsi, atur parameter Type ke ALIYUN::OOS::SecretParameter::Value.
Berikut adalah contoh kode untuk merujuk nilai parameter ImageId versi terbaru:
Parameters: ImageId: Type: ALIYUN::OOS::Parameter::Value Default: my_imageJika Anda ingin merujuk nilai parameter versi 1, ganti my_image dalam kode dengan my_image:1.
Rujuk parameter di bagian Resources
Anda dapat merujuk parameter di bagian Properties dari suatu resource. Format:
{{resolve:<Parameter type>:<Parameter key>:<Parameter version>}}.Tipe parameter
Wajib. Kategori parameter. Nilai valid:
oos: parameter umum
oos-secret: parameter enkripsi
Nama parameter
Wajib. Nama parameter.
Versi parameter
Opsional. Versi parameter. Jika Anda tidak menentukan versi parameter, versi terbaru akan digunakan.
Berikut adalah contoh kode untuk merujuk nilai parameter ImageId versi terbaru dan nilai parameter Password versi 2:
Resources: ECS: Type: ALIYUN::ECS::Instance Properties: ImageId: '{{resolve:oos:my_image}}' Password: '{{resolve:oos-secret:Password:2}}' ...: null
Saat merujuk parameter dalam template, sebagian besar fungsi tersedia di template, kecuali fungsi Ref, Fn::GetAtt, Fn::GetStackOutput, dan Fn::Calculate. Untuk informasi lebih lanjut tentang fungsi, lihat Fungsi. Fungsi yang tidak tersedia termasuk Ref, Fn::GetAtt, Fn::GetStackOutput, dan Fn::Calculate.
Dalam contoh ini, template berikut dibuat:
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 mengonversi tipe parameter yang dirujuk dalam template ROS berdasarkan tipe parameter yang didefinisikan di OOS. Parameter OOS mendukung tipe String dan StringList. Jika parameter bertipe StringList dirujuk dalam template ROS, ROS mengonversi parameter menjadi tipe List untuk template. Sebagai contoh, jika Anda menggunakan parameter SecurityGroupIds yang bertipe StringList dan bernilai sg-group1,sg-group2 untuk membuat resource bertipe ALIYUN::ECS::InstanceGroup, nilai parameter SecurityGroupIds dikonversi menjadi ["sg-group1", "sg-group2"].
Langkah 3: Buat tumpukan di konsol ROS
Di konsol ROS, gunakan template yang Anda buat di Langkah 2 untuk membuat tumpukan. Dalam contoh ini, template digunakan untuk membuat sekelompok instance ECS. Untuk informasi lebih lanjut, lihat Buat tumpukan.
Setelah tumpukan dibuat, Anda dapat melakukan operasi berikut untuk memeriksa apakah parameter dirujuk sesuai harapan dalam template: Di panel navigasi sisi kiri konsol ROS, klik Stacks. Pada halaman Stacks, temukan tumpukan dan klik nama tumpukan. Pada halaman yang muncul, klik tab Parameters untuk melihat parameter dan nilai parameter.