Saat membuat layanan di Compute Nest sebagai penyedia layanan, Anda harus mengimpor template. Anda dapat membuat template terlebih dahulu, lalu menyalin kontennya ke editor kode Konten Template di konsol Compute Nest atau mengunggahnya sebagai file untuk mengimpor. Topik ini menjelaskan cara membuat template JSON atau YAML serta memverifikasinya di konsol Resource Orchestration Service (ROS). Contoh ini menggunakan virtual private cloud (VPC).
Informasi latar belakang
Template di Compute Nest adalah template ROS. Anda dapat membuat template tumpukan berdasarkan spesifikasi yang didefinisikan di ROS. Dalam template, Anda dapat mendefinisikan sumber daya komputasi awan yang diperlukan, seperti Elastic Compute Service (ECS) dan instance ApsaraDB RDS, serta dependensi antar sumber daya tersebut. Mesin ROS secara otomatis membuat dan mengonfigurasi semua sumber daya dalam sebuah tumpukan berdasarkan template untuk mengotomatiskan penyebaran dan operasi & pemeliharaan. ROS adalah layanan dari Alibaba Cloud yang menyederhanakan manajemen sumber daya komputasi awan. Untuk informasi lebih lanjut, lihat Apa itu ROS?.
Buat template
ROS memungkinkan Anda membuat template JSON, YAML, atau Terraform. Anda dapat membuat template dengan menggunakan template contoh atau langsung membuatnya.
ROS menyediakan template contoh untuk skenario umum. Anda dapat membuat template dengan memodifikasi template contoh di halaman Template Contoh di konsol ROS. Template yang cocok untuk skenario penerapan perangkat lunak Independent Software Vendor (ISV) sering digunakan dalam skenario Compute Nest. Halaman detail setiap template menunjukkan cara memodifikasinya.
Jika ingin membuat template dengan melakukan perubahan sederhana pada template contoh, kami sarankan Anda melanjutkan ke langkah Verifikasi Template di Konsol ROS. Anda dapat memilih dan memodifikasi template contoh saat membuat tumpukan untuk memverifikasi template.
Anda dapat menggunakan editor teks untuk membuat template untuk skenario kompleks.
Kode contoh berikut menunjukkan cara membuat template YAML untuk membuat instance ECS:
ROSTemplateFormatVersion: '2015-09-01'
# Parameter-parameter.
Parameters:
PayType:
Type: String
Label:
en: ECS Instance Charge Type
zh-cn: deskripsi dalam bahasa Cina
Default: PostPaid
AllowedValues:
- PostPaid
- PrePaid
AssociationProperty: ChargeType
AssociationPropertyMetadata:
LocaleKey: InstanceChargeType
PayPeriodUnit:
Type: String
Label:
en: Pay Period Unit
zh-cn: deskripsi dalam bahasa Cina
Default: Month
AllowedValues:
- Month
- Year
AssociationProperty: PayPeriodUnit
AssociationPropertyMetadata:
Visible:
Condition:
Fn::Not:
Fn::Equals:
- ${PayType}
- PostPaid
PayPeriod:
Type: Number
Description:
en: Saat durasi pembelian sumber daya adalah Bulan, nilai dari Periode berkisar antara 1 hingga 9, 12, 24, 36, 48, atau 60. <b><font color='red'> Saat jenis instance ECS adalah PrePaid valid </font>
zh-cn: deskripsi dalam bahasa Cina
Label:
en: Period
zh-cn: deskripsi dalam bahasa Cina
Default: 1
AllowedValues:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
AssociationProperty: PayPeriod
AssociationPropertyMetadata:
Visible:
Condition:
Fn::Not:
Fn::Equals:
- ${PayType}
- PostPaid
EcsInstanceType:
Type: String
Label:
en: Instance Type
zh-cn: deskripsi dalam bahasa Cina
AssociationProperty: ALIYUN::ECS::Instance::InstanceType
AssociationPropertyMetadata:
ZoneId: ${ZoneId}
InstanceChargeType: ${InstanceChargeType}
InstancePassword:
NoEcho: true
Type: String
Description:
en: Kata sandi login server, Panjang 8-30, harus mencakup tiga (Huruf besar, huruf kecil, angka, ()`~!@#$%^&*_-+=|{}[]:;<>,.?/ Simbol khusus di dalam)
zh-cn: deskripsi dalam bahasa Cina
Label:
en: Instance Password
zh-cn: deskripsi dalam bahasa Cina
ConstraintDescription:
en: Panjang 8-30, harus mencakup tiga (Huruf besar, huruf kecil, angka, ()`~!@#$%^&*_-+=|{}[]:;<>,.?/ Simbol khusus di dalam)
zh-cn: deskripsi dalam bahasa Cina
AssociationProperty: ALIYUN::ECS::Instance::Password
AllowedPattern: '^[a-zA-Z0-9-\(\)\`\~\!\@\#\$\%\^\&\*\_\-\+\=\|\{\}\[\]\:\;\<\>\,\.\?\/]*$'
MinLength: 8
MaxLength: 30
ZoneId:
Type: String
AssociationProperty: ALIYUN::ECS::Instance::ZoneId
Label:
en: Zona Ketersediaan VSwitch
zh-cn: deskripsi dalam bahasa Cina
VpcId:
AssociationProperty: ALIYUN::ECS::VPC::VPCId
Type: String
Description:
en: Silakan cari ID yang dimulai dengan (vpc-xxx) dari konsol-Virtual Private Cloud
zh-cn: deskripsi dalam bahasa Cina
Label:
en: VPC ID
zh-cn: deskripsi dalam bahasa Cina
VSwitchId:
AssociationProperty: ALIYUN::ECS::VSwitch::VSwitchId
AssociationPropertyMetadata:
VpcId: ${VpcId}
ZoneId: ${ZoneId}
Type: String
Description:
en: ID switch jaringan bisnis yang ada, konsol-Virtual Private Cloud-VSwitches di bawah pencarian
zh-cn: deskripsi dalam bahasa Cina
Label:
en: VSwitch ID
zh-cn: deskripsi dalam bahasa Cina
# Sumber daya.
Resources:
EcsSecurityGroup:
Type: ALIYUN::ECS::SecurityGroup
Properties:
SecurityGroupName:
Ref: ALIYUN::StackName
VpcId:
Ref: VpcId
# Port masuk grup keamanan.
SecurityGroupIngress:
- PortRange: 80/80
Priority: 1
SourceCidrIp: 0.0.0.0/0
IpProtocol: tcp
NicType: internet
EcsInstanceGroup:
Type: ALIYUN::ECS::InstanceGroup
Properties:
# Nama instance.
InstanceName:
Fn::Join:
- '-'
- - Ref: ALIYUN::StackName
- '[1,4]'
IoOptimized: optimized
# Metode penagihan.
InstanceChargeType:
Ref: PayType
PeriodUnit:
Ref: PayPeriodUnit
Period:
Ref: PayPeriod
# Konfigurasi jaringan.
VpcId:
Ref: VpcId
ZoneId:
Ref: ZoneId
VSwitchId:
Ref: VSwitchId
SecurityGroupId:
Ref: EcsSecurityGroup
# Jenis dan ukuran disk.
SystemDiskCategory: cloud_essd
SystemDiskSize: 200
MaxAmount: 1
# Gambar.
ImageId: centos_7
# Jenis instance.
InstanceType:
Ref: EcsInstanceType
Password:
Ref: InstancePassword
# Aktifkan alamat IP publik.
AllocatePublicIP: true
# Bandwidth publik.
InternetMaxBandwidthOut: 1
ECSRunCommand:
Type: ALIYUN::ECS::RunCommand
Properties:
InstanceIds:
Fn::GetAtt:
- EcsInstanceGroup
- InstanceIds
Type: RunShellScript
Sync: true
Timeout: 3600
CommandContent: |-
#!/bin/bash
# Konfigurasi keluaran.
Outputs:
# Tampilkan alamat IP publik sebagai titik akhir yang dikembalikan oleh HTTP di konsol.
Endpoint:
Description:
zh-cn: deskripsi dalam bahasa Cina
en: Alamat IP Publik
Value:
Fn::Sub:
- http://${ServerAddress}
- ServerAddress:
Fn::Select:
- 0
- Fn::GetAtt:
- EcsInstanceGroup
- PublicIps
Metadata:
ALIYUN::ROS::Interface:
# Grup parameter.
ParameterGroups:
- Parameters:
- PayType
- PayPeriodUnit
- PayPeriod
Label:
default:
en: Konfigurasi PayType
zh-cn: deskripsi dalam bahasa Cina
- Parameters:
- EcsInstanceType
- InstancePassword
Label:
default:
en: Konfigurasi Instance ECS
zh-cn: deskripsi dalam bahasa Cina
- Parameters:
- ZoneId
- VpcId
- VSwitchId
Label:
default:
zh-cn: deskripsi dalam bahasa Cina
en: Pilih Infrastruktur yang AdaDalam template sebelumnya, parameter di bagian Parameters, Resources, Outputs, dan Metadata didefinisikan.
Parameter
Bagian Parameter mendefinisikan parameter yang perlu dikonfigurasikan saat membuat instance layanan. Tabel berikut menjelaskan parameter yang didefinisikan dalam bagian Parameter pada contoh ini.
Parameter | Deskripsi |
PayType | Metode penagihan. |
PayPeriodUnit | Satuan durasi langganan untuk sumber daya yang ingin Anda beli. |
PayPeriod | Durasi langganan untuk sumber daya. |
EcsInstanceType | Tipe instance dari Instance ECS. |
InstancePassword | Kata sandi yang digunakan untuk mengakses Instance ECS. |
ZoneId | ID zona di mana vSwitch ditempatkan. |
VpcId | ID VPC. |
VSwitchId | ID vSwitch. |
Sumber Daya
Bagian Sumber Daya mendefinisikan sumber daya yang akan dibuat serta parameter Tipe dan Properti dari setiap sumber daya. Tabel berikut menjelaskan sumber daya yang didefinisikan di bagian Sumber Daya dalam contoh ini.
Tipe sumber daya yang didefinisikan di ROS | Deskripsi |
ALIYUN::ECS::SecurityGroup | Grup keamanan ECS. |
ALIYUN::ECS::InstanceGroup | Instance ECS. |
ALIYUN::ECS::RunCommand | Skrip shell yang akan dijalankan pada instance ECS. |
Untuk setiap jenis sumber daya Alibaba Cloud, Anda dapat menemukan sintaksis, properti, dan nilai kembali (parameter output) di daftar tipe sumber daya berdasarkan layanan. Untuk informasi lebih lanjut, lihat Daftar Tipe Sumber Daya Berdasarkan Layanan. Parameter ini dapat dirujuk saat membuat template untuk menentukan persyaratan sumber daya.
Keluaran
Bagian Keluaran mendefinisikan informasi yang akan dikembalikan setelah Anda membuat layanan. Dalam contoh ini, informasi dikembalikan sebagai alamat IP publik. Setelah sumber daya dibuat, pelanggan layanan dapat memperoleh alamat IP untuk mengakses layanan tersebut.
Metadata
Anda dapat menggunakan Metadata untuk mengelompokkan parameter yang didefinisikan di bagian Parameters sebuah template dan menyembunyikan parameter tertentu. Untuk melihat efek tampilan dari parameter tersebut, pergi ke langkah Configure Parameters di konsol ROS. Tabel berikut menjelaskan grup parameter dalam contoh ini.
Nama Grup | Parameter |
Konfigurasi PayType | PayType |
PayPeriodUnit | |
PayPeriod | |
Konfigurasi Instance ECS | EcsInstanceType |
InstancePassword | |
Pilih Infrastruktur yang Ada | ZoneId |
VpcId | |
VSwitchId |
Anda juga dapat menggunakan fitur lanjutan seperti Pemetaan dan Kondisi. Untuk informasi lebih lanjut tentang fitur lanjutan, lihat Struktur Template.
Anda juga dapat menggunakan Terraform untuk membuat template. Untuk informasi lebih lanjut, lihat Create a Terraform Template.
Verifikasi template di konsol ROS
Setelah membuat template, Anda dapat membuat stack untuk memverifikasi template di konsol ROS.
Masuk ke konsol ROS.
Di panel navigasi di sebelah kiri, pilih Deployment > Stacks.
Di pojok kiri atas halaman Stacks, klik Create Stack dan pilih Use ROS.
Di halaman Create Stack, konfigurasikan parameter yang diperlukan.
-
Pada bagian Specify Template, pilih Select an Existing Template untuk menyalin isi template yang telah dibuat ke editor kode Template Content. Anda juga dapat memilih Use a Sample Template untuk memodifikasi isi template contoh.
-
Klik Next. Pada langkah Configure Parameters, periksa validitas pengaturan parameter. Klik Preview Template Resources untuk memastikan konfigurasi sumber daya benar.
-
Opsional. Klik Next. Pada langkah Compliance Precheck (Optional), konfigurasikan parameter yang diperlukan.
-
Opsional. Klik Next. Pada langkah Check and Confirm (Optional), konfirmasikan konfigurasi yang telah ditentukan.
-
Klik Create.
CatatanLangkah Compliance Precheck (Optional) dan Check and Confirm (Optional) bersifat opsional. Anda dapat memutuskan untuk melaksanakan langkah-langkah ini sesuai dengan kebutuhan bisnis Anda.
-
Jika stack berhasil dibuat, template diverifikasi dan tersedia. Jika pembuatan stack gagal, periksa penyebab kegagalan dan modifikasi template.