Modifies the configurations of a server group, such as health checks, session persistence, server group names, routing algorithms, and protocols.
Operation description
Description
UpdateServerGroupAttribute is an asynchronous operation. After a request is sent, the system returns a request ID and runs the task in the background. You can call the ListServerGroups operation to query the status of a server group:
- If a server group is in the Configuring state, the configuration of the server group is being modified.
- If a server group is in the Available state, the configuration of the server group is modified.
Debugging
Authorization information
The following table shows the authorization information corresponding to the API. The authorization information can be used in the Action
policy element to grant a RAM user or RAM role the permissions to call this API operation. Description:
- Operation: the value that you can use in the Action element to specify the operation on a resource.
- Access level: the access level of each operation. The levels are read, write, and list.
- Resource type: the type of the resource on which you can authorize the RAM user or the RAM role to perform the operation. Take note of the following items:
- The required resource types are displayed in bold characters.
- If the permissions cannot be granted at the resource level,
All Resources
is used in the Resource type column of the operation.
- Condition Key: the condition key that is defined by the cloud service.
- Associated operation: other operations that the RAM user or the RAM role must have permissions to perform to complete the operation. To complete the operation, the RAM user or the RAM role must have the permissions to perform the associated operations.
Operation | Access level | Resource type | Condition key | Associated operation |
---|---|---|---|---|
alb:UpdateServerGroupAttribute | update | *ServerGroup acs:alb:{#regionId}:{#accountId}:servergroup/{#servergroupId} |
| none |
Request parameters
Parameter | Type | Required | Description | Example |
---|---|---|---|---|
ServerGroupName | string | No | The server group name. The name must be 2 to 128 characters in length and can contain letters, digits, periods (.), underscores (_), and hyphens (-). The name must start with a letter. | test |
Scheduler | string | No | The scheduling algorithm. Valid values:
| Wrr |
ClientToken | string | No | The client token that is used to ensure the idempotence of the request. You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters. Note
If you do not specify this parameter, the system automatically uses the request ID as the client token. The request ID may be different for each request.
| 5A2CFF0E-5718-45B5-9D4D-70B3FF3898 |
DryRun | boolean | No | Specifies whether to perform only a dry run, without performing the actual request. Valid values:
| true |
HealthCheckConfig | object | No | The configuration of health checks. | |
HealthCheckConnectPort | integer | No | The backend port that is used for health checks. Valid values: 0 to 65535. If you set the value to 0, the backend port is used for health checks. Note
This parameter takes effect only if you set HealthCheckEnabled to true.
| 80 |
HealthCheckEnabled | boolean | No | Specifies whether to enable the health check feature. Valid values:
| true |
HealthCheckHost | string | No | The domain name that is used for health checks.
Note
This parameter takes effect only if HealthCheckProtocol is set to HTTP, HTTPS, or gRPC.
| example.com |
HealthCheckCodes | array | No | The HTTP status codes that indicate healthy backend servers. | |
string | No | The HTTP status codes that indicate healthy backend servers.
Note
This parameter takes effect only if you set HealthCheckEnabled to true and HealthCheckProtocol to HTTP, HTTPS, or gRPC.
| 200 | |
HealthCheckHttpVersion | string | No | The HTTP version that is used for health checks. Valid values:
Note
This parameter takes effect only if you set HealthCheckEnabled to true and HealthCheckProtocol to HTTP or HTTPS.
| HTTP1.1 |
HealthCheckInterval | integer | No | The interval at which health checks are performed. Unit: seconds. Valid values: 1 to 50. Note
This parameter takes effect only if you set HealthCheckEnabled to true.
| 5 |
HealthCheckMethod | string | No | The HTTP method that is used for health checks. Valid values:
Note
This parameter takes effect only if you set HealthCheckEnabled to true and HealthCheckProtocol to HTTP, HTTPS, or gRPC.
| HEAD |
HealthCheckPath | string | No | The URL that is used for health checks. The URL must be 1 to 80 characters in length, and can contain letters, digits, and the following special characters: Note
This parameter takes effect only if you set HealthCheckEnabled to true and HealthCheckProtocol to HTTP or HTTPS.
| /test/index.html |
HealthCheckProtocol | string | No | The protocol that you want to use for health checks. Valid values:
| HTTP |
HealthCheckTimeout | integer | No | The timeout period of a health check response. If a backend ECS instance does not respond within the specified timeout period, the ECS instance fails the health check. Unit: seconds. Valid values: 1 to 300. Note
This parameter takes effect only if you set HealthCheckEnabled to true.
| 3 |
HealthyThreshold | integer | No | The number of times that an unhealthy backend server must consecutively pass health checks before it can be declared healthy. In this case, the health check status of the backend server changes from fail to success. Valid values: 2 to 10. | 4 |
UnhealthyThreshold | integer | No | The number of times that a healthy backend server must consecutively fail health checks before it can be declared unhealthy. In this case, the health check status of the backend server changes from success to fail. Valid values: 2 to 10. | 4 |
StickySessionConfig | object | No | The configuration of session persistence. | |
Cookie | string | No | The cookie to be configured on the server. The cookie must be 1 to 200 characters in length and can contain only ASCII characters and digits. It cannot contain commas (,), semicolons (;), or space characters. It cannot start with a dollar sign ($). Note
This parameter takes effect when the StickySessionEnabled parameter is set to true and the StickySessionType parameter is set to Server.
| B490B5EBF6F3CD402E515D22BCDA1598 |
CookieTimeout | integer | No | The timeout period of a cookie. Unit: seconds. Valid values: 1 to 86400. Note
This parameter takes effect when the StickySessionEnabled parameter is set to true and the StickySessionType parameter is set to Insert.
| 1000 |
StickySessionEnabled | boolean | No | Specifies whether to enable session persistence. Valid values:
| false |
StickySessionType | string | No | The method that is used to handle a cookie. Valid values:
ALB inserts a cookie (SERVERID) into the first HTTP or HTTPS response packet that is sent to a client. The next request from the client contains this cookie and the listener forwards this request to the recorded backend server.
When ALB detects a user-defined cookie, it overwrites the original cookie with the user-defined cookie. Subsequent requests to ALB carry this user-defined cookie, and ALB determines the destination servers of the requests based on the cookies. Note
This parameter takes effect when the StickySessionEnabled parameter is set to true for the server group.
| Insert |
ServerGroupId | string | Yes | The server group ID. | sgp-atstuj3rtop**** |
UpstreamKeepaliveEnabled | boolean | No | Specifies whether to enable persistent TCP connections. | |
ServiceName | string | No | This parameter is available only if the ALB Ingress controller is used. In this case, set this parameter to the name of the | test2 |
UchConfig | object | No | The configurations of consistent hashing based on URLs. | |
Type | string | Yes | The type of the parameter. Only query strings are supported. | QueryString |
Value | string | Yes | The value of the parameter used for consistent hashing. | abc |
ConnectionDrainConfig | object | No | The configurations of connection draining. After connection draining is enabled, SLB remains data transmission for a period of time after a backend server is removed or declared unhealthy. Note
| |
ConnectionDrainEnabled | boolean | No | Specifies whether to enable connection draining. Valid values:
| false |
ConnectionDrainTimeout | integer | No | The timeout period of connection draining. Valid values: 0 to 900. | 300 |
SlowStartConfig | object | No | The configurations of slow starts. After slow starts are enabled, ALB prefetches data to newly added backend servers. Requests distributed to the backend servers gradually increase. Note
| |
SlowStartEnabled | boolean | No | Indicates whether slow starts are enabled. Valid values:
| false |
SlowStartDuration | integer | No | The duration of a slow start. | 30 |
CrossZoneEnabled | boolean | No | Indicates whether cross-zone load balancing is enabled for the server group. Valid values:
Note
| true |
Response parameters
Examples
Sample success responses
JSON
format
{
"JobId": "72dcd26b-f12d-4c27-b3af-18f6aed5****",
"RequestId": "365F4154-92F6-4AE4-92F8-7FF34B540710"
}
Error codes
HTTP status code | Error code | Error message | Description |
---|---|---|---|
400 | IncorrectStatus.ServerGroup | The status of %s [%s] is incorrect. | The status of %s [%s] is incorrect. |
400 | Mismatch.LoadBalancerEditionAndConnectionDrain | The %s and %s are mismatched. | The %s and %s are mismatched. |
400 | Mismatch.ServerGroupSchedulerAndSlowStartEnable | The %s and %s are mismatched. | The %s and %s are mismatched. |
400 | QuotaExceeded.ConnectionDrainTimeout | The quota of %s is exceeded, usage %s/%s. | The quota of %s is exceeded, usage %s/%s. |
400 | UnsupportedFeature.ConnectionDrain | The feature of %s is not supported. | The feature of %s is not supported. |
400 | QuotaExceeded.SlowStartDuration | The quota of %s is exceeded, usage %s/%s. | The quota of %s is exceeded, usage %s/%s. |
400 | UnsupportedFeature.SlowStart | The feature of %s is not supported. | - |
400 | Mismatch.LoadBalancerEditionAndSlowStartEnable | The %s and %s are mismatched. | The %s and %s are mismatched. |
400 | OperationDenied.UpstreamKeepaliveDisabled | The operation is not allowed because of UpstreamKeepaliveDisabled. | Updating not allowed Backend long connection is closed |
400 | OperationDenied.UpstreamKeepaliveEnabled | The operation is not allowed because of UpstreamKeepaliveEnabled. | Update not allowed to open Backend Long connection is in the open state |
400 | CloseUpstreamKeepaliveNotSupport | The param of UpstreamKeepalive is not Support. | close keepalive attribute for server group is not supported |
404 | ResourceNotFound.ServerGroup | The specified resource %s is not found. | - |
For a list of error codes, visit the Service error codes.
Change history
Change time | Summary of changes | Operation |
---|---|---|
2024-11-28 | The Error code has changed. The request parameters of the API has changed | View Change Details |
2024-02-23 | The Error code has changed. The request parameters of the API has changed | View Change Details |
2023-11-03 | The Error code has changed. The request parameters of the API has changed | View Change Details |
2023-04-11 | The Error code has changed. The request parameters of the API has changed | View Change Details |