Gunakan kait siklus hidup dengan kolam hangat - Amazon EC2 Auto Scaling

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Gunakan kait siklus hidup dengan kolam hangat

Instans di kolam hangat mempertahankan siklus hidup independennya sendiri untuk membantu Anda membuat tindakan kustom yang sesuai untuk setiap transisi. Siklus hidup ini dirancang untuk membantu Anda menjalankan tindakan dalam layanan target (misalnya, fungsi Lambda) saat instance masih diinisialisasi dan sebelum dimasukkan ke dalam layanan.

catatan

Operasi API yang Anda gunakan untuk menambahkan dan mengelola kait siklus hidup dan tindakan siklus hidup lengkap tidak diubah. Hanya siklus hidup instance yang diubah.

Untuk informasi selengkapnya tentang menambahkan kait siklus hidup, lihat. Tambahkan hook siklus aktif Untuk informasi selengkapnya tentang menyelesaikan tindakan siklus hidup, lihat. Selesaikan tindakan siklus hidup

Untuk contoh memasuki kolam hangat, Anda mungkin memerlukan pengait siklus hidup karena salah satu alasan berikut:

  • Anda ingin meluncurkan instans EC2 dari AMI yang membutuhkan waktu lama untuk menyelesaikan inisialisasi.

  • Anda ingin menjalankan skrip data pengguna untuk mem-bootstrap instance EC2.

Untuk contoh meninggalkan kolam hangat, Anda mungkin memerlukan pengait siklus hidup karena salah satu alasan berikut:

  • Anda dapat menggunakan beberapa waktu ekstra untuk menyiapkan instans EC2 untuk digunakan. Misalnya, Anda mungkin memiliki layanan yang harus dimulai saat instance dimulai ulang sebelum aplikasi Anda dapat bekerja dengan benar.

  • Anda ingin mengisi data cache terlebih dahulu sehingga server baru tidak diluncurkan dengan cache kosong.

  • Anda ingin mendaftarkan instance baru sebagai instance terkelola dengan layanan manajemen konfigurasi Anda.

Transisi status siklus hidup untuk instance di kolam hangat

Instance Auto Scaling dapat bertransisi melalui banyak status sebagai bagian dari siklus hidupnya.

Diagram berikut menunjukkan transisi antara status Auto Scaling saat Anda menggunakan kolam hangat:


                    Transisi status siklus hidup untuk instance di kolam hangat.

ยน Keadaan ini bervariasi berdasarkan pengaturan status kolam renang hangat. Jika status kumpulan diatur keRunning, maka status ini Warmed:Running sebagai gantinya. Jika status kumpulan diatur keHibernated, maka status ini Warmed:Hibernated sebagai gantinya.

Saat Anda menambahkan kait siklus hidup, pertimbangkan hal berikut:

  • Saat kait siklus hidup dikonfigurasi untuk tindakan autoscaling:EC2_INSTANCE_LAUNCHING siklus hidup, instance yang baru diluncurkan akan berhenti sejenak untuk melakukan tindakan kustom saat mencapai Warmed:Pending:Wait status, dan kemudian lagi saat instance dimulai ulang dan mencapai status. Pending:Wait

  • Saat kait siklus hidup dikonfigurasi untuk tindakan EC2_INSTANCE_TERMINATING siklus hidup, instance penghentian akan berhenti untuk melakukan tindakan kustom saat mencapai status. Terminating:Wait Namun, jika Anda menetapkan kebijakan penggunaan kembali instance untuk mengembalikan instance ke kumpulan hangat pada skala alih-alih menghentikannya, maka instance yang kembali ke kumpulan hangat akan berhenti untuk melakukan tindakan kustom pada Warmed:Pending:Wait status untuk tindakan siklus hidup. EC2_INSTANCE_TERMINATING

  • Jika permintaan pada aplikasi Anda menghabiskan kolam hangat, Auto Scaling Amazon EC2 dapat meluncurkan instans langsung ke grup Auto Scaling selama grup belum mencapai kapasitas maksimumnya. Jika instans diluncurkan langsung ke grup, mereka hanya dijeda untuk melakukan tindakan kustom di negara bagian. Pending:Wait

  • Untuk mengontrol berapa lama instans tetap dalam status tunggu sebelum transisi ke status berikutnya, konfigurasikan tindakan kustom Anda untuk menggunakan complete-lifecycle-action perintah. Dengan kait siklus hidup, instance tetap dalam status tunggu hingga Anda memberi tahu Amazon EC2 Auto Scaling bahwa tindakan siklus hidup yang ditentukan telah selesai, atau hingga periode batas waktu berakhir (satu jam secara default).

Berikut ini merangkum alur untuk acara scale-out.


                    Diagram alir dari peristiwa scale-out.

Saat instans mencapai status tunggu, Auto Scaling Amazon EC2 mengirimkan pemberitahuan. Contoh pemberitahuan ini tersedia di EventBridge bagian panduan ini. Untuk informasi selengkapnya, lihat Acara dan pola contoh kolam hangat.

Target notifikasi yang didukung

Auto Scaling Amazon EC2 menyediakan dukungan untuk mendefinisikan salah satu hal berikut sebagai target notifikasi untuk notifikasi siklus hidup:

  • EventBridge aturan

  • Topik Amazon SNS

  • Antrean Amazon SQS

penting

Ingat, jika Anda memiliki skrip data pengguna (cloud-init) di template peluncuran atau konfigurasi peluncuran yang mengonfigurasi instans Anda saat diluncurkan, Anda tidak perlu menerima pemberitahuan untuk melakukan tindakan khusus pada instance yang memulai atau memulai ulang.

Bagian berikut berisi tautan ke dokumentasi yang menjelaskan cara mengonfigurasi target notifikasi:

EventBridge aturan: Untuk menjalankan kode saat Amazon EC2 Auto Scaling menempatkan instance ke status tunggu, Anda dapat membuat EventBridge aturan dan menentukan fungsi Lambda sebagai targetnya. Untuk menjalankan fungsi Lambda yang berbeda berdasarkan pemberitahuan siklus hidup yang berbeda, Anda dapat membuat beberapa aturan dan mengaitkan setiap aturan dengan pola peristiwa tertentu dan fungsi Lambda. Untuk informasi selengkapnya, lihat Buat EventBridge aturan untuk acara kolam hangat.

Topik Amazon SNS: Untuk menerima notifikasi saat instans dimasukkan ke dalam status tunggu, Anda membuat topik Amazon SNS dan kemudian mengatur pemfilteran pesan Amazon SNS untuk mengirimkan pemberitahuan siklus hidup secara berbeda berdasarkan atribut pesan. Untuk informasi selengkapnya, lihat Terima notifikasi menggunakan Amazon SNS.

Antrian Amazon SQS: Untuk menyiapkan titik pengiriman pemberitahuan siklus hidup di mana konsumen yang relevan dapat mengambilnya dan memprosesnya, Anda dapat membuat antrean Amazon SQS dan konsumen antrian yang memproses pesan dari antrian SQS. Jika Anda ingin konsumen antrian memproses pemberitahuan siklus hidup secara berbeda berdasarkan atribut pesan, Anda juga harus mengatur konsumen antrian untuk mengurai pesan dan kemudian bertindak pada pesan ketika atribut tertentu cocok dengan nilai yang diinginkan. Untuk informasi selengkapnya, lihat Menerima pemberitahuan menggunakan Amazon SQS.