All Products
Search
Document Center

Server Load Balancer:Memecahkan kegagalan pemeriksaan kesehatan Network Load Balancer (NLB)

Last Updated:Apr 22, 2026

Pemeriksaan kesehatan Network Load Balancer (NLB) memverifikasi bahwa server backend berjalan dengan benar. Kegagalan pemeriksaan kesehatan umumnya menunjukkan adanya masalah pada server backend, meskipun pengaturan pemeriksaan kesehatan yang salah atau konfigurasi server backend juga dapat menyebabkan kegagalan. Topik ini menjelaskan cara memecahkan kegagalan tersebut.

Gejala

Status Health Check Status untuk listener suatu instans NLB bernilai Unhealthy.

Penyebab

Jika pemeriksaan kesehatan gagal setelah dikonfigurasi untuk pertama kali, periksa terlebih dahulu konfigurasi pemeriksaan kesehatan. Kegagalan mungkin disebabkan oleh salah satu hal berikut:

  • Parameter pemeriksaan kesehatan tidak tepat

  • Masalah pada port listener

Jika pemeriksaan kesehatan gagal setelah sebelumnya berjalan berhasil, periksa terlebih dahulu server backend. Kegagalan mungkin disebabkan oleh salah satu hal berikut:

  • Masalah perangkat lunak keamanan

  • Konfigurasi rute tidak tepat

  • Beban server backend terlalu tinggi

Solusi

Pemeriksaan kesehatan gagal setelah konfigurasi awal

Penyebab 1: Parameter pemeriksaan kesehatan tidak tepat

  1. Login ke Konsol NLB.

  2. Di bilah navigasi atas, pilih wilayah tempat instans NLB dikerahkan.

  3. Di panel navigasi kiri, pilih NLB > Server Groups.

  4. Di halaman Server Groups, temukan kelompok server untuk instans NLB Anda dan klik Modify Health Check Settings.

  5. Di kotak dialog Modify Health Check Settings, verifikasi bahwa parameter pemeriksaan kesehatan sudah benar. Kami merekomendasikan penggunaan parameter pemeriksaan kesehatan bawaan.

Penyebab 2: Masalah pada port listener

Periksa port pemeriksaan kesehatan.

  1. Login ke Konsol NLB.

  2. Di bilah navigasi atas, pilih wilayah tempat instans NLB dikerahkan.

  3. Di panel navigasi kiri, pilih NLB > Server Groups.

  4. Di halaman Server Groups, temukan kelompok server untuk instans NLB Anda dan klik ID kelompok server tersebut.

  5. Di halaman detail kelompok server, klik tab Backend Servers untuk melihat dan mencatat port server backend.

  6. Di halaman detail kelompok server, klik tab Details. Di bagian Health Check, klik Modify Health Check Settings. Di kotak dialog Modify Health Check Settings, lihat dan catat parameter pemeriksaan kesehatan.

Listener TCP

  1. Login ke server backend dan jalankan perintah berikut untuk menguji koneksi ke port pemeriksaan kesehatan:

    Untuk informasi cara login ke server backend, lihat Panduan koneksi jarak jauh untuk instance ECS.

    telnet [$IP] [$Port]
    Catatan
    • [$IP] adalah alamat IP pribadi server backend.

    • [$Port] adalah port probe untuk pemeriksaan kesehatan kelompok server. Jika port probe spesifik tidak dikonfigurasi, nilai ini secara bawaan menggunakan port server backend.

  2. Periksa output perintah.

    Respons seperti "telnet: connect to address [$IP]: Connection refused", seperti ditunjukkan pada gambar berikut, menunjukkan bahwa koneksi ditolak dan port pemeriksaan kesehatan tidak merespons.image

    Respons seperti "Connected to [$IP]", seperti ditunjukkan pada gambar berikut, menunjukkan bahwa port pemeriksaan kesehatan pada server backend sedang mendengarkan dengan benar.image

Listener UDP

  1. Login ke server backend dan jalankan perintah berikut untuk memeriksa status port pemeriksaan kesehatan:

    Untuk informasi cara login ke server backend, lihat Panduan koneksi jarak jauh untuk instance ECS.

    netstat -anu | grep [$IP]:[$Port]
    Catatan
    • [$IP] adalah alamat IP pribadi server backend.

    • [$Port] adalah port probe untuk pemeriksaan kesehatan kelompok server. Jika port probe spesifik tidak dikonfigurasi, nilai ini secara bawaan menggunakan port server backend.

  2. Periksa output perintah.

    Jika tidak ada entri untuk [$IP]:[$Port] yang dikembalikan, seperti ditunjukkan pada gambar berikut, port pemeriksaan kesehatan pada server backend tidak merespons.

    image

    Jika entri untuk [$IP]:[$Port] dikembalikan, seperti ditunjukkan pada gambar berikut, port pemeriksaan kesehatan pada server backend sedang mendengarkan dengan benar.image

