Tentang pemeriksaan kesehatan untuk grup Auto Scaling Anda - Amazon EC2 Auto Scaling

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

Tentang pemeriksaan kesehatan untuk grup Auto Scaling Anda

Topik ini memberikan gambaran umum tentang jenis pemeriksaan kesehatan yang tersedia dan menjelaskan pertimbangan utama untuk mengintegrasikan pemeriksaan kesehatan Auto Scaling Amazon EC2 dengan aplikasi Anda.

Jenis pemeriksaan kesehatan

Auto Scaling Amazon EC2 dapat menentukan status kesehatan instans InService dengan menggunakan satu atau beberapa pemeriksaan kesehatan berikut:

Jenis pemeriksaan kesehatan Apa yang diperiksa

Pemeriksaan status Amazon EC2 dan acara terjadwal

  • Memeriksa bahwa instance sedang berjalan.

  • Memeriksa masalah perangkat keras atau perangkat lunak yang mendasari yang mungkin mengganggu instance.

Ini adalah jenis pemeriksaan kesehatan default untuk grup Auto Scaling.

Pemeriksaan kondisi Elastic Load Balancing

  • Memeriksa apakah penyeimbang beban melaporkan instance sebagai sehat, mengonfirmasi apakah instance tersedia untuk menangani permintaan.

Untuk menjalankan jenis pemeriksaan kesehatan ini, Anda harus menyalakannya untuk grup Auto Scaling Anda.

Pemeriksaan kesehatan VPC Lattice

  • Memeriksa apakah VPC Lattice melaporkan instance sebagai sehat, mengonfirmasi apakah instance tersedia untuk menangani permintaan.

Untuk menjalankan jenis pemeriksaan kesehatan ini, Anda harus menyalakannya untuk grup Auto Scaling Anda.

Pemeriksaan kesehatan khusus

  • Memeriksa masalah lain yang mungkin mengindikasikan masalah kesehatan misalnya, menurut pemeriksaan kesehatan khusus Anda.

Pemeriksaan kesehatan Amazon EC2

Setelah instance diluncurkan, itu dilampirkan ke grup Auto Scaling dan memasuki InService status. Untuk informasi selengkapnya tentang status siklus hidup yang berbeda untuk instance dalam grup Auto Scaling, lihat. Siklus aktif instance Amazon EC2 Auto Scaling

Auto Scaling Amazon EC2 secara berkala memeriksa status kesehatan semua instans dalam grup Auto Scaling untuk memastikan bahwa mereka berjalan dan dalam kondisi baik.

Pemeriksaan status

Auto Scaling Amazon EC2 menggunakan hasil pemeriksaan status instans Amazon EC2 dan pemeriksaan status sistem untuk menentukan status kesehatan suatu instans. Jika instans berada dalam status Amazon EC2 selainrunning, atau jika statusnya untuk pemeriksaan status menjadiimpaired, Auto Scaling Amazon EC2 menganggap instans tidak sehat dan menggantikannya. Hal ini termasuk ketika instance tersebut memiliki salah satu status berikut:

  • stopping

  • stopped

  • shutting-down

  • terminated

Pemeriksaan status Amazon EC2 tidak memerlukan konfigurasi khusus dan selalu diaktifkan. Untuk informasi selengkapnya, lihat Jenis pemeriksaan status di Panduan Pengguna Amazon EC2.

penting

Auto Scaling Amazon EC2 memungkinkan pemeriksaan status gagal sesekali, tanpa mengambil tindakan apa pun. Ketika pemeriksaan status gagal, Auto Scaling Amazon EC2 menunggu beberapa menit AWS untuk memperbaiki masalah. Itu tidak segera menandai instance Unhealthy ketika statusnya untuk pemeriksaan status menjadiimpaired.

Namun, jika Auto Scaling Amazon EC2 mendeteksi bahwa instans tidak lagi dalam running keadaan, situasi ini diperlakukan sebagai kegagalan langsung. Dalam hal ini, segera menandai instance sebagai Unhealthy dan menggantikannya.

Peristiwa terjadwal

Amazon EC2 kadang-kadang dapat menjadwalkan acara pada instans Anda untuk dijalankan setelah stempel waktu tertentu. Untuk informasi selengkapnya, lihat Acara terjadwal untuk instans Anda di Panduan Pengguna Amazon EC2.

