Application Load Balancer (ALB) terus-menerus memantau server backend Anda melalui pemeriksaan kesehatan dan secara otomatis mengalihkan lalu lintas dari server yang tidak sehat.
Pemeriksaan kesehatan diaktifkan secara default untuk semua kelompok server dan dapat dikonfigurasi secara independen per kelompok server.
Cara kerja
ALB secara berkala mengirim permintaan probe ke setiap server backend dan mengevaluasi responsnya. Sebuah server harus lulus sejumlah pemeriksaan berturut-turut—yaitu Healthy Threshold—sebelum ALB menandainya sebagai sehat. Hal ini mencegah fluktuasi jaringan sementara memicu false positive.
Ketika sebuah server gagal dalam pemeriksaan berturut-turut melebihi Unhealthy Threshold, ALB berhenti mengarahkan permintaan baru ke server tersebut dan mengalihkannya ke server yang sehat. Ketika server pulih, ALB secara otomatis menambahkannya kembali.
Pemeriksaan kesehatan menggunakan koneksi singkat yang langsung ditutup setelah setiap probe selesai.
Perilaku fail-open: Jika semua server dalam satu kelompok server gagal dalam pemeriksaan kesehatan secara bersamaan, ALB tetap mengarahkan permintaan ke semuanya berdasarkan algoritma penjadwalan, bukan menjatuhkan seluruh lalu lintas. Hal ini membatasi gangguan layanan saat terjadi kegagalan luas.
Server backend dengan bobot 0 tidak ikut serta dalam pemeriksaan kesehatan.
Alamat IP sumber
ALB melakukan probe ke server backend Anda dari alamat IP tertentu. Pastikan server Anda mengizinkan lalu lintas dari alamat-alamat ini—termasuk dalam aturan iptables dan perangkat lunak keamanan pihak ketiga. Jika Anda memblokir IP ini, probe pemeriksaan kesehatan tidak dapat mencapai server Anda, sehingga ALB akan menandainya sebagai tidak sehat dan mengeluarkannya dari rotasi load balancing.
Tipe instans ALB | Rentang IP sumber |
Instans ALB yang telah ditingkatkan | Alamat IP privat dari blok CIDR vSwitch (IP Lokal). Lihat alamat-alamat ini di halaman detail instans. |
Instans ALB yang belum ditingkatkan |
|
Buat pemeriksaan kesehatan
Konsol
Buka halaman Health Check di Konsol ALB.
Pilih wilayah target, lalu klik Create Health Check.
Konfigurasikan parameter berikut dan klik Create.
Pengaturan dasar
Parameter | Deskripsi |
Health Check Name | Nama untuk templat pemeriksaan kesehatan ini. |
Protocol | Protokol probe. Lihat Protocols untuk detailnya. |
Health Check Method | Metode HTTP untuk permintaan probe. Hanya berlaku untuk HTTP, HTTPS, dan gRPC. |
HTTP Version | HTTP1.0 atau HTTP1.1. Hanya berlaku untuk HTTP dan HTTPS. |
Port | Port yang akan diprobe. Biarkan kosong untuk menggunakan port masing-masing server backend. Nilai valid: 1–65535. |
Path | Jalur URL yang akan diprobe, seperti |
Domain name | Nilai header |
Penentuan status sehat
Parameter | Default | Nilai valid | Deskripsi |
Health Check Status Codes |
| Kode status HTTP yang menunjukkan server dalam kondisi sehat. Hanya berlaku untuk HTTP, HTTPS, dan gRPC. | |
Health Check Response Timeout | 5 detik | 1–300 detik | Jika server tidak merespons dalam waktu ini, pemeriksaan dianggap gagal. |
Health Check Interval | 2 detik | 1–50 detik | Waktu antara pemeriksaan berturut-turut. Interval yang lebih panjang berarti deteksi server tidak sehat menjadi lebih lambat. |
Healthy Threshold | 3 | 2–10 | Jumlah pemeriksaan sukses berturut-turut yang diperlukan untuk menandai server sebagai sehat. |
Unhealthy Threshold | 3 | 2–10 | Jumlah pemeriksaan gagal berturut-turut yang diperlukan untuk menandai server sebagai tidak sehat. |
Tag dan kelompok sumber daya
Parameter | Deskripsi |
Tag Key / Tag Value | Tag pasangan kunci-nilai untuk menyaring dan mengelola templat pemeriksaan kesehatan. |
Resource Group | Kelompok sumber daya tempat pemeriksaan kesehatan ini berada. |
Setelah membuat pemeriksaan kesehatan, pilih pemeriksaan tersebut di bagian Health Check Settings saat membuat kelompok server.
Anda juga dapat mengonfigurasi pemeriksaan kesehatan saat membuat kelompok server dan menyimpan konfigurasinya sebagai templat dengan memilih Save the health check configurations as a template.
API
Panggil CreateHealthCheckTemplate untuk membuat templat pemeriksaan kesehatan.
Panggil ApplyHealthCheckTemplateToServerGroup untuk menerapkannya ke kelompok server.
Protokol
Metode pemeriksaan kesehatan (HTTP, HTTPS, gRPC)
Metode | Default untuk | Perilaku |
HEAD | HTTP, HTTPS | Hanya meminta header. Pastikan backend Anda mendukung permintaan HEAD; jika tidak, gunakan GET. |
POST | gRPC | Pastikan backend Anda mendukung permintaan POST; jika tidak, gunakan GET. |
GET | — | Respons yang lebih besar dari 8 KB akan dipotong, tetapi hal ini tidak memengaruhi hasil pemeriksaan kesehatan. |
Detail protokol
Protokol | Mekanisme |
HTTP | ALB mengirim permintaan HEAD atau GET untuk memverifikasi bahwa aplikasi server backend dalam kondisi sehat. |
HTTPS | ALB mengirim permintaan HEAD atau GET untuk memverifikasi bahwa aplikasi server backend dalam kondisi sehat. Didukung untuk instans ALB Jenis Standar dan yang ditingkatkan WAF. Tidak didukung untuk instans ALB Basic. |
TCP | ALB mengirim paket handshake SYN untuk memverifikasi ketersediaan port server backend. |
gRPC | ALB mengirim permintaan POST atau GET untuk memverifikasi bahwa aplikasi server backend dalam kondisi sehat. |
Kode status pemeriksaan kesehatan (HTTP, HTTPS, gRPC)
ALB hanya menyatakan server dalam kondisi sehat jika probe mengembalikan salah satu kode status yang dikonfigurasi.
HTTP/HTTPS: Pilih dari
http_2xx,http_3xx,http_4xx, danhttp_5xx. Default:http_2xxdanhttp_3xx.gRPC: Kode valid adalah 0–99. Tentukan hingga 20 rentang nilai, dipisahkan koma.
Menyertakan http_4xx atau http_5xx dalam daftar kode status Anda akan memperlambat deteksi server tidak sehat. Batasi daftar hanya pada http_2xx dan http_3xx, dan perbaiki masalah backend yang menyebabkan respons 4XX atau 5XX.
Ubah pemeriksaan kesehatan
Menonaktifkan pemeriksaan kesehatan berarti ALB tidak lagi mendeteksi server yang tidak sehat. Jika server mati, lalu lintas tidak akan dialihkan secara otomatis ke server yang sehat.
Jika Anda menentukan interval pemeriksaan kesehatan yang lebih panjang, ALB memerlukan waktu lebih lama untuk mendeteksi server backend yang tidak sehat.
Konsol
Buka halaman Health Check di Konsol ALB.
Temukan pemeriksaan kesehatan target dan klik Modify di kolom Actions.
Perbarui pengaturan di dialog Modify Health Check Settings dan klik Save.
Anda juga dapat mengedit pemeriksaan kesehatan di halaman Server Groups.
API
Panggil UpdateHealthCheckTemplateAttribute untuk memperbarui templat pemeriksaan kesehatan.
Lihat status pemeriksaan kesehatan
Jika instans ALB Anda memiliki listener dan pemeriksaan kesehatan diaktifkan, lihat status kesehatan server backend di tab Listener.
Konsol
API
Panggil GetListenerHealthStatus untuk menanyakan status pemeriksaan kesehatan listener.
Hapus pemeriksaan kesehatan
Konsol
Buka halaman Health Check di Konsol ALB.
Temukan pemeriksaan kesehatan target dan klik Delete di kolom Actions.
Konfirmasi penghapusan dan klik OK.
API
Panggil DeleteHealthCheckTemplates untuk menghapus templat pemeriksaan kesehatan.
Penerapan di produksi
Buat titik akhir pemeriksaan kesehatan khusus. Tambahkan entri rute khusus—seperti /health—yang selalu mengembalikan HTTP 200. Hindari menggunakan jalur bisnis: jalur tersebut mungkin mengembalikan 4XX karena autentikasi atau resource tidak ditemukan, sehingga menyebabkan kegagalan palsu.
Perbaiki masalah backend alih-alih melonggarkan kode status. Saat pemeriksaan kesehatan gagal, lakukan troubleshooting dan perbaiki akar masalah agar titik akhir mengembalikan 2XX atau 3XX. Jangan menambahkan 4XX atau 5XX ke daftar kode status yang diterima untuk mengakali masalah tersebut.
Sesuaikan parameter sesuai lingkungan Anda. Pengaturan default cocok untuk sebagian besar skenario. Untuk layanan yang membutuhkan waktu lama saat startup, tingkatkan Health Check Interval atau Unhealthy Threshold untuk menghindari penandaan prematur server yang sedang startup sebagai tidak sehat. Untuk jaringan dengan latensi tinggi, tingkatkan Health Check Response Timeout.
Simulasikan pemeriksaan kesehatan dengan curl. Saat melakukan troubleshooting, gunakan perintah berikut untuk mereplikasi perilaku probe ALB. Ganti metode, domain, IP, port, dan path agar sesuai dengan konfigurasi Anda:
curl -Iv -X HEAD --http1.0 -H "Host: your-domain.com" http://backend_ip:port/health_pathPenagihan
Pemeriksaan kesehatan tidak dikenai biaya tambahan. Untuk detail harga ALB, lihat informasi penagihan ALB.
Kuota
Anda dapat membuat hingga 50 templat pemeriksaan kesehatan per wilayah. Kuota ini tidak dapat ditingkatkan.