Antarmuka Baris Perintah (CLI) Alibaba Cloud adalah alat manajemen berbasis OpenAPI Alibaba Cloud. Anda dapat menggunakannya untuk memanggil API Alibaba Cloud, mengelola layanan secara fleksibel, dan melakukan penskalaan. Panduan ini menjelaskan cara menggunakan Alibaba Cloud CLI untuk menjalankan tugas pembaruan bergulir.
Prasyarat
Alibaba Cloud CLI telah terpasang. Untuk informasi lebih lanjut, lihat Apa itu Alibaba Cloud CLI?
Grup penskalaan telah dibuat dan instance Elastic Compute Service (ECS) telah ditambahkan ke grup tersebut.
Sumber konfigurasi instance dari grup penskalaan adalah konfigurasi penskalaan. Prasyarat ini harus dipenuhi jika ingin memperbarui gambar instance ECS dalam grup penskalaan.
Paket Layanan Orkestrasi CloudOps (OOS) telah dibuat. Prasyarat ini diperlukan jika ingin menginstal paket OOS pada instance ECS di grup penskalaan. Untuk informasi lebih lanjut, lihat Kelola Ekstensi Kustom dalam Jumlah Besar.
Informasi latar belakang
Tugas pembaruan bergulir digunakan untuk memperbarui konfigurasi beberapa instance ECS secara bersamaan. Untuk informasi lebih lanjut, lihat Pembaruan Bergulir.
Prosedur
Berikut adalah langkah-langkah untuk menggunakan Alibaba Cloud CLI guna memperbarui gambar, menjalankan skrip, dan menginstal paket OOS pada instance ECS dalam grup penskalaan:
Langkah 1: Buat pengguna RAM dan berikan izin kepada pengguna RAM
Masuk ke Konsol Resource Access Management (RAM).
Buat pengguna RAM.
Contoh ini menciptakan pengguna RAM bernama clitest. Untuk detail lebih lanjut, lihat Buat Pengguna RAM.
Di panel navigasi sisi kiri, pilih .
Di halaman Pengguna, klik Create User.
Di halaman Create User, konfigurasikan parameter sesuai petunjuk dan klik OK.
Tabel berikut menjelaskan pengaturan parameter yang digunakan dalam contoh ini.
Parameter
Deskripsi
Logon Name
example@sample.com
Display Name
contoh
Access Mode
Dalam contoh ini, Using permanent AccessKey to access dipilih.
AccessKey pair otomatis dibuat untuk pengguna RAM. Pengguna RAM dapat memanggil operasi API atau menggunakan SDK untuk mengakses sumber daya Alibaba Cloud.
Di halaman User Information, klik Download CSV File.
CatatanRahasia AccessKey hanya ditampilkan saat Anda membuat pasangan AccessKey dan tidak dapat diperoleh nanti. Kami sarankan menyimpan rahasia AccessKey untuk penggunaan selanjutnya. Jika pasangan AccessKey bocor atau hilang, Anda harus membuat pasangan baru.
Berikan izin kepada pengguna RAM untuk mengelola sumber daya.
Di panel navigasi sisi kiri, pilih .
Temukan pengguna clitest yang Anda buat dan klik Add Permissions di kolom Actions.
Di panel Berikan Izin, pilih izin yang diperlukan untuk menjalankan tugas pembaruan bergulir dan klik Grant permissions.
Tabel berikut menjelaskan pengaturan parameter yang digunakan dalam contoh ini.
Parameter
Deskripsi
Resource Scope
Atur nilainya menjadi Account.
Principal
Atur nilainya menjadi example@sample.com.
Policy
Pilih kebijakan sistem berikut:
AliyunECSFullAccess: memberikan izin untuk mengelola sumber daya ECS, seperti instance ECS.
AliyunESSFullAccess: memberikan izin untuk mengelola sumber daya Auto Scaling, seperti grup penskalaan.
AliyunOOSFullAccess: memberikan izin untuk mengelola sumber daya OOS, seperti eksekusi.
AliyunOSSFullAccess: memberikan izin untuk mengelola sumber daya Object Storage Service (OSS), seperti bucket.
Langkah 2: Konfigurasikan dan verifikasi Alibaba Cloud CLI
Untuk informasi tentang Alibaba Cloud CLI, lihat Apa itu Alibaba Cloud CLI?
Buka Alibaba Cloud CLI di komputer lokal Anda.
Konfigurasikan Alibaba Cloud CLI.
Jalankan perintah berikut untuk membuka file konfigurasi:
aliyun configureMasukkan ID AccessKey dan Rahasia AccessKey sesuai petunjuk.

