Topik ini menjelaskan cara menggunakan fitur lifecycle hook bersama dengan template CloudOps Orchestration Service (OOS) untuk menempatkan instance Elastic Compute Service (ECS) dalam status Pending dan menerapkan kebijakan snapshot otomatis pada instance tersebut.
Prasyarat
Grup penskalaan telah dibuat dan berada dalam status Enabled. Untuk informasi tentang cara membuat grup penskalaan, lihat Kelola Grup Penskalaan.
Kebijakan snapshot otomatis telah dibuat. Untuk informasi tentang cara membuat kebijakan snapshot otomatis, lihat Buat Kebijakan Snapshot Otomatis.
Peran RAM telah dibuat untuk OOS. Entitas tepercaya dari peran RAM harus berupa Alibaba Cloud Service, layanan tepercaya harus berupa CloudOps Orchestration Service, dan peran RAM harus memiliki izin untuk melakukan operasi pada template OOS. Untuk informasi lebih lanjut, lihat Buat Peran RAM untuk OOS dan Berikan Izin.
CatatanDalam topik ini, peran RAM OOSServiceRole digunakan sebagai contoh. Anda juga dapat menggunakan peran lainnya.
Informasi latar belakang
Anda dapat menggunakan kebijakan snapshot otomatis untuk membuat snapshot secara berkala untuk instance ECS, meningkatkan keamanan data dan toleransi kesalahan. Anda tidak dapat menentukan kebijakan snapshot otomatis dalam konfigurasi penskalaan saat membuat konfigurasi penskalaan. Namun, Anda dapat menggunakan fitur lifecycle hook dari Auto Scaling bersama dengan template OOS untuk secara otomatis menerapkan kebijakan snapshot otomatis ke sekelompok instance ECS. Pendekatan ini lebih efisien daripada menerapkan kebijakan snapshot otomatis secara manual ke instance ECS.
Kebijakan snapshot otomatis memungkinkan pembuatan snapshot terjadwal pada titik waktu yang telah dikonfigurasi sebelumnya untuk melindungi integritas disk sistem dan disk data. Untuk informasi lebih lanjut, lihat Kebijakan Snapshot Otomatis.
Prosedur
Dalam topik ini, template OOS publik ACS-ESS-LifeCycleApplyAutoSnapshotPolicy digunakan sebagai contoh untuk menunjukkan cara secara otomatis menerapkan kebijakan snapshot otomatis ke sekelompok instance ECS selama acara peningkatan skala. Untuk meningkatkan keamanan, ikuti langkah-langkah berikut:
Langkah 1: Berikan izin peran RAM pada OOS
Anda harus memiliki izin untuk mengeksekusi template OOS. Template OOS publik ACS-ESS-LifeCycleApplyAutoSnapshotPolicy mendefinisikan sumber daya ECS dan Auto Scaling yang diperlukan untuk melakukan operasi O&M.
Masuk ke Konsol RAM.
Buat kebijakan.
Di panel navigasi kiri, pilih .
Pada halaman Kebijakan, klik Create Policy.
Pada halaman Create Policy, klik tab JSON, masukkan konten kebijakan, lalu klik OK.
Contoh konten kebijakan:
{ "Version": "1", "Statement": [ { "Action": [ "ecs:DescribeDisks", "ecs:ApplyAutoSnapshotPolicy", "ecs:DescribeInstances" ], "Resource": "*", "Effect": "Allow" }, { "Action": [ "ess:CompleteLifecycleAction" ], "Resource": "*", "Effect": "Allow" } ] }Dalam kotak dialog Create Policy, masukkan nama kebijakan dan deskripsinya.
Dalam contoh ini, atur parameter Nama menjadi
ESSHookPolicyForApplyAutoSnapshotPolicy.CatatanJika Anda ingin memodifikasi konten kebijakan, klik Cancel untuk kembali ke tab JSON.
Klik OK.
Lampirkan kebijakan ke peran RAM OOSServiceRole.
Di panel navigasi kiri, pilih .
Temukan peran RAM OOSServiceRole dan klik Grant Permission di kolom Actions.
Tambahkan izin yang diperlukan untuk peran RAM OOSServiceRole yang diasumsikan oleh OOS untuk menyelesaikan otorisasi.
Di panel Grant Permission, konfigurasikan parameter berdasarkan kebutuhan bisnis Anda dan klik Grant permissions.
Tabel berikut menggambarkan pengaturan parameter yang digunakan dalam contoh ini. Untuk parameter yang tidak termasuk dalam tabel berikut, gunakan pengaturan default.
Parameter
Deskripsi
Resource Scope
Atur nilainya menjadi Account.
Policy
Pilih kebijakan
ESSHookPolicyForApplyAutoSnapshotPolicy.
Langkah 2: Buat lifecycle hook untuk tujuan peningkatan skala dan picu acara peningkatan skala
Masuk ke Konsol Auto Scaling.
Di panel navigasi kiri, klik Scaling Groups.
Di bilah navigasi atas, pilih wilayah.
Temukan grup penskalaan yang diinginkan dan gunakan salah satu metode berikut untuk membuka halaman detail grup penskalaan.
Klik ID grup penskalaan di kolom Scaling Group Name/ID.
Klik Details di kolom Actions.
Buat lifecycle hook.
Di bagian atas halaman detail, klik tab Lifecycle Hook.
Klik Create Lifecycle Hook.
Konfigurasikan parameter berdasarkan kebutuhan bisnis Anda dan klik OK.
Tabel berikut menggambarkan parameter yang digunakan dalam contoh ini. Untuk parameter yang tidak dijelaskan dalam tabel, gunakan pengaturan default.
Parameter
Deskripsi
Name
Masukkan ESSHookForApplyAutoSnapshotPolicy.
Scaling Activity
Pilih Scale-out Event.
Timeout Period
Konfigurasikan parameter Periode Timeout berdasarkan kebutuhan bisnis Anda. Dalam contoh ini, atur parameter Periode Timeout menjadi 300.
CatatanPeriode timeout adalah periode waktu selama Anda dapat melakukan operasi kustom pada instance. Jika periode timeout lebih pendek dari waktu yang diperlukan untuk melakukan operasi kustom, operasi tersebut mungkin gagal. Kami sarankan Anda memperkirakan waktu yang diperlukan untuk melakukan operasi kustom pada instance dan mengonfigurasi Periode Timeout berdasarkan perkiraan Anda.
Default Execution Policy
Pilih Continue.
Send Notification When Lifecycle Hook Takes Effect
Dalam contoh ini, lakukan operasi berikut:
Pilih OOS Template.
Pilih Public Templates.
Pilih
ACS-ESS-LifeCycleApplyAutoSnapshotPolicy.
Konfigurasikan parameter berikut dalam template publik
ACS-ESS-LifeCycleApplyAutoSnapshotPolicy:AutoSnapshotPolicyId: Masukkan ID kebijakan snapshot otomatis.
OOSAssumeRole: Pilih OOSServiceRole. Di Langkah 1, izin pada sumber daya ECS dan Auto Scaling diberikan kepada peran RAM OOSServiceRole. OOS dapat memperoleh izin setelah mengasumsikan peran RAM.
Picu acara peningkatan skala.
Dalam contoh ini, acara peningkatan skala dipicu secara manual dengan mengeksekusi aturan penskalaan. Anda juga dapat memicu acara peningkatan skala menggunakan tugas terjadwal atau tugas yang dipicu oleh acara.
CatatanJika acara penskalaan dipicu saat Anda mengeksekusi aturan penskalaan secara manual, lifecycle hook akan berlaku. Namun, lifecycle hook tidak berlaku jika Anda menambahkan atau menghapus instance ECS secara manual ke atau dari grup penskalaan.
Di bagian atas halaman yang muncul, klik tab Scaling Rules and Event-triggered Tasks.
Pada tab Scaling Rules, klik Create Scaling Rule.
Dalam kotak dialog Buat Aturan Penskalaan, konfigurasikan parameter berdasarkan kebutuhan bisnis Anda dan klik OK.
Tabel berikut menggambarkan pengaturan parameter yang digunakan dalam contoh ini. Untuk parameter yang tidak termasuk dalam tabel berikut, gunakan pengaturan default.
Parameter
Deskripsi
Rule Name
Masukkan Add1.
Rule Type
Pilih Simple Scaling Rule.
Operation
Atur nilainya menjadi Tambah 1 Instance.
Pada tab Aturan Penskalaan, temukan aturan penskalaan Add1 dan klik Execute di kolom Actions.
Dalam pesan Eksekusi Aturan Penskalaan, klik OK.
Setelah Add1 dieksekusi, Auto Scaling mencoba menambahkan satu instance ECS ke grup penskalaan. Lifecycle hook
ESSHookForApplyAutoSnapshotPolicymenyebabkan instance ECS masuk ke status Pending Add. Selama periode ini, Auto Scaling memberi tahu OOS untuk mengeksekusi templateACS-ESS-LifeCycleApplyAutoSnapshotPolicydan menyelesaikan operasi O&M yang ditentukan.Periksa apakah instance ECS yang dibuat secara otomatis memenuhi harapan Anda.
Di bagian atas halaman detail, klik tab Instances.
Temukan instance ECS yang dibuat secara otomatis dan klik ID instance di kolom ECS Instance ID/Name.
Pada halaman detail instance, klik tab Block Storage (Disks).
Temukan disk cloud yang diinginkan dan klik Configure Automatic Snapshot Policy di kolom Actions.
Pada gambar berikut, Automatic Snapshot Policy diaktifkan. Kebijakan snapshot yang diterapkan adalah kebijakan yang ditentukan dalam template publik
ACS-ESS-LifeCycleApplyAutoSnapshotPolicysaat Anda membuat lifecycle hook. Ini menunjukkan bahwa instance ECS yang dibuat secara otomatis memenuhi harapan.
Jika instance ECS dibuat tetapi tidak memiliki kebijakan snapshot otomatis, buka konsol OOS untuk memeriksa eksekusi operasi O&M yang ditentukan dalam template publik.
(Opsional) Langkah 3: Lihat status eksekusi template OOS
Masuk ke Konsol OOS.
Di panel navigasi kiri, pilih .
Temukan tugas eksekusi berdasarkan waktu dan klik Details di kolom Actions.
Pada halaman detail eksekusi yang muncul, lihat informasi terkait.
Sebagai contoh, Anda dapat melihat ID eksekusi dan status di bagian Basic Information. Anda juga dapat mengklik node tugas di bagian Execution Steps and Results untuk melihat detail eksekusi. Untuk informasi lebih lanjut, lihat Lihat Detail Eksekusi.
CatatanJika eksekusi gagal, pesan kesalahan ditampilkan di bagian Hasil Eksekusi.
FAQ
Jika Anda gagal mengeksekusi tugas O&M, lakukan pemecahan masalah berdasarkan pesan kesalahan dalam hasil eksekusi. Untuk informasi lebih lanjut, lihat FAQ.
Tabel berikut menggambarkan pesan kesalahan umum.
Pesan Kesalahan | Penyebab | Solusi |
Forbidden.Unauthorized message: Otorisasi yang diperlukan untuk tindakan yang ditentukan tidak disediakan. | Anda belum mengotorisasi Auto Scaling untuk melakukan tindakan saat ini. | Periksa apakah peran RAM OOSServiceRole memiliki izin yang diperlukan. |
Forbidden.RAM message: Pengguna tidak berwenang untuk mengoperasikan sumber daya yang ditentukan, atau API ini tidak mendukung RAM. | Pengguna RAM atau peran RAM tidak memiliki izin untuk mengoperasikan sumber daya yang sesuai. | Periksa apakah peran RAM OOSServiceRole memiliki izin yang diperlukan. Sebagai contoh, Anda dapat memberikan izin OOS ke peran RAM. Sebelum OOS dapat mengelola sumber daya yang dideklarasikan dalam template OOS, Anda harus memberikan izin yang diperlukan kepada peran RAM. |
LifecycleHookIdAndLifecycleActionToken.Invalid message: lifecycleActionToken dan lifecycleActionId yang Anda berikan tidak cocok dengan tindakan lifecycle hook yang sedang berlangsung. | Tindakan lifecycle hook yang sedang berlangsung telah berakhir atau dihentikan. | Evaluasi periode timeout dari lifecycle hook untuk memastikan bahwa tugas O&M yang ditentukan dalam template OOS dapat selesai dalam batas waktu yang dialokasikan. |
Referensi
Anda juga dapat menggunakan fitur lifecycle hook dari Auto Scaling bersama dengan template OOS untuk mengaktifkan eksekusi otomatis skrip pada instance ECS selama acara penurunan skala. Untuk informasi lebih lanjut, lihat Eksekusi Otomatis Skrip pada Instance ECS.