Verifikasi bahwa aplikasi berjalan di server backend dan port-nya sesuai dengan port pemeriksaan kesehatan. Bagian ini menggunakan layanan Nginx sebagai contoh.

  1. Login ke server backend yang tidak sehat dan jalankan perintah berikut untuk memeriksa status layanan Nginx:

    systemctl status nginx
  2. Respons seperti di bawah ini menunjukkan bahwa layanan tidak berjalan.

    image

  3. Jalankan perintah berikut untuk memulai layanan Nginx:

    systemctl start nginx
  4. Kemudian, jalankan perintah berikut untuk memeriksa kembali status layanan Nginx:

    systemctl status nginx

    Respons seperti di bawah ini menunjukkan bahwa layanan sedang berjalan.image

  5. Login ke Konsol Network Load Balancer (NLB) dan lakukan langkah-langkah berikut:

    1. Di panel navigasi kiri, pilih NLB > Server Groups.

    2. Di halaman Server Groups, temukan kelompok server target dan klik Modify Health Check Settings di kolom Actions.

    3. Di kotak dialog Modify Health Check Settings, periksa port pemeriksaan kesehatan [$Port].image

    4. Periksa apakah pemeriksaan kesehatan sudah normal. Jika belum, jalankan perintah berikut untuk memeriksa port pendengar layanan Nginx.

      netstat -tanp |grep nginx
  6. Jika output seperti berikut, port pendengar tidak sesuai dengan nilai [$Port].

    image

    Edit file /etc/nginx/nginx.conf, cari dan ubah nilai listen menjadi [$Port], lalu simpan dan keluar.

    Catatan

    Jika Anda tidak dapat mengubah nilai listen, Anda dapat mengubah port pemeriksaan kesehatan sebagai gantinya. Untuk informasi selengkapnya, lihat Listener NLB.

    image

  7. Jalankan perintah berikut untuk me-restart layanan Nginx. Tunggu beberapa saat, lalu pastikan pemeriksaan kesehatan sudah normal.

    systemctl restart nginx

Pemeriksaan kesehatan gagal setelah sebelumnya berjalan berhasil

Penyebab 1: Masalah perangkat lunak keamanan

Instans NLB berkomunikasi dengan server backend menggunakan blok CIDR VPC-nya. Pastikan perangkat lunak keamanan di server backend Anda—seperti iptables—tidak memblokir trafik dari blok CIDR tersebut. Jika trafik ini diblokir, pemeriksaan kesehatan akan gagal. Bagian ini menggunakan iptables sebagai contoh untuk memeriksa rentang alamat IP yang diblokir.

  1. Login ke Konsol Network Load Balancer (NLB) dan lihat alamat IP lokal yang digunakan instans NLB untuk berkomunikasi dengan server backend.

    image

  2. Login ke instans server backend yang tidak sehat dan jalankan perintah berikut untuk melihat semua aturan dalam tabel filter:

    iptables -nL

    Respons seperti di bawah ini menunjukkan bahwa server backend menolak permintaan dari alamat IP lokal instans NLB.

    image

  3. Jalankan perintah berikut untuk menghapus aturan pemblokiran:

    iptables -t filter -D INPUT -s 192.168.20.75 -j DROP  # Alamat IP ini hanya untuk tujuan demonstrasi.
    Catatan

    Ganti alamat IP dalam perintah dengan alamat IP lokal yang digunakan instans NLB Anda.

  4. Jalankan perintah berikut untuk memastikan permintaan dari blok CIDR VPC NLB tidak lagi diblokir:

    iptables -nL
  5. Verifikasi bahwa status Health Check Status untuk listener NLB berubah menjadi Healthy.

Penyebab 2: Konfigurasi rute tidak tepat

Konfigurasi rute yang salah di server backend untuk blok CIDR VPC instans NLB dapat mencegah instans NLB menerima respons pemeriksaan kesehatan, sehingga menyebabkan kegagalan. Bagian ini menggunakan perintah route Linux sebagai contoh untuk memeriksa konfigurasi rute.

  1. Login ke Konsol Network Load Balancer (NLB) dan lihat alamat IP lokal yang digunakan instans NLB untuk berkomunikasi dengan server backend.

    image

  2. Login ke server backend yang tidak sehat dan jalankan perintah berikut untuk memeriksa konfigurasi rute saat ini:

    route -n

    Konfigurasi rute dianggap tidak tepat jika terdapat entri rute di mana Tujuan adalah alamat IP lokal instans NLB, Genmask bernilai 255.255.255.255, dan Gerbang bukan merupakan gerbang bawaan antarmuka jaringan. Gerbang bawaan adalah alamat IP yang tercantum di kolom Gerbang ketika Tujuan bernilai 0.0.0.0.

    image

  3. Jalankan perintah berikut untuk menghapus rute yang salah:

    ip route del blackhole 192.168.20.75 # Alamat IP ini hanya untuk tujuan demonstrasi.
    Catatan

    Ganti alamat IP dalam perintah dengan alamat IP lokal yang digunakan instans NLB Anda.

  4. Verifikasi bahwa status Health Check Status untuk listener NLB berubah menjadi Healthy.

Penyebab 3: Beban server backend terlalu tinggi

Lihat Memecahkan dan menyelesaikan masalah beban tinggi pada instance Linux untuk menentukan apakah beban server yang tinggi menyebabkan kegagalan.

Referensi

Fitur diagnostik instans NLB juga dapat membantu Anda memecahkan kegagalan pemeriksaan kesehatan.