This topic describes how to add a UDP listener to a Classic Load Balancer (CLB) instance. UDP applies to services that prioritize real-time content delivery over reliability, such as video conferencing and real-time quote services. You can add a UDP listener to forward UDP requests.
- You are not allowed to specify port 250, port 4789, or port 4790 for UDP listeners. They are system reserved ports.
- Fragmentation is not supported.
- If you add a UDP listener to a CLB instance deployed in a classic network, the UDP listener cannot pass client IP addresses to backend servers.
- The following operations take effect 5 minutes after they are performed on a UDP listener:
- Remove backend servers.
- Set the weight of a backend server to 0 after it is declared unhealthy.
- IPv6 packets have longer IP headers than IPv4 packets. If an IPv6 CLB instance uses a UDP listener, make sure that the following requirement is met: The
maximum transmission unit (MTU) supported by the network interface controller (NIC)
that each backend server uses to communicate with CLB does not exceed 1,200 bytes. Otherwise, oversized packets may be discarded. You must
modify the MTU setting in the configuration files of some applications accordingly.
TCP supports Maximum Segment Size (MSS) announcement. Therefore, when you use a TCP, HTTP, or HTTPS listener, you do not need to perform additional configurations.
A CLB instance is created. For more information, see Create and manage a CLB instance.
Step 1: Add a UDP listener
- Log on to the CLB console.
- In the top navigation bar, select the region where the CLB instance is deployed.
- Use one of the following methods to open the listener configuration wizard:
- On the Instances page, find the CLB instance that you want to manage and click Configure Listener in the Actions column.
- On the Instances page, find the CLB instance that you want to manage and click the ID of the instance. On the Listener tab, click Add Listener.
- Set the following parameters and click Next.
Parameter Definition Listening Protocol In this example, UDP is selected. Listener Port Set the listening port that is used to receive requests and forward them to backend servers. Valid values: 1 to 65535. Listener Name Enter a name for the listener. Advanced Settings Click Modify to configure advanced settings. Scheduling Algorithm Select a scheduling algorithm.
- Weighted Round-Robin (WRR): Backend servers that have higher weights receive more requests than backend servers that have lower weights.
- Round-Robin (RR): Requests are distributed to backend servers in sequence.
- Consistent Hash (CH):
- QUIC ID: specifies consistent hashing that is based on Quick UDP Internet Connections (QUIC)
IDs. Requests that contain the same QUIC ID are distributed to the same backend server.
Notice QUIC is implemented based on draft-ietf-quic-transport-10 and iterates rapidly. Therefore, compatibility is not guaranteed for all QUIC versions. We recommend that you perform tests before you apply the protocol to a production environment.
- Tuple: specifies consistent hashing that is based on four factors: source IP address, destination IP address, source port, and destination port. Requests that contain the same information based on the four factors are distributed to the same backend server.
- Source IP: specifies consistent hashing that is based on source IP addresses. Requests from the same source IP address are distributed to the same backend server.
- QUIC ID: specifies consistent hashing that is based on Quick UDP Internet Connections (QUIC) IDs. Requests that contain the same QUIC ID are distributed to the same backend server.
Enable Session Persistence Specify whether to enable session persistence.
After session persistence is enabled, the CLB instance forwards all requests from a client to the same backend server.
Enable Access Control Specify whether to enable access control.
Select an access control method after you enable access control. Then, select an access control list (ACL) that is used as the whitelist or blacklist of the listener.
Note IPv6 CLB instances can be associated only with IPv6 ACLs, while IPv4 CLB instances can be associated only with IPv4 ACLs. For more information about, see Create a network ACL.
- Whitelist: allows access from specific IP addresses. Only requests from the IP addresses or CIDR blocks specified in the network ACL
are forwarded. Whitelists apply to scenarios in which you want to allow access only
from specific IP addresses. Your service may be adversely affected if the whitelist
is not properly configured. After a whitelist is configured, only requests from IP
addresses that are added to the whitelist are forwarded by the listener.
If a whitelist is configured but no IP address is added to the whitelist, the listener forwards all requests.
- Blacklist: denies access from specific IP addresses. Requests from the IP addresses or CIDR blocks specified in the network ACL are denied.
Blacklists apply to scenarios in which you want to deny access from specific IP addresses.
If a blacklist is configured but no IP address is added to the blacklist, the listener forwards all requests.
Enable Peak Bandwidth Limit
Specify whether to set the maximum bandwidth of the listener.
If the CLB instance is billed based on bandwidth usage, you can set different maximum bandwidth values for different listeners. This limits the amount of traffic that can be forwarded by each listener. The sum of the maximum bandwidth of all listeners that are added to a CLB instance cannot exceed the maximum bandwidth of the CLB instance. By default, this feature is disabled and all listeners share the bandwidth of the CLB instance.Note If the CLB instance is billed based on data transfer, the bandwidth of the listeners is not limited by default.
Proxy Protocol Specify whether to use the Proxy protocol to pass client IP addresses to the backend servers.Note You cannot enable this feature in scenarios where PrivateLink is used. Obtain Client Source IP Address Specify whether to reserve the IP addresses of clients. Only Layer 4 listeners support this feature. By default, this feature is enabled.Note If the UDP listener is added to a CLB instance deployed in a classic network, you can enable Proxy Protocol to obtain client IP addresses. Automatically Enable Listener After Creation Specify whether to immediately enable the listener after it is created. By default, listeners are enabled after they are created.
Step 2: Add backend servers
After you configure the listener, you must add backend servers to process client requests. You can use the default server group that is configured for the CLB instance. You can also configure a vServer group or a primary/secondary server group, or enable the primary/secondary mode for the listener. For more information, see Backend server overview.
- On the Backend Servers wizard page, select the type of the server group to which requests are forwarded.
The default server group is used in this example.
Select Default Server Group and click Add More.
- In the My Servers panel, select the ECS instances that you want to add as backend servers and click Next.
- On the Configure Ports and Weights wizard page, specify the weights of the backend servers that you added. A backend
server with a higher weight receives more requests. Note If the weight of a backend server is set to 0, no request is distributed to the backend server.
- Click Add. On the Default Server Group tab, specify the ports that you want to open on the
backend servers to receive requests. The backend servers are the ECS instances that
you selected. Valid values: 1 to 65535.
You can specify the same port on different backend servers that are added to a CLB instance.
- Click Next.
Step 3: Configure health checks
CLB performs health checks to check the availability of the ECS instances that serve as backend servers. The health check feature improves overall service availability and reduces the impact of backend server failures.
On the Health Check wizard page, click Modify to modify the health check configurations. For more information, see Configure health check.
Step 4: Submit the configurations
- On the Confirm wizard page, check the configurations. You can click Modify to modify the configurations.
- After you confirm the configurations, click Submit.
- When Configuration Successful appears, click OK.
After you configure the listener, you can view the listener on the Listener tab.