Tambahkan kait siklus hidup ke grup Auto Scaling - Amazon EC2 Auto Scaling

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

Tambahkan kait siklus hidup ke grup Auto Scaling

Untuk menempatkan instans Auto Scaling ke status tunggu dan melakukan tindakan kustom pada instans tersebut, Anda dapat menambahkan kait siklus hidup ke grup Auto Scaling Anda. Tindakan kustom dilakukan saat instance diluncurkan atau sebelum dihentikan. Instance tetap dalam status tunggu hingga Anda menyelesaikan tindakan siklus hidup, atau periode batas waktu berakhir.

Setelah membuat grup Auto Scaling dari grup AWS Management Console, Anda dapat menambahkan satu atau beberapa kait siklus hidup ke grup tersebut, hingga total 50 kait siklus hidup. Anda juga dapat menggunakan AWS CLI, AWS CloudFormation, atau SDK untuk menambahkan kait siklus hidup ke grup Auto Scaling saat Anda membuatnya.

Secara default, saat Anda menambahkan kait siklus hidup di konsol, Auto Scaling Amazon EC2 mengirimkan pemberitahuan peristiwa siklus hidup ke Amazon. EventBridge Menggunakan EventBridge atau skrip data pengguna adalah praktik terbaik yang disarankan. Untuk membuat hook siklus hidup yang mengirimkan notifikasi langsung ke Amazon SNS atau Amazon SQS, Anda dapat menggunakan perintah, seperti yang ditunjukkan put-lifecycle-hookpada contoh dalam topik ini.

Tambahkan hook siklus aktif (konsol)

Ikuti langkah-langkah berikut untuk menambahkan kait siklus hidup ke grup Auto Scaling Anda. Untuk menambahkan kait siklus hidup untuk penskalaan (peluncuran instance) dan penskalaan (instance mengakhiri atau kembali ke kolam hangat), Anda harus membuat dua kait terpisah.

Sebelum memulai, konfirmasikan bahwa Anda telah menyiapkan tindakan khusus, sesuai kebutuhan, seperti yang dijelaskan dalamBersiaplah untuk menambahkan kait siklus hidup ke grup Auto Scaling.

Untuk menambahkan kait siklus hidup untuk skala keluar
  1. Buka konsol Amazon EC2 di https://console.aws.amazon.com/ec2/, dan pilih Grup Auto Scaling dari panel navigasi.

  2. Pilih kotak centang di samping grup Auto Scaling Anda. Panel split terbuka di bagian bawah halaman.

  3. Pada Manajemen Instance, di Hook siklus aktif, pilih Buat hook siklus aktif.

  4. Untuk menentukan hook siklus hidup untuk skala keluar (peluncuran instance), lakukan hal berikut:

    1. Untuk Nama hook siklus aktif, sebutkan nama untuk hook siklus aktif.

    2. Untuk transisi Siklus Hidup, pilih Peluncuran instans.

    3. Untuk batas waktu detak jantung, tentukan jumlah waktu, dalam detik, agar instance tetap dalam keadaan menunggu saat penskalaan keluar sebelum waktu hook habis. Rentangnya adalah dari 30 hingga 7200 detik. Menetapkan periode batas waktu yang lama akan memberikan lebih banyak waktu untuk menyelesaikan tindakan kustom Anda. Kemudian, jika Anda selesai sebelum periode batas waktu berakhir, kirim complete-lifecycle-actionperintah untuk mengizinkan instance melanjutkan ke status berikutnya.

    4. Untuk hasil Default, tentukan tindakan yang akan diambil saat batas waktu pengait siklus hidup berlalu atau saat terjadi kegagalan yang tidak terduga. Anda dapat memilih untuk melanjutkan atau meninggalkan.

      • Jika Anda memilih LANJUTKAN, grup Auto Scaling dapat melanjutkan dengan kait siklus hidup lainnya dan kemudian memasukkan instance ke dalam layanan.

      • Jika Anda memilih ABANDOND, grup Auto Scaling menghentikan tindakan yang tersisa dan segera menghentikan instance.

    5. (Opsional) Untuk metadata Pemberitahuan, tentukan informasi lain yang ingin Anda sertakan saat Auto Scaling Amazon EC2 mengirim pesan ke target notifikasi.

  5. Pilih Buat.

