All Products
Search
Document Center

Auto Scaling:CreateLifecycleHook

Last Updated:Jun 12, 2026

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.

Catatan

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

Coba API ini di OpenAPI Explorer tanpa perlu penandatanganan manual. Panggilan yang berhasil akan secara otomatis menghasilkan contoh kode SDK sesuai dengan parameter Anda. Unduh kode tersebut dengan kredensial bawaan yang aman untuk penggunaan lokal.

Test

RAM authorization

Tabel berikut menjelaskan otorisasi yang diperlukan untuk memanggil API ini. Anda dapat menentukannya dalam kebijakan Resource Access Management (RAM). Kolom pada tabel dijelaskan sebagai berikut:

  • Action: Aksi yang dapat digunakan dalam elemen Action pada pernyataan kebijakan izin RAM untuk memberikan izin guna melakukan operasi tersebut.

  • API: API yang dapat Anda panggil untuk melakukan aksi tersebut.

  • Access level: Tingkat akses yang telah ditentukan untuk setiap API. Nilai yang valid: create, list, get, update, dan delete.

  • Resource type: Jenis resource yang mendukung otorisasi untuk melakukan aksi tersebut. Ini menunjukkan apakah aksi tersebut mendukung izin tingkat resource. Resource yang ditentukan harus kompatibel dengan aksi tersebut. Jika tidak, kebijakan tersebut tidak akan berlaku.

    • Untuk API dengan izin tingkat resource, jenis resource yang diperlukan ditandai dengan tanda bintang (*). Tentukan Nama Sumber Daya Alibaba Cloud (ARN) yang sesuai dalam elemen Resource pada kebijakan.

    • Untuk API tanpa izin tingkat resource, ditampilkan sebagai All Resources. Gunakan tanda bintang (*) dalam elemen Resource pada kebijakan.

  • Condition key: Kunci kondisi yang didefinisikan oleh layanan. Kunci ini memungkinkan kontrol granular, berlaku baik hanya untuk aksi maupun untuk aksi yang terkait dengan resource tertentu. Selain kunci kondisi spesifik layanan, Alibaba Cloud menyediakan serangkaian common condition keys yang berlaku di semua layanan yang didukung RAM.

  • Dependent action: Aksi dependen yang diperlukan untuk menjalankan aksi tersebut. Untuk menyelesaikan aksi tersebut, pengguna RAM atau role RAM harus memiliki izin untuk melakukan semua aksi dependen.

Action

Access level

Resource type

Condition key

Dependent action

ess:CreateLifecycleHook

create

*ScalingGroup

acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}

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: aktivitas scale-out dari grup scaling.

  • SCALE_IN: aktivitas scale-in dari grup scaling.

SCALE_OUT

DefaultResult

string

No

Tindakan selanjutnya yang diambil setelah status tunggu berakhir. Nilai yang valid:

  • CONTINUE: melanjutkan respons terhadap aktivitas scale-out atau scale-in.

  • ABANDON: melepaskan instans ECS yang dibuat selama aktivitas scale-out, atau menghapus instans ECS dari grup scaling selama aktivitas scale-in.

  • ROLLBACK: untuk aktivitas scale-in, menolak melepaskan instans ECS dan melakukan rollback. Untuk aktivitas scale-out, melepaskan instans ECS yang dibuat, yang memiliki efek yang sama dengan ABANDON.

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, {"dbInstanceId": "dds-bp17661e0135****", "modifyMode": "Append"}, di mana dbInstanceId dan modifyMode adalah parameter yang didefinisikan dalam template OOS. Beberapa parameter template OOS memiliki nilai default. NotificationMetadata harus menentukan parameter yang tidak memiliki nilai default. Menentukan parameter yang memiliki nilai default akan menimpa nilai default asli. Namun, pertahankan parameter berikut pada nilai defaultnya, yang digunakan untuk mengambil informasi yang relevan selama aktivitas scaling:

  • regionId: wilayah tempat aktivitas scaling dijalankan. Nilai default: ${regionId}

  • instanceIds: daftar instans yang terkait dengan aktivitas scaling. Nilai default: ${instanceIds}

  • lifecycleHookId: ID lifecycle hook. Nilai default: ${lifecycleHookId}

  • lifecycleActionToken: pengidentifikasi status tunggu aktivitas scaling, digunakan untuk mengakhiri aktivitas tertunda saat ini lebih awal. Nilai default: ${lifecycleActionToken}

  • scalingGroupId: ID grup scaling tempat aktivitas scaling berada. Nilai default: ${scalingGroupId}

  • lifecycleActionResult: tindakan selanjutnya yang diambil setelah status tunggu lifecycle hook berakhir, digunakan untuk mengakhiri aktivitas tertunda saat ini lebih awal ketika eksekusi template OOS gagal. Ketika DefaultResult diatur ke ROLLBACK, nilai default parameter adalah ROLLBACK. Dalam kasus lain, nilai defaultnya adalah ABANDON.

Catatan
  • Anda dapat mengatur nilai lifecycleActionResult untuk menimpa nilai default saat ini sesuai kebutuhan. Nilai yang valid: ABANDON, CONTINUE, ROLLBACK, dan ${lifecycleActionResult}. Di sini, ${lifecycleActionResult} menunjukkan bahwa nilai lifecycleActionResult konsisten dengan DefaultResult.

  • Anda dapat memperoleh informasi detail tentang parameter template yang sesuai di konsol OOS.

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:

  • Antrean MNS. Format: acs:mns:{region-id}:{account-id}:queue/{queuename}.

  • Topik MNS. Format: acs:mns:{region-id}:{account-id}:topic/{topicname}.

  • Template OOS. Format: acs:oos:{region-id}:{account-id}:template/{templatename}.

  • EventBridge. Format: acs:eventbridge:{region-id}:{account-id}:eventbus/default.

Variabel dalam format memiliki arti sebagai berikut:

  • region-id: ID wilayah tempat grup scaling berada.

  • account-id: ID akun Alibaba Cloud. ID akun pengguna RAM tidak didukung.

  • queuename: nama antrean MNS.

  • topicname: nama topik MNS.

  • templatename: nama template OOS.

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.