| | |
| Select the type of server group to create. Both server type and IP type are supported. - Only ECS instances and secondary network interfaces bound to ECS instances can be added as backend servers.
- The added ECS instances and secondary network interfaces must belong to the same VPC as the server group.
- Only IP addresses can be added as backend servers.
- Before enabling the "Remote IP" feature, any IP address you add must belong to the same VPC as the server group. After enabling the "Remote IP" feature, you can add IP addresses from a different VPC than the server group, or IP addresses from a local IDC.
tip The IP-type server group is in beta stage. If you need a trial, please contact your account manager. | |
| Enter server group name The naming rules are as follows: - Must start with a Chinese character or an English letter.
- Only Chinese characters, English letters, numbers, periods (.), underscores (_), and hyphens (-) are allowed.
- A maximum of 128 characters is allowed.
| |
| Select the VPC to which the server group belongs. The server group and the ALB instance it will be associated with must reside in the same VPC. | |
Load balancing algorithm | Specify the scheduling algorithm. The scheduling algorithm at the server group level is also called the load balancing algorithm. This algorithm determines how client requests are distributed among backend servers. - Weighted Round Robin (WRR): ALB generates a fixed request allocation sequence based on preset weights. Within a polling cycle, backend servers with higher weights receive more requests. The WRR algorithm only considers the backend servers' weights, not their load. It is suitable for scenarios where request processing times are relatively consistent, but the performance of different backend servers varies significantly.
- Weighted Least Connections (WLC): ALB dynamically calculates the load metric for each backend server and then routes new requests to the server with the lowest load metric. A server's load metric is equal to its current number of connections divided by its weight. The WLC algorithm considers both the load and weight of backend servers. It is suitable for scenarios where request processing times vary greatly.
- Source Address Hash (SH): Requests from the same source IP address are always routed to the same backend server. The SH algorithm does not consider the weight or load of backend servers. It is suitable for scenarios requiring session persistence based on source IP.
| Weighted Round Robin (WRR) |
| Specify the communication protocol between the ALB instance and the backend server. The protocol can be HTTP, HTTPS, or gRPC. tip - The backend communication protocol cannot be changed after the server group is created.
- Only Standard Edition ALB instances support HTTPS and gRPC.
- Server groups with gRPC enabled can only be associated with HTTP/2 listeners.
- They also only support forwarding rules where the specified forwarding action is "Forward to".
| |
| Select whether to enable the health check feature. Health check is enabled by default. After a server group is associated with a listener, ALB initiates health check requests to backend servers according to specified rules to monitor their health status. You can disable the health check feature as needed. However, if this feature is disabled, ALB cannot determine the health status of backend servers. If a backend server is actually abnormal, ALB will still forward requests to it. warning When the health check feature is enabled, there are some default health check configurations. Please review these default settings to ensure they meet your expectations. You can also adjust the configurations as needed. | |
| Set the health check template. You can select an existing health check template or choose Custom health check. | |
| When you set the Health check template to Custom health check, you need to configure the health check protocol. The health check protocol can be HTTP or TCP: - HTTP: ALB sends a GET or HEAD request to the backend server and determines the health check result based on the HTTP response code. If the backend server returns a "Normal Status Code", the health check is considered successful.
- TCP: ALB attempts to establish a TCP connection with the backend server and determines the health check result based on the outcome of the TCP three-way handshake. If the TCP three-way handshake completes successfully, the health check is considered successful.
The required configuration parameters differ depending on the health check protocol. For details, see "Other health check configurations" section below. | |
Other Health Check Configurations (Health Check Protocol: HTTP) | When the health check protocol is HTTP, you need to configure the following health check parameters: - Health check port: Specifies the port used by ALB for health checks. By default, the port of the backend server is used for the ALB health check. You can also specify a different port for health check.
- Protocol version: Specifies the version of health check protocol. Protocol versions: HTTP1.0 and HTTP1.1.
- Health check method: Specifies the HTTP request method used by ALB when initiating health check requests.
- GET: When ALB initiates a GET request, the backend server returns both HTTP response headers and the response body.
- HEAD: When ALB initiates a GET request, the backend server returns both HTTP response headers and the response body. Compared to the GET method, this can reduce data transmission and lower the load on the backend server. When choosing this method, you must ensure that the backend server supports HEAD requests.
- Health check domain: Enter the domain name used by ALB for health checks. The value must meet the following requirements:
- Only English letters, numbers, half-width periods (.), and hyphens (-) are allowed.
- It must contain at least one half-width period (.), but cannot begin or end with a half-width period (.). Each level of the domain name cannot start or end with a hyphen (-).
- A maximum of 128 characters is allowed.
- Must be an exact domain name that complies with domain name specifications, e.g., www.test.com. Wildcard domain names are currently not supported.
warning - When the protocol version is HTTP/1.0: If you do not specify a domain name, ALB uses the backend server's private IP address as the destination for health checks. However, the health check request will not include a Host header.
- When the protocol version is HTTP/1.1: If you do not specify a domain name, ALB uses the backend server's private IP address as the destination for health checks and uses this IP address as the value for the Host header in the health check request.
- Health check path: Enter the specific URL path used by ALB for health checks. The default value is /, which indicates the root directory. The value must meet the following requirements:
- Must start with a forward slash /.
- A maximum of 128 characters is allowed.
- Only English letters, numbers, and the following special characters are allowed: -_ / .% ?# & =.
- Normal status code: Select the status codes that indicate a successful health check. You can check one or more of the following options: 2XX, 3XX, 4XX, and 5XX. 2XX and 3XX are selected by default.
- If the actual response status code falls within your selected range(s), the health check is considered successful.
- If the actual response status code does not fall within your selected range(s), the health check is considered failed.
- For example: If you do not select 4XX, but the backend server returns a status code in the 4XX range, ALB will consider that health check attempt failed.
- Response Timeout: Set the response timeout period.
- If ALB does not receive a response from the backend server within the specified time, it is judged as a timeout and the health check fails.
- Value range: 1-60. Default value: 2. Unit: seconds.
- Detect interval: Set the time interval at which ALB sends health check requests to a single backend server.
- Value range: 1-300. Default value: 2. Unit: seconds.
- It is recommended to set this interval according to business needs to avoid frequent health check requests causing performance pressure on backend servers.
- Health threshold: Sets the healthy threshold, which is the number of consecutive successful health checks required to determine a backend server as normal.
- Once this threshold is reached, ALB considers the abnormal backend server recovered and will continue to forward requests to it.
- Value range: 2–10. Default value: 3.
- Unhealthy threshold: Sets the unhealthy threshold, which is the number of consecutive failed health checks required to determine a backend server as abnormal.
- Once this threshold is reached, ALB considers the backend server abnormal and will stop forwarding requests to it.
- Value range: 2–10. Default value: 3.
| |
Other Health Check Configurations (Health Check Protocol: TCP) | When the health check protocol is TCP, you need to configure the following health check parameters: - Health check port: Specifies the port used by ALB for health checks. By default, the port of the backend server is used for the ALB health check. You can also specify a different port for health check.
- Response Timeout: Set the response timeout period.
- If ALB does not receive a response from the backend server within the specified time, it is judged as a timeout and the health check fails.
- Value range: 1-60. Default value: 2. Unit: seconds.
- Detect interval: Set the time interval at which ALB sends health check requests to a single backend server.
- Value range: 1-300. Default value: 2. Unit: seconds.
- It is recommended to set this interval according to business needs to avoid frequent health check requests causing performance pressure on backend servers.
- Health threshold: Sets the healthy threshold, which is the number of consecutive successful health checks required to determine a backend server as normal.
- Once this threshold is reached, ALB considers the backend server recovered and will continue to forward requests to it.
- Value range: 2–10. Default value: 3.
- Unhealthy threshold: Sets the unhealthy threshold, which is the number of consecutive failed health checks required to determine a backend server as abnormal.
- Once this threshold is reached, ALB considers the backend server abnormal and will stop forwarding requests to it.
- Value range: 2–10. Default value: 3.
| |
Cross-zone load balancing | Configure the cross-zone load balancing feature at the server group level. This feature is enabled by default. | |
| Set session persistence feature. This feature is disabled by default. After enabling the session persistence feature, ALB forwards requests from the same client to the same backend server. ALB supports the following session persistence modes: - Cookie placement: When a client sends its first request to ALB, ALB selects a backend server based on the load balancing algorithm, processes the request, and inserts a Cookie in the response returned to the client. When subsequent client requests carry this Cookie, the ALB forwards them to the corresponding backend server.
- When selecting this mode, you need to set a session persistence timeout period. The timeout period determines the validity duration of the inserted Cookie in the client's browser.
- Rewrite cookie: You need to specify the name of the Cookie to be rewritten. When the ALB detects that the backend server's response contains a Cookie with the specified name, it rewrites the value of that Cookie. When subsequent client requests carry the rewritten Cookie, the ALB forwards them to the corresponding backend server.
warning The priority of session persistence is higher than the load balancing algorithm. For example, if you set the Source IP Hash algorithm for a server group and also enable session persistence for it, ALB will ignore the Source IP Hash algorithm. In this case: - For the first request from a client, ALB defaults to selecting a backend server based on the Weighted Round Robin algorithm.
- Subsequent requests from that client will always be forwarded to the same backend server.
If you prefer ALB to forward requests from the same client to the same backend server based on the Source IP Hash algorithm, do not enable session persistence. | |
| Enable slow start feature. After enabling, newly added backend servers in the server group will have their weights gradually increased by ALB from 0 to the configured target weight at a constant rate within the slow start duration. This achieves smooth distribution of service traffic and prevents the new backend from being instantly overwhelmed. - The slow start feature can only be enabled when the scheduling algorithm of the server group is weighted round robin.
- Apart from adding new backend servers, restarting a backend server or recovering it from an abnormal state to a normal state will also trigger the slow start feature.
| |
| After enabling slow start, you need to configure the duration of the slow start period. Value range: 30 to 900 seconds. | |
| Enter the description of the server group. | |
| Select a project for the server group. A Project is a resource management method provided by VolcanoEngine. Using projects, you can group and manage your cloud resources. If you do not select a project, the server group will be added to the default project by default. | |
| A tag consists of a key-value pair and is used for categorizing and searching resources Learn more Click the Add icon, enter the Tag key and Tag value, and add tags to the server group. | |