Untuk menambahkan kait siklus hidup untuk skala
  1. Pilih Buat kait siklus hidup untuk melanjutkan tempat yang Anda tinggalkan setelah membuat hook siklus hidup untuk skala keluar.

  2. Untuk menentukan hook siklus hidup untuk skala (instance yang mengakhiri atau kembali ke kolam hangat), lakukan hal berikut:

    1. Untuk Nama hook siklus aktif, sebutkan nama untuk hook siklus aktif.

    2. Untuk Transisi siklus aktif, pilih Penghentian instance.

    3. Untuk batas waktu detak jantung, tentukan jumlah waktu, dalam detik, agar instance tetap dalam keadaan menunggu saat penskalaan keluar sebelum waktu hook habis. Kami merekomendasikan periode waktu tunggu singkat 30 hingga 120 detik, tergantung pada berapa banyak waktu yang Anda butuhkan untuk melakukan tugas akhir, seperti menarik log EC2 dari. CloudWatch

    4. Untuk hasil Default, tentukan tindakan yang dilakukan grup Auto Scaling saat batas waktu berlalu atau jika terjadi kegagalan yang tidak terduga. Baik ABANDOND dan CONTINUE membiarkan instance berakhir.

      • Jika Anda memilih LANJUTKAN, grup Auto Scaling dapat melanjutkan dengan tindakan yang tersisa, seperti kait siklus hidup lainnya, sebelum penghentian.

      • Jika Anda memilih ABANDOND, grup Auto Scaling akan segera menghentikan instance.

    5. (Opsional) Untuk metadata Pemberitahuan, tentukan informasi lain yang ingin Anda sertakan saat Auto Scaling Amazon EC2 mengirim pesan ke target notifikasi.

  3. Pilih Buat.

Tambahkan kait siklus hidup ()AWS CLI

Buat dan perbarui kait siklus hidup menggunakan perintah. put-lifecycle-hook

Untuk melakukan tindakan pada peningkatan skala, gunakan perintah berikut.

aws autoscaling put-lifecycle-hook --lifecycle-hook-name my-launch-hook \ --auto-scaling-group-name my-asg \ --lifecycle-transition autoscaling:EC2_INSTANCE_LAUNCHING

Untuk melakukan tindakan pada penurunan skala, gunakan perintah berikut.

aws autoscaling put-lifecycle-hook --lifecycle-hook-name my-termination-hook \ --auto-scaling-group-name my-asg \ --lifecycle-transition autoscaling:EC2_INSTANCE_TERMINATING

Untuk menerima pemberitahuan menggunakan Amazon SNS atau Amazon SQS, tambahkan --notification-target-arn opsi dan. --role-arn

Contoh berikut membuat hook siklus hidup yang menentukan topik SNS bernama my-sns-topic sebagai target notifikasi.

aws autoscaling put-lifecycle-hook --lifecycle-hook-name my-termination-hook \ --auto-scaling-group-name my-asg \ --lifecycle-transition autoscaling:EC2_INSTANCE_TERMINATING \ --notification-target-arn arn:aws:sns:region:123456789012:my-sns-topic \ --role-arn arn:aws:iam::123456789012:role/my-notification-role

Topik tersebut menerima pemberitahuan uji dengan pasangan nilai kunci berikut.

"Event": "autoscaling:TEST_NOTIFICATION"

Secara default, put-lifecycle-hookperintah membuat kait siklus hidup dengan batas waktu detak jantung 3600 detik (satu jam).

Untuk mengubah batas waktu detak jantung untuk hook siklus hidup yang ada, tambahkan --heartbeat-timeout opsi, seperti yang ditunjukkan pada contoh berikut.

aws autoscaling put-lifecycle-hook --lifecycle-hook-name my-termination-hook \ --auto-scaling-group-name my-asg --heartbeat-timeout 120

Jika sebuah instance sudah dalam status tunggu, Anda dapat mencegah pengait siklus hidup dari waktu habis dengan merekam detak jantung, menggunakan perintah CLI record-lifecycle-action-heartbeat. Ini memperpanjang periode batas waktu berdasarkan nilai batas waktu yang ditentukan ketika Anda membuat hook siklus aktif. Jika Anda selesai sebelum periode batas waktu berakhir, Anda dapat mengirim perintah complete-lifecycle-actionCLI untuk memungkinkan instance melanjutkan ke status berikutnya. Untuk informasi selengkapnya dan contoh tambahan, lihat Selesaikan tindakan siklus hidup dalam grup Auto Scaling.