Jika salah satu instans Anda terpengaruh oleh peristiwa terjadwal, Auto Scaling Amazon EC2 menganggap instans tersebut tidak sehat dan menggantikannya. Instance tidak mulai dimatikan sampai tanggal dan waktu yang ditentukan dalam stempel waktu tercapai.

Pemeriksaan kondisi Elastic Load Balancing

Saat Anda mengaktifkan pemeriksaan kesehatan Elastic Load Balancing untuk grup Auto Scaling Anda, Auto Scaling Amazon EC2 dapat menggunakan hasil pemeriksaan kesehatan tersebut untuk menentukan status kesehatan suatu instans.

Sebelum Anda dapat mengaktifkan pemeriksaan kesehatan Elastic Load Balancing untuk grup Auto Scaling Anda, Anda harus mengonfigurasi penyeimbang beban Elastic Load Balancing dan mengonfigurasi pemeriksaan kesehatan untuk menentukan apakah instans Anda sehat. Untuk informasi selengkapnya, lihat Bersiaplah untuk memasang penyeimbang beban Elastic Load Balancing.

Setelah Anda melampirkan load balancer ke grup Auto Scaling Anda, hal berikut akan terjadi:

  • Auto Scaling Amazon EC2 mendaftarkan instans dalam grup Auto Scaling dengan penyeimbang beban.

  • Setelah sebuah instance selesai mendaftar, ia memasuki InService status dan menjadi tersedia untuk digunakan dengan penyeimbang beban.

Secara default, Auto Scaling Amazon EC2 mengabaikan hasil pemeriksaan kesehatan Elastic Load Balancing. Setelah Anda mengaktifkan pemeriksaan kesehatan ini untuk grup Auto Scaling Anda, saat Elastic Load Balancing melaporkan instans terdaftar sebagai, Unhealthy Amazon EC2 Auto Scaling menandai Unhealthy instans pada pemeriksaan kesehatan berkala berikutnya dan menggantinya.

Jika pengurasan koneksi (penundaan deregistrasi) diaktifkan untuk penyeimbang beban Anda, Auto Scaling Amazon EC2 menunggu permintaan dalam penerbangan selesai atau batas waktu maksimum berakhir sebelum menghentikan instans yang tidak sehat.

catatan

Untuk petunjuk cara memasang load balancer dan mengaktifkan pemeriksaan kesehatan Elastic Load Balancing untuk grup Auto Scaling Anda, lihat. Pasang penyeimbang beban Elastic Load Balancing ke grup Auto Scaling Anda

Saat Anda mengaktifkan pemeriksaan kesehatan Elastic Load Balancing untuk grup, Auto Scaling Amazon EC2 dapat menggantikan instans yang dilaporkan Elastic Load Balancing sebagai tidak sehat, tetapi hanya setelah penyeimbang beban dalam status. InService Untuk informasi selengkapnya, lihat Verifikasi status lampiran penyeimbang beban Anda.

Pemeriksaan kesehatan VPC Lattice

Secara default, Amazon EC2 Auto Scaling mengabaikan hasil pemeriksaan kesehatan VPC Lattice. Anda dapat mengaktifkan pemeriksaan kesehatan ini untuk grup Auto Scaling Anda secara opsional. Setelah Anda melakukan ini, ketika VPC Lattice melaporkan instance terdaftar sebagai, Amazon Unhealthy EC2 Auto Scaling menandai Unhealthy instance tersebut pada pemeriksaan kesehatan berkala berikutnya dan menggantinya. Proses mendaftarkan instance dan kemudian memeriksa kesehatannya sama dengan cara kerja pemeriksaan kesehatan Elastic Load Balancing.

catatan

Untuk petunjuk cara melampirkan grup target Kisi VPC dan mengaktifkan pemeriksaan kesehatan Kisi VPC untuk grup Auto Scaling Anda, lihat. Lampirkan grup target VPC Lattice ke grup Auto Scaling Anda

Saat Anda mengaktifkan pemeriksaan kesehatan VPC Lattice untuk grup, Auto Scaling Amazon EC2 dapat menggantikan instance yang dilaporkan VPC Lattice sebagai tidak sehat, tetapi hanya setelah grup target dalam status. InService Untuk informasi selengkapnya, lihat Verifikasi status lampiran grup target VPC Lattice Anda.

