API CreateLifecycleHook digunakan untuk membuat satu atau beberapa lifecycle hook dalam grup auto scaling yang ditentukan. Hook ini melakukan intervensi pada tahap-tahap kritis siklus hidup instans (seperti saat peluncuran atau sebelum penghentian), sehingga Anda dapat melakukan operasi kustom seperti mengirim notifikasi atau menjalankan skrip otomatisasi. Dengan fitur ini, Anda dapat mencapai kontrol dan manajemen yang lebih terperinci, seperti melakukan validasi, konfigurasi, atau tugas pencadangan data sebelum dan sesudah instans dipengaruhi oleh aktivitas auto scaling, sehingga meningkatkan fleksibilitas dan keandalan deployment aplikasi.
Deskripsi operasi
Grup scaling dapat memiliki maksimal 10 lifecycle hook. Ketika aktivitas scaling terjadi dalam grup scaling yang memiliki lifecycle hook, lifecycle hook akan menangguhkan aktivitas scaling untuk jangka waktu tertentu. Durasi tunggu dapat ditentukan menggunakan parameter HeartbeatTimeout. Selama periode tunggu, Anda dapat melakukan operasi seperti menginisialisasi konfigurasi instans ECS dan mengambil data instans ECS.
Selama aktivitas scale-out, instans ECS memasuki status tunggu setelah ditambahkan ke whitelist instans RDS, dan ditambahkan ke grup server backend instans SLB setelah status tunggu berakhir. Selama aktivitas scale-in, instans ECS memasuki status tunggu setelah dihapus dari grup server backend instans SLB, dan dihapus dari whitelist instans RDS setelah status tunggu berakhir.
Lifecycle hook dapat dikonfigurasi dengan metode notifikasi, mendukung topik MNS, antrean MNS, dan template OOS. Jika Anda mengonfigurasi template OOS, Anda perlu membuat peran RAM untuk layanan OOS. Untuk informasi lebih lanjut, lihat Mengatur izin RAM untuk layanan OOS.
Jika grup scaling memiliki instans ECS yang sudah ada dan template OOS yang dikonfigurasi digunakan untuk menambahkan atau menghapus instans dari whitelist database cloud selain RDS, Anda harus menambahkan instans ECS yang sudah ada ke whitelist database cloud secara manual.
Coba sekarang
Test
RAM authorization
|
Action |
Access level |
Resource type |
Condition key |
Dependent action |
|
ess:CreateLifecycleHook |
create |
*ScalingGroup
|
None | None |
Parameter permintaan
|
Parameter |
Type |
Required |
Description |
Example |
| ScalingGroupId |
string |
Yes |
ID grup scaling target. |
asg-bp1eyv4qn8ssgv43**** |
| LifecycleHookName |
string |
No |
Nama lifecycle hook. Nama harus unik di antara lifecycle hook dalam grup scaling saat ini. Nama harus memiliki panjang 2 hingga 64 karakter dan dapat berisi angka, huruf, karakter China, garis bawah (_), tanda hubung (-), dan titik (.). Nama harus dimulai dengan angka, huruf, atau karakter China. Nilai default: nilai dari LifecycleHookId. |
lifecyclehook**** |
| LifecycleTransition |
string |
Yes |
Jenis aktivitas scaling yang diterapkan oleh lifecycle hook. Nilai yang valid:
|
SCALE_OUT |
| DefaultResult |
string |
No |
Tindakan selanjutnya yang diambil setelah status tunggu berakhir. Nilai yang valid:
Ketika aktivitas scale-in (SCALE_IN) memicu beberapa lifecycle hook dalam grup scaling, jika DefaultResult dari salah satu lifecycle hook diatur ke ABANDON atau ROLLBACK dan status tunggu hook tersebut berakhir, status tunggu lifecycle hook lainnya akan diakhiri lebih awal. Dalam kasus lain, tindakan selanjutnya ditentukan oleh lifecycle hook terakhir yang status tunggunya berakhir. Nilai default: CONTINUE |
CONTINUE |
| HeartbeatTimeout |
integer |
No |
Waktu tunggu yang ditetapkan oleh lifecycle hook untuk aktivitas grup scaling. Tindakan selanjutnya dilakukan setelah status tunggu habis waktu. Nilai yang valid: 30 hingga 21600. Unit: detik. Setelah membuat lifecycle hook, Anda dapat memanggil RecordLifecycleActionHeartbeat untuk memperpanjang waktu tunggu instans ECS, atau memanggil CompleteLifecycleAction untuk mengakhiri status tunggu aktivitas scaling lebih awal. Nilai default: 600 |
600 |
| NotificationMetadata |
string |
No |
Informasi notifikasi yang dikirim ke NotificationArn (target notifikasi) ketika lifecycle hook menangguhkan aktivitas scaling. Ini memfasilitasi pengelolaan dan penandaan berbagai kategori informasi notifikasi. NotificationArn juga harus ditentukan. Nilai parameter tidak boleh melebihi 4096 karakter. Jika NotificationArn diatur ke template OOS, termasuk template publik atau kustom, NotificationMetadata harus ditentukan sebagai string JSON yang sesuai dengan parameter template OOS. Misalnya,
Catatan
|
Test lifecycle hook. |
| NotificationArn |
string |
No |
Pengidentifikasi target notifikasi untuk lifecycle hook. Jika parameter ini tidak diatur, tidak ada notifikasi yang dikirim. Metode notifikasi berikut didukung ketika parameter ini diatur:
Variabel dalam format memiliki arti sebagai berikut:
|
acs:mns:cn-beijing:161456884340****:queue/modifyLifecycleHo**** |
Elemen respons
|
Element |
Type |
Description |
Example |
|
object |
|||
| RequestId |
string |
ID permintaan. |
473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E |
| LifecycleHookId |
string |
ID lifecycle hook. |
ash-bp1at9ufhmcf9cmy**** |
Contoh
Respons sukses
JSONformat
{
"RequestId": "473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E",
"LifecycleHookId": "ash-bp1at9ufhmcf9cmy****"
}
Kode kesalahan
Lihat Error Codes untuk daftar lengkap.
Catatan rilis
Lihat Release Notes untuk daftar lengkap.