Each listener is associated with an endpoint group. You can associate an endpoint group with a listener by specifying the region where you want to distribute traffic. GA then allocates traffic to the endpoints within the group based on the routing type of the listener.
Endpoint groups
Endpoint group types
By default, listeners with a custom routing type can have two endpoint groups. These endpoint groups are not categorized by type.
Listeners with a smart routing type have two types of endpoint groups:
Default endpoint group: The endpoint group that you configure when you create a listener.
Virtual endpoint group: You can manually create a virtual endpoint group on the Endpoint Groups page after you create a listener.
The quotas and features for each endpoint group type vary based on the billing method of the GA instance:
Pay-as-you-go
Feature comparison of endpoint group types | Default endpoint group | Virtual endpoint group |
Listener protocol | TCP, UDP, HTTP, or HTTPS | TCP, HTTP, or HTTPS only |
Quota | By default, you can create two default endpoint groups. To create more endpoint groups, increase the quota for gaplus_quota_epgs_per_listener on the Quota Management page. Each default endpoint group must be in a unique region. | By default, you can create a total of 10 virtual endpoint groups. To create more virtual endpoint groups, increase the quota for gaplus_quota_vepg_per_listener on the Quota Management page.
|
Supported. | Supported. | |
Associated with the default forwarding policy by default. You can also associate it with a custom forwarding policy. | Can only be associated with custom forwarding policies. |
If your standard GA instance does not support adding virtual endpoint groups for TCP listeners, your instance version may not support this feature. To use this feature, contact your business manager to upgrade the instance.
Subscription
Feature comparison of endpoint group types | Default endpoint group | Virtual endpoint group |
Listener protocol | TCP, UDP, HTTP, or HTTPS | TCP, HTTP, or HTTPS only |
Quota |
| By default, you can create a total of 10 virtual endpoint groups. To create more virtual endpoint groups, increase the quota for gaplus_quota_vepg_per_listener on the Quota Management page. The region of a virtual endpoint group must be the same as the region of the default endpoint group. |
|
| |
Associated with the default forwarding policy by default. Only default endpoint groups for TCP listeners can be associated with custom forwarding policies. | Can only be associated with custom forwarding policies. |
If your standard GA instance does not support adding virtual endpoint groups or configuring forwarding policies for TCP listeners, the instance version may not be supported. To use these features, contact your account manager to request an instance upgrade.
Endpoint group traffic distribution
GA lets you configure an endpoint group traffic distribution ratio to adjust traffic distribution among multiple endpoint groups. This feature helps balance traffic loads and improve user experience.
Traffic distribution ratio: This specifies the percentage of traffic that is forwarded to an endpoint group. The value can range from 0% to 100%. The default value is 100%. A value of 0% indicates that no traffic is forwarded to the endpoint group. A value of 100% indicates that all traffic is forwarded to the endpoint group.
Scheduling priority: The final traffic distribution to an endpoint group depends on both the configured traffic distribution ratio and the scheduling priority of the endpoint group. GA determines the scheduling priority based on network latency, which is affected by geographic location and network link conditions. In general, the closer the access point is to the region of an endpoint group, the shorter the network link and the higher the scheduling priority. Traffic is preferentially scheduled to the endpoint group with the highest scheduling priority.
For the subscription billing method, only TCP and UDP listeners support traffic distribution. For the pay-as-you-go billing method, all listener types support traffic distribution.
After you enable health checks for endpoint groups, if an endpoint group with a higher priority fails its health check, all traffic is forwarded to the next available endpoint group with the highest priority. In this case, the configured traffic distribution ratio is ignored.
If a custom forwarding policy exists, traffic is scheduled among the endpoint groups associated with the matched forwarding policy.
Endpoints
Backend service types for endpoints
An endpoint is the destination that processes client requests. You can add one to four endpoints to an endpoint group. The following table describes the supported backend service types for endpoints.
Backend service deployed on | Network connectivity type | Backend service type | Backend service |
Alibaba Cloud | Private connection | ECS | ECS instances in a VPC |
ALB | Private Application Load Balancer (ALB) instances | ||
NLB | Network Load Balancer (NLB) | ||
CLB | Private Classic Load Balancer (CLB) instances in a VPC | ||
OSS | Object Storage Service (OSS) buckets | ||
ENI | Elastic Network Interface (ENI) | ||
Custom Private IP | Private IP address Lets you add unsupported Alibaba Cloud backend service types or on-premises IDC services as backend services for GA using private IP addresses. Custom private IP addresses include but are not limited to the following standard private CIDR blocks:
If you want to use public IP addresses as private IP addresses, these addresses are treated as private IP addresses when you use the custom private IP feature. If necessary, configure the required routes in the VPC. | ||
Public connection | Alibaba Cloud Public IP |
| |
CLB | Public Classic Load Balancer (CLB) instances | ||
ALB | Public Application Load Balancer (ALB) instances | ||
Private connection | vSwitch Only listeners with a custom routing type support this type. | vSwitch Lets you specify the private IP addresses and destination ports of one or more ECS instances in a vSwitch as traffic destinations. | |
Not On Alibaba Cloud | Public connection | Custom Public IP | Custom public IP address |
Custom Domain Name | Custom domain name |
If your standard GA instance does not support backend service types such as ECS (VPC type), ALB, NLB, CLB (VPC type), ENI, or Custom Private IP Address, the instance version may be outdated. To use these features, contact your business manager to request an instance upgrade.
UDP listeners do not support ALB backend services.
To ensure uninterrupted connectivity between the GA instance and backend services, you must configure access policies based on the network connectivity type of the backend service:
Public connection: The access policy of the backend service, such as a security group or firewall, must allow traffic from the GA egress public IP address.
Private connection: The access policy of the backend service, such as a security group or access control rule, must allow traffic from the vSwitch CIDR block where the backend service resides. You must also ensure that at least eight private IP addresses are available in the vSwitch CIDR block.
The custom routing listener feature is available through an invitational preview. To use this feature, contact your account manager. After your request is approved, you can select this routing type for your listener.
Listeners with a custom routing type allow you to specify the destinations that can receive traffic. These destinations are the IP addresses and ports of ECS instances.
The egress public IP address of the endpoints for each GA instance is unique and not shared with users of other GA instances.
Endpoint weight
For listeners with a smart routing type, you can set weights for endpoints. The weight determines the proportion of traffic that GA directs to an endpoint. You can set the endpoint weight to a value from 0 to 255. The default value is 255.
GA calculates the sum of the weights of all endpoints in an endpoint group and then directs traffic to each endpoint based on the ratio of its weight to the total weight:
By setting endpoint weights, you can more effectively manage traffic distribution, improve service stability and responsiveness, and optimize resource usage. Common scenarios include the following:
Load balancing: Distribute traffic among multiple endpoints in an endpoint group. Endpoints with higher weights receive more traffic.
Phased release: When you update a backend application, you can gradually direct traffic to the new version on an endpoint by increasing its weight for phased release and verification.
For example, an application is deployed on Endpoint A with a weight of 255. A new test version is deployed on Endpoint B with an initial weight of 1. This means only 1/256 of the traffic is allocated to Endpoint B. After successful testing, you can gradually increase the weight of Endpoint B to balance the load between Endpoint A and Endpoint B. If you want to stop sending traffic to Endpoint A, set its weight to 0.
If the weight of an endpoint is 0, no traffic is sent to that endpoint.
If an endpoint group contains only one endpoint and its weight is between 1 and 255, all traffic to the group is sent to that endpoint.
If health checks are not enabled and an endpoint group has multiple endpoints, traffic is distributed among all endpoints, including unhealthy ones, based on their configured weights. If GA repeatedly fails to forward traffic to an unhealthy endpoint, the traffic allocated to that endpoint is transferred to other endpoints in the group. This process can increase the request processing time.
If health checks are enabled, unhealthy endpoints do not receive traffic. GA recalculates the weights among the healthy endpoints and redistributes the traffic accordingly. This improves service stability and responsiveness.
Backend IP protocol
GA endpoint groups allow you to configure backend IP protocols. You can choose the IP protocol for communication between GA and backend services to match your service deployment. This ensures end-to-end accelerated access across different network protocol environments.
Protocol versions
IPv4: Uses only IPv4 addresses to communicate with the endpoint service.
IPv6: Ues only IPv6 addresses to communicate with the endpoint service.
IPv4/IPv6 (protocol affinity): The IP protocol that GA uses matches the protocol of the client request.
If the client request uses IPv6, GA uses IPv6 to communicate with the endpoint service.
If the client request uses IPv4, GA uses IPv4 to communicate with the endpoint service.
Limits
Only standard GA instances that use the pay-as-you-go billing method and have listeners with a smart routing type support the configuration of backend IP protocols. Other types of GA instances do not support this configuration and use IPv4 by default.
You cannot configure backend IP protocols if the endpoint group region is an Alibaba Cloud point of presence (POP).
You can call the ListAvailableBusiRegions operation to check whether a region is an Alibaba Cloud POP.
You cannot configure OSS as a backend service if the backend IP protocol is set to IPv6 or IPv4/IPv6 (Protocol Affinity).
The backend IP address protocol feature is in invitational preview. To use this feature, contact your business manager.
Health check
By enabling the health check feature for the endpoint groups of a GA instance, you can improve business reliability and availability and prevent service disruptions caused by unhealthy endpoints.
After you enable health checks for an endpoint group, if an endpoint fails a health check, GA automatically distributes new requests to other healthy endpoints. When the unhealthy endpoint recovers, GA automatically adds it back to the service.
Only standard GA instances with listeners that use the smart routing type support health checks for endpoint groups.
References
When you add an endpoint group for a listener with a smart routing type, you can also configure the traffic distribution, health checks, and port mapping. For more information, see the following topics:
After you create an endpoint group for a listener, you can create a custom forwarding policy. The listener can then forward requests that match the policy conditions to the associated default or virtual endpoint group. This allows a single GA instance to accelerate access to multiple destination endpoints.