Bagaimana Auto Scaling Amazon EC2 meminimalkan waktu henti

Secara default, instans baru disediakan pada saat yang sama instans Anda yang ada dihentikan, yang mungkin mencegah permintaan baru diterima hingga instans baru beroperasi penuh.

Jika Auto Scaling Amazon EC2 menentukan bahwa instans apa pun tidak lagi berjalan (atau Unhealthy ditandai dengan perintah set-instance-health), instans akan segera menggantikannya. Namun, jika instans lain ternyata tidak sehat, Auto Scaling Amazon EC2 menggunakan pendekatan berikut untuk memulihkan dari kegagalan. Pendekatan ini meminimalkan waktu henti yang mungkin terjadi karena masalah sementara atau pemeriksaan kesehatan yang salah konfigurasi.

  • Jika aktivitas penskalaan sedang berlangsung dan grup Auto Scaling Anda kurang dari kapasitas yang diinginkan sebesar 10 persen atau lebih, Auto Scaling Amazon EC2 menunggu aktivitas penskalaan yang sedang berlangsung sebelum mengganti instans yang tidak sehat.

  • Saat melakukan scaling, Amazon EC2 Auto Scaling menunggu instans lulus pemeriksaan kesehatan awal. Itu juga menunggu pemanasan instance default selesai untuk memastikan bahwa instance baru sudah siap.

  • Setelah instans selesai pemanasan dan grup telah meningkat menjadi lebih dari 90 persen dari kapasitas yang diinginkan, Amazon EC2 Auto Scaling menggantikan contoh yang tidak sehat sebagai berikut:

    • Auto Scaling Amazon EC2 hanya menggantikan hingga 10 persen dari kapasitas yang diinginkan grup sekaligus. Hal ini dilakukan sampai semua contoh yang tidak sehat diganti.

    • Saat mengganti instance, ia menunggu instance baru lulus pemeriksaan kesehatan awal. Itu juga menunggu pemanasan instance default selesai sebelum melanjutkan.

catatan

Jika ukuran grup Auto Scaling cukup kecil sehingga nilai yang dihasilkan 10 persen kurang dari satu, Amazon EC2 Auto Scaling menggantikan instans yang tidak sehat satu per satu. Hal ini dapat mengakibatkan beberapa downtime untuk grup.

Selain itu, jika semua instance dalam grup Auto Scaling dilaporkan tidak sehat oleh pemeriksaan kesehatan Elastic Load Balancing dan penyeimbang beban berada dalam InService status, Amazon EC2 Auto Scaling mungkin menandai lebih sedikit instans yang tidak sehat pada satu waktu. Ini dapat menghasilkan lebih sedikit contoh yang diganti pada satu waktu daripada 10 persen yang diterapkan dalam skenario lain. Ini memberi Anda waktu untuk memperbaiki masalah tanpa Auto Scaling Amazon EC2 secara otomatis menghentikan seluruh grup.

Pemeriksaan kesehatan untuk contoh di kolam yang hangat

Auto Scaling Amazon EC2 juga melakukan pemeriksaan kesehatan pada instans di kolam hangat. Untuk informasi selengkapnya, lihat Lihat status pemeriksaan kesehatan dan alasan kegagalan pemeriksaan kesehatan.

Pertimbangan pemeriksaan kesehatan

