Troubleshooting Load Balancing
This document describes how to troubleshoot Load Balancing service-related issues.
Problems with services not working through connected load balancers
If you are unable to communicate with the private IP or public IP of the load balancer, please check the following.
If the security group of the target connected to the load balancer does not allow traffic
▶ Set up communication with the health check IP of the load balancer and the instance.
The load balancer must be able to communicate with the health check IP of the instance for health check and service connection of the target (instance).
To do this, you must add an inbound rule to the security group of the target (instance) to allow communication with the health check IP.
- For more information, refer to Allow health check IP communication. You can check the health check IP in KakaoCloud Console > Beyond Networking Service > Load Balancing > Target Group > Target tab > Health Check IP by subnet.
▶ Set the inbound rules for the security group.
When setting the inbound rules for the security group, you must set the protocol and port number that match the service and health check type. For example, if the service port is 80
and the health check type is Ping
, you must allow the following inbound rules.
Protocol | Source | Port number |
---|---|---|
TCP | {Health Check IP 1}/32 | 80 |
TCP | {Health Check IP 2}/32 | 80 |
ICMP | {Health Check IP 1}/32 | ALL |
ICMP | {Health Check IP 2}/32 | ALL |
If the target service is not running
▶️ Check whether the application is running.
When registering a target in the target group of the load balancer within the target (instance), the application using the set port must be operating normally.
If the status of the target is unhealthy
▶️ Check if the HTTP status code set for the health check matches the status code returned by the web server.
Even if the security group settings and service status are both normal and the health check is running when checking the packet within the target, the status of the target may be unhealthy
.
If the health check is set to the HTTP
protocol, you need to check if the HTTP
status code set for the health check matches the status code returned by the web server.
- For example, if the HTTP status code set for the health check is
200
~399
and the status code returned by the web server is500
, the status of the target will beunhealthy
.