Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Kait EC2 siklus hidup Auto Scaling Amazon
Amazon EC2 Auto Scaling menawarkan kemampuan untuk menambahkan kait siklus hidup ke grup Auto Scaling Anda. Hook ini memungkinkan Anda membuat solusi yang mengetahui peristiwa dalam siklus hidup instans Auto Scaling, dan kemudian melakukan tindakan kustom pada instance saat peristiwa siklus hidup terkait terjadi. Pengait siklus hidup menyediakan jumlah waktu tertentu (satu jam secara default) untuk menunggu tindakan selesai sebelum instance bertransisi ke status berikutnya.
Sebagai contoh penggunaan kait siklus hidup dengan instance Auto Scaling:
-
Ketika peristiwa scale-out terjadi, instance Anda yang baru diluncurkan menyelesaikan urutan startup dan transisi ke status tunggu. Sementara instance dalam keadaan menunggu, ia menjalankan skrip untuk mengunduh dan menginstal paket perangkat lunak yang diperlukan untuk aplikasi Anda, memastikan bahwa instance Anda sepenuhnya siap sebelum mulai menerima lalu lintas. Ketika skrip selesai menginstal perangkat lunak, ia mengirimkan complete-lifecycle-action perintah untuk melanjutkan.
-
Ketika peristiwa scale-in terjadi, kait siklus hidup menjeda instance sebelum dihentikan dan mengirimkan pemberitahuan kepada Anda menggunakan Amazon. EventBridge Saat instance dalam status tunggu, Anda dapat memanggil AWS Lambda fungsi atau terhubung ke instance untuk mengunduh log atau data lain sebelum instance dihentikan sepenuhnya.
Penggunaan kait siklus hidup yang populer adalah untuk mengontrol saat instance terdaftar dengan Elastic Load Balancing. Dengan menambahkan hook siklus hidup peluncuran ke grup Auto Scaling Anda, Anda dapat memastikan bahwa skrip bootstrap Anda telah berhasil diselesaikan dan aplikasi pada instance siap menerima lalu lintas sebelum terdaftar ke penyeimbang beban di akhir kait siklus hidup.
Daftar Isi
- Ketersediaan kait siklus hidup
- Pertimbangan dan batasan
- Sumber daya terkait
- Cara kerja kait siklus hidup di grup Auto Scaling
- Bersiaplah untuk menambahkan kait siklus hidup
- Mengambil status siklus hidup target
- Tambahkan kait siklus hidup ke grup Auto Scaling
- Selesaikan tindakan siklus hidup dalam grup Auto Scaling
- Tutorial: Gunakan metadata instance untuk mengambil status siklus hidup
- Tutorial: Konfigurasikan kait siklus hidup yang memanggil fungsi Lambda
Ketersediaan kait siklus hidup
Tabel berikut mencantumkan kait siklus hidup yang tersedia untuk berbagai skenario.
Peristiwa | Peluncuran atau penghentian instance¹ | Masa Pakai Instance Maksimum: Instans penggantian | Penyegaran Instance: Instans penggantian | Penyeimbangan Kembali Kapasitas: Contoh penggantian | Kolam Hangat: Contoh masuk dan meninggalkan kolam hangat |
---|---|---|---|---|---|
Peluncuran instans | ✓ | ✓ | ✓ | ✓ | ✓ |
Pengakhiran instance | ✓ | ✓ | ✓ | ✓ | ✓ |
¹ Berlaku untuk semua peluncuran dan penghentian, apakah mereka dimulai secara otomatis atau manual seperti ketika Anda memanggil atau operasi. SetDesiredCapacity
TerminateInstanceInAutoScalingGroup
Tidak berlaku saat Anda melampirkan atau melepaskan instance, memindahkan instance masuk dan keluar dari mode siaga, atau menghapus grup dengan opsi hapus paksa.
Pertimbangan dan batasan untuk kait siklus hidup
Saat bekerja dengan kait siklus hidup, ingatlah catatan dan batasan berikut:
-
Amazon EC2 Auto Scaling menyediakan siklus hidupnya sendiri untuk membantu pengelolaan grup Auto Scaling. Siklus hidup ini berbeda dari contoh lainnya EC2 . Untuk informasi selengkapnya, lihat Siklus EC2 hidup instans Auto Scaling Amazon. Contoh di kolam hangat juga memiliki siklus hidup mereka sendiri, seperti yang dijelaskan dalam. Transisi status siklus hidup untuk instance di kolam hangat
-
Anda dapat menggunakan kait siklus hidup dengan Instans Spot, tetapi pengait siklus hidup tidak mencegah instance berhenti jika kapasitas tidak lagi tersedia, yang dapat terjadi kapan saja dengan pemberitahuan interupsi dua menit. Untuk informasi selengkapnya, lihat Interupsi Instans Spot di EC2 Panduan Pengguna Amazon. Namun, Anda dapat mengaktifkan Penyeimbangan Kembali Kapasitas untuk secara proaktif mengganti Instans Spot yang telah menerima rekomendasi penyeimbangan kembali dari layanan Amazon EC2 Spot, sinyal yang dikirim saat Instans Spot berisiko tinggi mengalami gangguan. Untuk informasi selengkapnya, lihat Gunakan Rebalancing Kapasitas untuk menangani interupsi Amazon EC2 Spot.
-
Instance dapat tetap berada dalam status tunggu selama periode waktu tertentu. Batas waktu default untuk pengait siklus hidup adalah satu jam (batas waktu detak jantung). Ada juga batas waktu global yang menentukan jumlah waktu maksimum yang dapat Anda simpan instance dalam status tunggu. Batas waktu global adalah 48 jam atau 100 kali batas waktu detak jantung, mana yang lebih kecil.
-
Hasil pengait siklus hidup dapat diabaikan atau dilanjutkan. Jika instans diluncurkan, lanjutkan menunjukkan bahwa tindakan Anda berhasil, dan Amazon EC2 Auto Scaling dapat menempatkan instance ke dalam layanan. Jika tidak, abaikan menunjukkan bahwa tindakan kustom Anda tidak berhasil, dan kami dapat menghentikan dan mengganti instance. Jika sebuah instance berakhir, keduanya mengabaikan dan melanjutkan mengizinkan instance untuk dihentikan. Namun, abaikan menghentikan tindakan yang tersisa, seperti kait siklus hidup lainnya, dan melanjutkan memungkinkan pengait siklus hidup lainnya untuk diselesaikan.
-
EC2 Auto Scaling Amazon membatasi kecepatan peluncuran instans jika kait siklus hidup gagal secara konsisten, jadi pastikan untuk menguji dan memperbaiki kesalahan permanen apa pun dalam tindakan siklus hidup Anda.
-
Membuat dan memperbarui kait siklus hidup menggunakan AWS CLI, AWS CloudFormation, atau SDK menyediakan opsi yang tidak tersedia saat membuat kait siklus hidup dari. AWS Management Console Misalnya, bidang untuk menentukan ARN topik SNS atau antrean SQS tidak muncul di konsol, karena Amazon Auto Scaling EC2 sudah mengirimkan peristiwa ke Amazon. EventBridge Peristiwa ini dapat difilter dan diarahkan ke AWS layanan seperti Lambda, Amazon SNS, dan Amazon SQS sesuai kebutuhan.
-
Anda dapat menambahkan beberapa kait siklus hidup ke grup Auto Scaling saat Anda membuatnya, dengan memanggil CreateAutoScalingGroupAPI menggunakan,, atau SDK AWS CLI. AWS CloudFormation Namun, setiap hook harus memiliki target notifikasi dan peran IAM yang sama, jika ditentukan. Untuk membuat kait siklus hidup dengan target notifikasi yang berbeda dan peran yang berbeda, buat kait siklus hidup satu per satu dalam panggilan terpisah ke API. PutLifecycleHook
-
Jika Anda menambahkan kait siklus hidup untuk peluncuran misalnya, masa tenggang pemeriksaan kesehatan dimulai segera setelah instance mencapai status.
InService
Untuk informasi selengkapnya, lihat Mengatur masa tenggang pemeriksaan kesehatan untuk grup Auto Scaling.
Pertimbangan penskalaan
-
Kebijakan penskalaan dinamis masuk dan keluar sebagai respons terhadap data CloudWatch metrik, seperti CPU dan I/O jaringan, yang digabungkan di beberapa instance. Saat melakukan scaling out, Amazon EC2 Auto Scaling tidak langsung menghitung instance baru ke metrik instans gabungan dari grup Auto Scaling. Itu menunggu sampai instance mencapai
InService
status dan pemanasan instance telah selesai. Untuk informasi selengkapnya, lihat Pertimbangan kinerja penskalaan di topik pemanasan instance default. -
Pada skala dalam, metrik instans agregat mungkin tidak langsung mencerminkan penghapusan instance penghentian. Instans penghentian berhenti menghitung metrik instans agregat grup sesaat setelah alur kerja penghentian Penskalaan EC2 Otomatis Amazon dimulai.
-
Dalam kebanyakan kasus ketika kait siklus hidup dipanggil, aktivitas penskalaan karena kebijakan penskalaan sederhana dijeda hingga tindakan siklus hidup selesai dan periode cooldown telah kedaluwarsa. Menetapkan interval panjang untuk periode cooldown berarti akan memakan waktu lebih lama untuk melanjutkan penskalaan. Untuk informasi lebih lanjut, lihat Kait siklus hidup dapat menyebabkan penundaan tambahan di topik cooldown. Secara umum, sebaiknya jangan menggunakan kebijakan penskalaan sederhana jika Anda dapat menggunakan kebijakan penskalaan langkah atau penskalaan pelacakan target.
Sumber daya terkait
Untuk video pengantar, lihat AWS re:Invent 2018: Manajemen Kapasitas Menjadi Mudah dengan Amazon Auto Scaling aktif. EC2 YouTube
Kami menyediakan beberapa cuplikan template JSON dan YAMAL yang dapat Anda gunakan untuk memahami cara mendeklarasikan kait siklus hidup di templat tumpukan Anda. AWS CloudFormation Untuk informasi selengkapnya, lihat AWS::AutoScaling::LifecycleHookreferensi di Panduan AWS CloudFormation Pengguna.
Anda juga dapat mengunjungi GitHubrepositori
Untuk contoh penggunaan kait siklus hidup, lihat posting blog berikut.