- What's New
- Function Overview
-
Service Overview
- What Is ELB?
- Product Advantages
- How ELB Works
- Application Scenarios
- Differences Between Dedicated and Shared Load Balancers
- Load Balancing on a Public or Private Network
- Network Traffic Paths
- Specifications of Dedicated Load Balancers
- Quotas and Constraints
- Billing (Dedicated Load Balancers)
- Permissions
- Product Concepts
- How ELB Works with Other Services
- Change History
- Getting Started
-
User Guide
-
Load Balancer
- Overview
- Preparations for Creating a Load Balancer
- Creating a Dedicated Load Balancer
- Creating a Shared Load Balancer
- Modifying the Bandwidth
- Changing the Specifications of a Dedicated Load Balancer
- Changing an IP Address
- Binding an IP Address to or Unbinding an IP Address from a Load Balancer
- Adding to or Removing from an IPv6 Shared Bandwidth
- Enabling or Disabling a Load Balancer
- Exporting the Load Balancer List
- Deleting a Load Balancer
- Listener
- Advanced Features of HTTP/HTTPS Listeners
- Backend Server Group
- Backend Server (Dedicated Load Balancers)
- Backend Server (Shared Load Balancers)
- Certificate
- Access Control
- TLS Security Policy
- Tag
- Access Logging
- Monitoring
- Auditing
- Permissions Management
- Quotas
- Appendix
- Change History
-
Load Balancer
- Best Practices
-
API Reference
- Before You Start
- API Overview
- Calling APIs
- APIs (V3)
- Examples
- Permissions and Supported Actions
- Appendix
- SDK Reference
-
FAQs
- Popular Questions
-
ELB Use
- Service Abnormality
-
ELB Functionality
- Can ELB Be Used Separately?
- Does ELB Support Persistent Connections?
- Does ELB Support FTP on Backend Servers?
- Can ELB Block DDoS Attacks and Secure Web Code?
- Is an EIP Assigned Exclusively to a Load Balancer?
- How Many Load Balancers and Listeners Can I Have?
- What Types of APIs Does ELB Provide? What Are Permissions of ELB?
- Can I Adjust the Number of Backend Servers When a Load Balancer is Running?
- Can Backend Servers Run Different OSs?
- Can I Configure Different Backend Ports for a Load Balancer?
- Are There Any Restrictions on the Frequency of Access from an IP Address?
- Can ELB Be Used Across Accounts or VPCs?
- Can Backend Servers Access the Ports of a Load Balancer?
- Can I Bind a Public IP Address Purchased from a Third-Party Cloud Provider to My Load Balancer?
- Can Both the Listener and Backend Server Group Use HTTPS?
- Can I Change the VPC and Subnet for My Load Balancer?
- Does ELB Support IPv6 Networks?
- Load Balancing Performance
-
Load Balancers
- What Is Quota?
- How Does ELB Distribute Traffic?
- How Can I Access a Load Balancer Across VPCs?
- How Can I Configure Load Balancing for Containerized Applications?
- Why Can't I Delete My Load Balancer?
- Do I Need to Configure Bandwidth for My Load Balancers?
- Can I Bind Multiple EIPs to a Load Balancer?
- Why Multiple IP Addresses Are Required When I Create or Enable a Load Balancer?
- Why Are Requests from the Same IP Address Routed to Different Backend Servers When the Load Balancing Algorithm Is Source IP Hash?
- Can Backend Servers Access the Internet Using the EIP of the Load Balancer?
- Will Traffic Routing Be Interrupted If the Load Balancing Algorithm Is Changed?
- What Is the Difference Between the Bandwidth Included in Each Specification of a Dedicated Load Balancer and the Bandwidth of an EIP?
- How Do I Combine ELB and WAF?
-
Listeners
- What Are the Relationships Between Load Balancing Algorithms and Sticky Session Types?
- Can I Bind Multiple Certificates to a Listener?
- Do HTTP and HTTP Listeners Support the X-Forwarded-Host Header?
- Will ELB Stop Distributing Traffic Immediately After a Listener Is Deleted?
- Does ELB Have Restrictions on the File Upload Speed and Size?
- Can Multiple Load Balancers Route Requests to One Backend Server?
- How Is WebSocket Used?
- What Are the Three Timeouts of a Listener and What Are the Default Durations?
- Why Can't I Select the Target Backend Server Group When Adding or Modifying a Listener?
- Why Cannot I Add a Listener to a Dedicated Load Balancer?
-
Backend Servers
- Why Is the Interval at Which Backend Servers Receive Health Check Packets Different from What I Have Configured?
- Can Backend Servers Access the Internet After They Are Associated with a Load Balancer?
- Can ELB Distribute Traffic Across Servers That Are Not Provided by Huawei Cloud?
- Can ELB Route Traffic Across Regions?
- Does Each Backend Server Need an EIP to Receive Requests from a Public Network Load Balancer?
- How Do I Check the Network Conditions of a Backend Server?
- How Can I Check the Network Configuration of a Backend Server?
- How Do I Check the Status of a Backend Server?
- How Long Is the Timeout Duration of Connections Between a Load Balancer and Backend Servers?
- When Is a Backend Server Considered Healthy?
- How Do I Check Whether a Backend Server Can Be Accessed Through an EIP?
- Why Is the Number of Active Connections Monitored by Cloud Eye Different from the Number of Connections Established with the Backend Servers?
- Why Can I Access Backend Servers After a Whitelist Is Configured?
- When Will Modified Weights Take Effect?
- How Much Time Is Required for a Load Balancer to Disconnect from Backend Servers After The Servers Are Removed?
- Why Must the Subnet Where the Load Balancer Resides Have at Least 16 Available IP Addresses for Enabling IP as a Backend?
-
Health Checks
- How Do I Troubleshoot an Unhealthy Backend Server?
- Why Is the Interval at Which Backend Servers Receive Health Check Packets Different from the Configured Interval?
- How Does ELB Perform UDP Health Checks? What Are the Precautions for UDP Health Checks?
- Why Does ELB Frequently Send Requests to Backend Servers During Health Checks?
- When Does a Health Check Start?
- Do Maximum Retries Include Health Checks That Consider Backend Servers Unhealthy?
- What Do I Do If a Lot of Access Logs Are Generated During Health Checks?
- What Status Codes Will Be Returned If Backend Servers Are Identified as Healthy?
- Obtaining Source IP Addresses
-
HTTP/HTTPS Listeners
- Which Protocol Should I Select for the Backend Server Group When Adding an HTTPS Listener?
- Why Is There a Security Warning After a Certificate Is Configured?
- Why Is a Forwarding Policy in the Faulty State?
- Why Can't I Add a Forwarding Policy to a Listener?
- Why Cannot I Select an Existing Backend Server Group When Adding a Forwarding Policy?
- Sticky Sessions
- Certificates
- Monitoring
- Billing
- Videos
How Does ELB Perform UDP Health Checks? What Are the Precautions for UDP Health Checks?
How UDP Health Checks Work
UDP is a connectionless protocol. A UDP health check is implemented as follows:
- The health check node sends an ICMP request to the backend server based on the health check configuration.
- If the health check node receives an ICMP reply from the backend server, it considers the backend server healthy and continues the health check.
- If the health check node does not receive an ICMP reply from the backend server, it considers the backend server unhealthy.
- After receiving the ICMP reply, the health check node sends a UDP probe packet to the backend server.
- If the health check node receives an ICMP Port Unreachable message from the backend server within the timeout duration, the backend server is considered unhealthy.
- If the health check node does not receive an ICMP Port Unreachable message from the backend server within the timeout duration, the backend server is considered healthy.
When you use UDP for health checks, retain default parameter settings.
Troubleshooting
If the backend server is unhealthy, use either of the following methods to locate the fault:
- Check whether the timeout duration is too short.
One possible cause is that the ICMP Echo Reply or ICMP Port Unreachable message returned by the backend server does not reach the health check node within the timeout duration. As a result, the health check result is inaccurate.
It is recommended that you change the timeout duration to a larger value.
UDP health checks are different from other health checks. If the health check timeout duration is too short, the health check result of the backend server frequently toggles back and forth between Healthy and Unhealthy.
- Check whether the backend server restricts the rate at which ICMP messages are generated.
For Linux servers, run the following commands to query the rate limit and rate mask:
sysctl -q net.ipv4.icmp_ratelimit
The default rate limit is 1000.
sysctl -q net.ipv4.icmp_ratemask
The default rate mask is 6168.
If the returned value of the first command is the default value or 0, run the following command to remove the rate limit of Port Unreachable messages:
sysctl -w net.ipv4.icmp_ratemask=6160
For more information, see the Linux Programmer's Manual. On the Linux CLI, run the following command to display the manual:
man 7 icmp
Alternatively, visit http://man7.org/linux/man-pages/man7/icmp.7.html.
Once the rate limit is lifted, the number of ICMP Port Unreachable messages on the backend server will not be limited.
Precautions
Note the following when you configure UDP health checks:
- UDP health checks use ping packets to check the health of the backend server. To ensure smooth transmission of these packets, ensure that ICMP is enabled on the backend server by performing the following:
Log in to the server and run the following command as user root:
cat /proc/sys/net/ipv4/icmp_echo_ignore_all
- If the returned value is 1, ICMP is disabled.
- If the returned value is 0, ICMP is enabled.
- The health check result may be different from the actual health of the backend server.
If the backend server runs Linux, the rate of ICMP packets may be limited due to Linux's defense against ping flood attacks when there is a large number of concurrent requests. In this case, if a service exception occurs, the load balancer will not receive error message port XX unreachable and will consider the health check to be successful. As a result, there is an inconsistency between the health check result and the actual server health.
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.