Jalankan perintah berikut untuk memeriksa apakah Alibaba Cloud CLI tersedia:
aliyun ecs DescribeRegionsPerintah ini digunakan untuk menanyakan wilayah tempat Alibaba Cloud CLI didukung. Jika informasi wilayah dikembalikan, perintah berhasil dijalankan. Gambar berikut menunjukkan contoh keluaran perintah.

Langkah 3: Gunakan Alibaba Cloud CLI untuk menjalankan tugas pembaruan bergulir
Dalam langkah ini, perintah sampel digunakan untuk menunjukkan cara memperbarui gambar, menjalankan skrip, dan menginstal paket OOS pada instance ECS dalam grup penskalaan.
Jalankan perintah Alibaba Cloud CLI untuk menjalankan tugas pembaruan bergulir.
Untuk informasi tentang parameter template OOS dalam kode, lihat Parameter Template OOS.
Kode sampel berikut memberikan contoh cara memperbarui gambar instance ECS dalam grup penskalaan ke Alibaba Cloud Linux 2.1903 LTS 64-bit:
aliyun oos StartExecution --TemplateName ACS-ESS-RollingUpdateByReplaceSystemDiskInScalingGroup --Parameters "{ \"invokeType\": \"invoke\", \"scalingGroupId\": \"asg-bp18p2yfxow2dloq****\", \"scalingConfigurationId\": \"asc-bp1bx8mzur534edp****\", \"imageId\": \"aliyun_2_1903_x64_20G_alibase_20200529.vhd\", \"sourceImageId\": \"centos_7_8_x64_20G_alibase_20200717.vhd\", \"OOSAssumeRole\": \"\", \"enterProcess\": [ \"ScaleIn\", \"ScaleOut\", \"HealthCheck\", \"AlarmNotification\", \"ScheduledAction\" ], \"exitProcess\": [ \"ScaleIn\", \"ScaleOut\", \"HealthCheck\", \"AlarmNotification\", \"ScheduledAction\" ], \"batchNumber\": 2, \"batchPauseOption\": \"Automatic\" }"Kode sampel berikut memberikan contoh cara menjalankan perintah shell df -h dan ifconfig pada instance ECS dalam grup penskalaan untuk melihat disk dan konfigurasi jaringan:
aliyun oos StartExecution --TemplateName ACS-ESS-RollingUpdateByRunCommandInScalingGroup --Parameters "{ \"invokeType\": \"invoke\", \"scalingGroupId\": \"asg-bp18p2yfxow2dloq****\", \"commandType\": \"RunShellScript\", \"invokeScript\": \"df -h\nifconfig\", \"rollbackScript\": \"df -h\nifconfig\", \"OOSAssumeRole\": \"\", \"exitProcess\": [ \"ScaleIn\", \"ScaleOut\", \"HealthCheck\", \"AlarmNotification\", \"ScheduledAction\" ], \"enterProcess\": [ \"ScaleIn\", \"ScaleOut\", \"HealthCheck\", \"AlarmNotification\", \"ScheduledAction\" ], \"batchNumber\": 2, \"batchPauseOption\": \"Automatic\" }"Kode sampel berikut memberikan contoh cara menginstal paket perangkat lunak WordPress yang dibuat dalam template OOS pada instance ECS dalam grup penskalaan:
aliyun oos StartExecution --TemplateName ACS-ESS-RollingUpdateByConfigureOOSPackage --Parameters "{ \"invokeType\": \"invoke\", \"scalingGroupId\": \"asg-bp18p2yfxow2dloq****\", \"packageName\": \"wordpress\", \"packageVersion\": \"v4\", \"action\": \"install\", \"OOSAssumeRole\": \"\", \"enterProcess\": [ \"ScaleIn\", \"ScaleOut\", \"HealthCheck\", \"AlarmNotification\", \"ScheduledAction\" ], \"exitProcess\": [ \"ScaleIn\", \"ScaleOut\", \"HealthCheck\", \"AlarmNotification\", \"ScheduledAction\" ], \"batchNumber\": 2, \"batchPauseOption\": \"Automatic\" }"
Lihat detail eksekusi.
Saat menjalankan perintah CLI untuk menjalankan tugas pembaruan bergulir, eksekusi otomatis dibuat di OOS. Anda dapat menemukan eksekusi yang diinginkan berdasarkan ID eksekusi yang dikembalikan dan melihat detail seperti hasil dan keluaran. Contoh berikut menunjukkan cara mendapatkan ID eksekusi dan melihat detail:
Temukan ID eksekusi tugas pembaruan bergulir dalam keluaran perintah.
Gambar berikut menunjukkan contoh ID eksekusi.

