Edge Load Balancer (ELB) periodically sends health check requests to backend Edge Node Service (ENS) instances. When a backend instance fails a health check, ELB stops routing new requests to it and redirects traffic to the remaining healthy instances. When the instance recovers, ELB automatically adds it back to the load balancing pool.
Health checks are enabled by default. In most cases, the default settings work without modification.
If your service is sensitive to traffic fluctuations, frequent health checks may affect availability. To reduce the impact, lower the health check frequency, increase the Health Check Interval, or switch from Layer 7 to Layer 4 health checks.
How it works
ELB sends a health check request to each backend ENS instance every Health Check Interval seconds. If a backend instance does not respond within the Response Timeout period, ELB counts that as a failed check.
When consecutive failures reach Unhealthy Threshold, ELB marks the instance as unhealthy and stops routing traffic to it.
When consecutive successes reach Healthy Threshold, ELB marks the instance as healthy and resumes routing traffic to it.
Configure health check parameters
Procedure
Log on to the ENS console.
In the left-side navigation pane, choose Edge Load Balancer > Edge Instance.
On the ELB Instance page, find the target ELB instance and click Listener Configuration in the Actions column.
On the Listener tab, click Add Listener to create a new listener, or click Modify in the Actions column of an existing listener.
Complete the listener configuration steps until you reach the Health Check step.
Click Modify and set the following parameters.
| Parameter | Description | Default |
|---|---|---|
| Health Check Protocol | The protocol ELB uses to probe backend ENS instances. For TCP listeners, select TCP or HTTP. - TCP: ELB probes the backend port by sending SYN packets (Layer 4). - HTTP: ELB sends HEAD or GET requests to check the backend server (Layer 7). | — |
| Health Check Method | The HTTP method used for health checks. Supported for HTTP and HTTPS listeners only. Select HEAD (default) or GET. Use GET if your backend server does not support HEAD requests. | HEAD |
| Health Check Path | The URL path ELB uses when sending HTTP health check requests. Supported for HTTP and HTTPS listeners only. By default, ELB sends requests to the default homepage of the backend ENS instance. Specify a path to check a different endpoint. | Default homepage |
| Health Check Domain Name (optional) | The domain name used in HTTP health check requests. Supported for HTTP and HTTPS listeners only. | — |
| Normal Status Code | The HTTP status code that indicates a successful health check. Supported for HTTP and HTTPS listeners only. | — |
| Health Check Port | The backend port that ELB probes during health checks. | Backend port from the listener configuration |
| Response Timeout | The maximum time ELB waits for a response from a backend instance. If the instance does not respond within this period, the health check is counted as a failure. Valid values: 1–300 seconds. | UDP: 10s; HTTP/HTTPS/TCP: 5s |
| Health Check Interval | The time between two consecutive health checks sent to the same backend instance. Valid values: 1–50 seconds. | UDP: 5s; HTTP/HTTPS/TCP: 2s |
| Healthy Threshold | The number of consecutive successful health checks required before ELB considers a backend instance healthy. Valid values: 2–10. | 3 |
| Unhealthy Threshold | The number of consecutive failed health checks required before ELB considers a backend instance unhealthy. Valid values: 2–10. | 3 |