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.
Daftar Isi
- Jenis pemeriksaan kesehatan
- Pemeriksaan kesehatan Amazon EC2
- Pemeriksaan kondisi Elastic Load Balancing
- Pemeriksaan kesehatan VPC Lattice
- Bagaimana Auto Scaling Amazon EC2 meminimalkan waktu henti
- Pemeriksaan kesehatan untuk contoh di kolam yang hangat
- Pertimbangan pemeriksaan kesehatan
- Pemeriksaan kesehatan khusus
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 |
Ini adalah jenis pemeriksaan kesehatan default untuk grup Auto Scaling. |
Pemeriksaan kondisi Elastic Load Balancing |
Untuk menjalankan jenis pemeriksaan kesehatan ini, Anda harus menyalakannya untuk grup Auto Scaling Anda. |
Pemeriksaan kesehatan VPC Lattice |
Untuk menjalankan jenis pemeriksaan kesehatan ini, Anda harus menyalakannya untuk grup Auto Scaling Anda. |
Pemeriksaan kesehatan khusus |
|
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
danHealthCheck
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 manual
Healthy
, Anda dapat mencoba menggunakan perintah set-instance-health. Jika Anda mendapatkan kesalahan, ini mungkin karena instance sudah berakhir. Umumnya, menyetel status kesehatan instance kembaliHealthy
dengan perintah set-instance-health hanya berguna dalam kasus di manaReplaceUnhealthy
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 dalamStandby
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-statusUnhealthy
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"
},
...
]
}
]
}