Setelah mengaktifkan pemeriksaan kesehatan Server Load Balancer (SLB), jika satu instance ECS backend dinyatakan tidak sehat, permintaan akan dialihkan ke instance ECS normal lainnya. Ketika instance ECS bermasalah tersebut kembali normal, SLB akan kembali meneruskan permintaan ke instance tersebut.
Untuk layanan SLB lapisan-7, ketika sebuah instance ECS dinyatakan tidak sehat, Anda dapat menyelesaikan masalah dari aspek-aspek berikut:
- Pastikan Anda dapat langsung mengakses layanan melalui instance ECS.
- Pastikan port backend yang dikonfigurasikan di Pendengar dibuka pada server backend.
- Periksa apakah instance ECS backend telah menginstal firewall atau perangkat lunak perlindungan keamanan lainnya. Perangkat lunak ini dapat memblokir alamat IP lokal layanan SLB, sehingga mengganggu komunikasi antara SLB dan server backend.
- Periksa apakah parameter pemeriksaan kesehatan SLB disetel dengan benar. Kami merekomendasikan menggunakan pengaturan pemeriksaan kesehatan default.
- Kami merekomendasikan menggunakan halaman statis untuk pemeriksaan kesehatan. Jika halaman statis yang digunakan bukan halaman pemeriksaan kesehatan default dari instance ECS backend, Anda harus menetapkan halaman tersebut sebagai halaman pemeriksaan kesehatan dalam Konfigurasi pemeriksaan kesehatan. Gunakan halaman HTML sederhana untuk pemeriksaan kesehatan dan hanya gunakan halaman tersebut untuk memeriksa tanggapan pemeriksaan kesehatan. Hindari menggunakan bahasa skrip dinamis seperti PHP.
- Periksa apakah instance ECS backend memiliki beban tinggi, yang dapat memperlambat kecepatan respons instance ECS.
Selain itu, karena layanan SLB lapisan-7 berkomunikasi dengan instance ECS backend melalui jaringan internal, instance ECS harus mendengarkan port jaringan internal atau semua port jaringan. Anda dapat memeriksa instance ECS dengan metode berikut:
- Periksa apakah fungsi mendengarkan berfungsi dengan normal.
Misalkan port frontend SLB dan port backend instance ECS keduanya adalah 80. Alamat IP internal ECS adalah 10.11.192.1. Jalankan perintah berikut di server. Jika Anda dapat melihat informasi pemantauan 10.1.1.192.1:80, atau informasi pemantauan 0.0.0.0:80, fungsi mendengarkan port tersebut normal.
- Server Windows:
netstat -ano | findstr :80 - Server Linux:
netstat -anp | grep :80
- Server Windows:
- Periksa apakah firewall jaringan internal server mengizinkan port 80. Anda dapat menonaktifkan firewall sementara untuk melakukan tes. Masukkan perintah berikut untuk menonaktifkan firewall.
- Windows:
firewall.cpl - Linux:
/etc/init.d/iptables stop
- Windows:
- Periksa apakah port backend normal.
- Untuk layanan SLB lapisan-4, Anda dapat melakukan tes telnet. Jika Anda menerima tanggapan, port backend normal. Contoh: Gunakan
telnet 10.11.192.1 80untuk melakukan tes. - Untuk layanan SLB lapisan-7, Anda dapat menentukan apakah port tersebut normal dengan memeriksa kode status HTTP yang diterima. Kode status HTTP harus merupakan kode status yang menunjukkan kondisi normal, seperti 200. Metode tes adalah sebagai berikut:
- Windows: Akses alamat IP internal instance ECS. Dalam contoh ini, akses
http://10.11.192.1. - Linux: Jalankan perintah
curl -Idan periksa apakah statusnya adalah HTTP/1.1 200 OK. Dalam contoh ini, jalankancurl -I 10.11.192.1.
- Windows: Akses alamat IP internal instance ECS. Dalam contoh ini, akses
- Untuk layanan SLB lapisan-4, Anda dapat melakukan tes telnet. Jika Anda menerima tanggapan, port backend normal. Contoh: Gunakan