Berikut ini adalah pertimbangan saat menggunakan pemeriksaan kesehatan Auto Scaling Amazon EC2.

  • Jika Anda memerlukan sesuatu untuk terjadi pada instance yang sedang dihentikan, atau pada instance yang dimulai, Anda dapat menggunakan kait siklus hidup. Hook ini memungkinkan Anda melakukan tindakan kustom saat Amazon EC2 Auto Scaling meluncurkan atau menghentikan instans. Untuk informasi selengkapnya, lihat Hook siklus aktif Amazon EC2 Auto Scaling.

  • Auto Scaling Amazon EC2 tidak menyediakan cara untuk menghapus pemeriksaan status Amazon EC2 dan acara terjadwal dari pemeriksaan kesehatannya. Jika Anda tidak ingin instance diganti, kami sarankan Anda menangguhkan ReplaceUnhealthy dan HealthCheck memproses untuk masing-masing grup Auto Scaling. Untuk informasi selengkapnya, lihat Menangguhkan dan melanjutkan proses Auto Scaling Amazon EC2.

  • Untuk menyetel kembali status kesehatan instans yang tidak sehat secara manualHealthy, Anda dapat mencoba menggunakan perintah set-instance-health. Jika Anda mendapatkan kesalahan, ini mungkin karena instance sudah berakhir. Umumnya, menyetel status kesehatan instance kembali Healthy dengan perintah set-instance-health hanya berguna dalam kasus di mana ReplaceUnhealthy proses atau proses ditangguhkan. Terminate

  • Jika Anda perlu memecahkan masalah instance tanpa gangguan dari pemeriksaan kesehatan, Anda dapat menempatkan instance dalam Standby status. Auto Scaling Amazon EC2 tidak melakukan pemeriksaan kesehatan pada instans yang berada dalam Standby status sampai Anda mengembalikan instans dalam layanan. Untuk informasi selengkapnya, lihat Hapus instans sementara dari grup Auto Scaling.

  • Ketika instance Anda dihentikan, setiap alamat Elastic IP terkait akan dilepaskan kaitannya dan tidak secara otomatis terkait dengan instance baru tersebut. Anda harus mengaitkan alamat IP Elastis secara manual dengan instans baru, atau melakukannya secara otomatis dengan solusi berbasis kait siklus hidup. Untuk informasi selengkapnya, lihat Alamat IP Elastis di Panduan Pengguna Amazon EC2.

  • Demikian pula, ketika instance Anda dihentikan, volume EBS terlampirnya terlepas (atau dihapus tergantung pada atribut volume). DeleteOnTermination Anda harus melampirkan volume EBS ini secara manual ke instans baru, atau melakukannya secara otomatis dengan solusi berbasis kait siklus hidup. Untuk informasi selengkapnya, lihat Melampirkan volume Amazon EBS ke instans di Panduan Pengguna Amazon EBS.

Pemeriksaan kesehatan khusus

Anda dapat menjalankan tugas deteksi kesehatan khusus secara opsional pada instans di grup Auto Scaling dan menyetel status kesehatan instans jika tugas Unhealthy gagal. Ini memperluas pemeriksaan kesehatan Anda dengan menggunakan kombinasi pemeriksaan kesehatan khusus, pemeriksaan status Amazon EC2, dan pemeriksaan kesehatan Elastic Load Balancing, jika diaktifkan.

Anda dapat mengirim informasi kesehatan instans langsung ke Amazon EC2 Auto Scaling menggunakan AWS CLI atau SDK. Contoh berikut menunjukkan cara menggunakan AWS CLI untuk mengonfigurasi status kesehatan suatu instans dan kemudian memverifikasi status kesehatan instans.

Gunakan perintah set-instance-health berikut untuk menyetel status kesehatan dari instance yang ditentukan. Unhealthy

aws autoscaling set-instance-health --instance-id i-1234567890abcdef0 --health-status Unhealthy

Secara default, perintah ini menghormati masa tenggang pemeriksaan kesehatan. Namun, Anda dapat mengesampingkan perilaku ini dan tidak menghormati masa tenggang dengan memasukkan --no-should-respect-grace-period opsi.

Gunakan perintah describe-auto-scaling-groups berikut untuk memverifikasi bahwa status kesehatan instans adalah. Unhealthy

aws autoscaling describe-auto-scaling-groups --auto-scaling-group-names my-asg

Berikut ini adalah contoh tanggapan yang menunjukkan bahwa status kesehatan instance adalah Unhealthy dan bahwa instance tersebut akan berakhir.

{ "AutoScalingGroups": [ { .... "Instances": [ { "ProtectedFromScaleIn": false, "AvailabilityZone": "us-west-2a", "LaunchTemplate": { "LaunchTemplateName": "my-launch-template", "Version": "1", "LaunchTemplateId": "lt-1234567890abcdef0" }, "InstanceId": "i-1234567890abcdef0", "InstanceType": "t2.micro", "HealthStatus": "Unhealthy", "LifecycleState": "Terminating" }, ... ] } ] }