Jalankan perintah Alibaba Cloud CLI berikut untuk melihat detail eksekusi:
aliyun oos ListExecutions --ExecutionId exec-40e2e17ef7e04****Gambar berikut menunjukkan detail eksekusi sampel.

Jalankan tugas rollback untuk menangani pengecualian dalam tugas pembaruan bergulir
Jika pengecualian terjadi selama tugas pembaruan bergulir atau jika Anda ingin menggunakan konfigurasi sebelumnya setelah tugas pembaruan bergulir dijalankan, Anda dapat menjalankan tugas rollback untuk mengembalikan konfigurasi instance ECS. Dalam bagian ini, perintah sampel digunakan untuk menunjukkan cara melakukan rollback tugas pembaruan bergulir.
Temukan ID eksekusi tugas pembaruan bergulir dalam keluaran perintah.
Gambar berikut menunjukkan contoh ID eksekusi.

Jalankan perintah Alibaba Cloud CLI untuk menjalankan tugas rollback.
Untuk informasi tentang parameter template OOS dalam kode, lihat Parameter Template OOS.
CatatanSaat menjalankan tugas rollback, OOS secara otomatis menemukan instance ECS yang perlu di-rollback berdasarkan tugas pembaruan bergulir dan menangguhkan atau melanjutkan proses penskalaan grup penskalaan. Oleh karena itu, Anda mungkin tidak perlu mengonfigurasi beberapa parameter.
Kode sampel berikut memberikan contoh cara rollback gambar instance ECS dalam grup penskalaan ke CentOS 7.8 64-bit:
aliyun oos StartExecution --TemplateName ACS-ESS-RollingUpdateByReplaceSystemDiskInScalingGroup --Parameters "{ \"invokeType\": \"rollback\", \"scalingGroupId\": \"asg-bp18p2yfxow2dloq****\", \"scalingConfigurationId\": \"asc-bp1bx8mzur534edp****\", \"sourceImageId\": \"centos_7_8_x64_20G_alibase_20200717.vhd\", \"sourceExecutionId\": \"exec-83dba59be77d430****\", \"OOSAssumeRole\": \"\", \"batchNumber\": 2, \"batchPauseOption\": \"Automatic\" }"Kode sampel berikut memberikan contoh cara menjalankan skrip rollback pada instance ECS: Perintah shell df -h dan ifconfig masih digunakan. Anda dapat mengubah skrip sesuai kebutuhan bisnis Anda.
aliyun oos StartExecution --TemplateName ACS-ESS-RollingUpdateByRunCommandInScalingGroup --Parameters "{ \"invokeType\": \"rollback\", \"commandType\": \"RunShellScript\", \"rollbackScript\": \"df -h\nifconfig\", \"scalingGroupId\": \"asg-bp18p2yfxow2dloq****\", \"sourceExecutionId\": \"exec-40e2e17ef7e046****\", \"OOSAssumeRole\": \"\", \"batchNumber\": 2, \"batchPauseOption\": \"Automatic\" }"Kode sampel berikut memberikan contoh cara rollback paket perangkat lunak WordPress yang dibuat dalam template OOS pada instance ECS ke versi sebelumnya:
aliyun oos StartExecution --TemplateName ACS-ESS-RollingUpdateByConfigureOOSPackage --Parameters "{ \"invokeType\": \"rollback\", \"scalingGroupId\": \"asg-bp18p2yfxow2dloq****\", \"packageVersion\": \"v3\", \"packageName\": \"wordpress\", \"sourceExecutionId\": \"exec-f4e61f2f21fe490****\", \"OOSAssumeRole\": \"\", \"batchNumber\": 2, \"batchPauseOption\": \"Automatic\" }"
Lihat detail eksekusi.
Saat menjalankan perintah CLI untuk menjalankan tugas rollback, eksekusi otomatis dibuat di OOS. Anda juga dapat menggunakan metode di Langkah 3 untuk melihat detail eksekusi, seperti hasil dan keluaran.
Parameter template OOS
Tabel berikut menjelaskan parameter template publik OOS yang digunakan dalam contoh-contoh sebelumnya.
Tabel 1. Parameter dalam template ACS-ESS-RollingUpdateByReplaceSystemDiskInScalingGroup
Parameter | Deskripsi |
invokeType | Jenis tugas. Nilai valid:
|
scalingGroupId | ID grup penskalaan tempat Anda ingin menjalankan tugas. |
scalingConfigurationId | ID konfigurasi penskalaan aktif dalam grup penskalaan. |
imageId | ID gambar yang ingin Anda ganti dengan gambar saat ini. |
sourceImageId | ID gambar yang ingin Anda gunakan untuk tugas rollback. |
OOSAssumeRole | Peran RAM yang ingin Anda gunakan untuk menjalankan tugas. Nilai default: OOSServiceRole. |
enterProcess | Proses penskalaan yang ingin Anda tangguhkan sebelum tugas dijalankan. |
exitProcess | Proses penskalaan yang ingin Anda lanjutkan ketika tugas selesai. |
batchNumber | Jumlah batch ke dalam mana instance ECS dalam grup penskalaan dibagi untuk eksekusi tugas. Setiap batch berisi setidaknya satu instance ECS. |
batchPauseOption | Menentukan apakah dan bagaimana menangguhkan tugas. Nilai valid:
|
sourceExecutionId | ID eksekusi tugas pembaruan bergulir sumber saat tugas rollback dijalankan. |
Anda dapat masuk ke konsol OOS untuk melihat lebih banyak parameter. Misalnya, untuk melihat parameter yang didukung di wilayah China (Hangzhou), lihat ACS-ESS-RollingUpdateByReplaceSystemDiskInScalingGroup.
Tabel 2. Parameter dalam template ACS-ESS-RollingUpdateByRunCommandInScalingGroup
Parameter | Deskripsi |
invokeType | Jenis tugas. Nilai valid:
|
scalingGroupId | ID grup penskalaan tempat Anda ingin menjalankan tugas. |
commandType | Jenis skrip yang ingin Anda jalankan. Nilai RunShellScript menentukan skrip shell. |
invokeScript | Skrip yang ingin Anda jalankan pada instance ECS selama tugas pembaruan bergulir. |
rollbackScript | Skrip yang ingin Anda jalankan pada instance ECS selama tugas rollback. |
OOSAssumeRole | Peran RAM yang ingin Anda gunakan untuk menjalankan tugas. Nilai default: OOSServiceRole. |
enterProcess | Proses penskalaan yang ingin Anda tangguhkan sebelum tugas dijalankan. |
exitProcess | Proses penskalaan yang ingin Anda lanjutkan ketika tugas selesai. |
batchNumber | Jumlah batch ke dalam mana instance ECS dalam grup penskalaan dibagi untuk eksekusi tugas. Setiap batch berisi setidaknya satu instance ECS. |
batchPauseOption | Menentukan apakah dan bagaimana menangguhkan tugas. Nilai valid:
|
sourceExecutionId | ID eksekusi tugas pembaruan bergulir sumber saat tugas rollback dijalankan. |
Anda dapat masuk ke konsol OOS untuk melihat lebih banyak parameter. Misalnya, untuk melihat parameter yang didukung di wilayah China (Hangzhou), lihat ACS-ESS-RollingUpdateByRunCommandInScalingGroup.
Tabel 3. Parameter dalam template ACS-ESS-RollingUpdateByConfigureOOSPackage
Parameter | Deskripsi |
invokeType | Jenis tugas. Nilai valid:
|
scalingGroupId | ID grup penskalaan tempat Anda ingin menjalankan tugas. |
packageName | Nama paket perangkat lunak. |
packageVersion | Versi paket perangkat lunak. |
action | Mode di mana Anda ingin mengonfigurasi paket perangkat lunak. Nilai valid:
Nilai default: install. |
OOSAssumeRole | Peran RAM yang ingin Anda gunakan untuk menjalankan tugas. Nilai default: OOSServiceRole. |
enterProcess | Proses penskalaan yang ingin Anda tangguhkan sebelum tugas dijalankan. |
exitProcess | Proses penskalaan yang ingin Anda lanjutkan ketika tugas selesai. |
batchNumber | Jumlah batch ke dalam mana instance ECS dalam grup penskalaan dibagi untuk eksekusi tugas. Setiap batch berisi setidaknya satu instance ECS. |
batchPauseOption | Menentukan apakah dan bagaimana menangguhkan tugas. Nilai valid:
|
sourceExecutionId | ID eksekusi tugas pembaruan bergulir sumber saat tugas rollback dijalankan. |
Anda dapat masuk ke konsol OOS untuk melihat lebih banyak parameter. Misalnya, untuk melihat parameter yang didukung di wilayah China (Hangzhou), lihat ACS-ESS-RollingUpdateByConfigureOOSPackage.