Modifies the configurations of a server group, such as health checks, session persistence, the server group name, the routing algorithm, and the protocol.
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.
Try it now
Test
RAM authorization
|
Action |
Access level |
Resource type |
Condition key |
Dependent action |
|
alb:UpdateServerGroupAttribute |
update |
*ServerGroup
|
None | 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-70B3****** |
| 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. |
B490B5EBF6F3CD402E515D22B****** |
| 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. |
true |
| 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 elements
|
Element |
Type |
Description |
Example |
|
object |
The response parameters. |
||
| JobId |
string |
The ID of the asynchronous job. |
72dcd26b-f12d-4c27-b3af-18f6aed5**** |
| RequestId |
string |
The request ID. |
365F4154-92F6-4AE4-92F8-7FF3***** |
Examples
Success response
JSON format
{
"JobId": "72dcd26b-f12d-4c27-b3af-18f6aed5****",
"RequestId": "365F4154-92F6-4AE4-92F8-7FF3*****"
}
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. |
See Error Codes for a complete list.
Release notes
See Release Notes for a complete list.