All Products
Search
Document Center

Server Load Balancer:UpdateServerGroupAttribute

Last Updated:Nov 04, 2024

Modifies the configurations of a Network Load Balancer (NLB) server group.

Debugging

You can run this interface directly in OpenAPI Explorer, saving you the trouble of calculating signatures. After running successfully, OpenAPI Explorer can automatically generate SDK code samples.

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.
OperationAccess levelResource typeCondition keyAssociated operation
nlb:UpdateServerGroupAttributeupdate
  • ServerGroup
    acs:nlb:{#regionId}:{#accountId}:servergroup/{#ServerGroupId}
    none
none

Request parameters

ParameterTypeRequiredDescriptionExample
ServerGroupIdstringYes

The server group ID.

sgp-atstuj3rtoptyui****
ServerGroupNamestringNo

The new name of the server group.

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.

NLB_ServerGroup1
ConnectionDrainEnabledbooleanNo

Specifies whether to enable connection draining. Valid values:

  • true
  • false
false
ConnectionDrainTimeoutintegerNo

The timeout period of connection draining. Unit: seconds. Valid values: 10 to 900.

10
SchedulerstringNo

The routing algorithm. Valid values:

  • Wrr: Backend servers with higher weights receive more requests than backend servers with lower weights.
  • rr: Requests are forwarded to backend servers in sequence.
  • sch: Source IP hashing is used. Requests from the same source IP address are forwarded to the same backend server.
  • tch: Four-element hashing is used. It 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 forwarded to the same backend server.
  • qch: QUIC ID hashing. Requests that contain the same QUIC ID are forwarded to the same backend server.
Note QUIC ID hashing is supported only when the backend protocol is set to UDP.
Wrr
PreserveClientIpEnabledbooleanNo

Specifies whether to enable client IP preservation. Valid values:

  • true
  • false
Note You cannot set this parameter to true if PreserveClientIpEnabled is set to false and the server group is associated with a TCP/SSL listener.
false
HealthCheckConfigobjectNo

The configuration of health checks.

HealthCheckEnabledbooleanNo

Specifies whether to enable the health check feature. Valid values:

  • true
  • false
false
HealthCheckTypestringNo

The protocol that is used for health checks. Valid values:

  • TCP
  • HTTP
  • UDP
TCP
HealthCheckConnectPortintegerNo

The backend port that is used for health checks. Valid values: 0 to 65535. If you set the value to 0, the port of a backend server is used for health checks.

0
HealthyThresholdintegerNo

The number of times that an unhealthy backend server must consecutively pass health checks before it is declared healthy. In this case, the health status changes from fail to success. Valid values: 2 to 10.

3
UnhealthyThresholdintegerNo

The number of times that a healthy backend server must consecutively fail health checks before it is declared unhealthy. In this case, the health status changes from success to fail. Valid values: 2 to 10.

3
HealthCheckConnectTimeoutintegerNo

The maximum timeout period of a health check. Unit: seconds Valid values: 1 to 300. Default value: 5****

100
HealthCheckIntervalintegerNo

The interval at which health checks are performed. Unit: seconds. Default value: 5.****

  • If you set HealthCheckType to TCP or HTTP, valid values are 1 to 50.
  • If you set HealthCheckType to UDP, valid values are 1 to 300. Set the health check interval equal to or larger than the response timeout period to ensure that UDP response timeouts are not determined as no responses.
5
HealthCheckDomainstringNo

The domain name that is used for health checks. Valid values:

  • $SERVER_IP: the internal IP address of a backend server.
  • domain: the specified domain name. The domain name must be 1 to 80 characters in length, and can contain lowercase letters, digits, hyphens (-), and periods (.).
Note This parameter takes effect only if you set HealthCheckType to HTTP.
$SERVER_IP
HealthCheckUrlstringNo

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: - / . % ? # & =. It can also contain the following extended characters: _ ; ~ ! ( ) * [ ] @ $ ^ : ' , +. The URL must start with a forward slash (/).

Note This parameter takes effect only if you set HealthCheckType to HTTP.
/test/index.html
HealthCheckHttpCodearrayNo

The HTTP status codes to return for health checks. Separate multiple HTTP status codes with commas (,). Valid values: http_2xx (default), http_3xx, http_4xx, and http_5xx.

Note This parameter takes effect only if you set HealthCheckType to HTTP.
HealthCheckHttpCodestringNo

The HTTP status code to return for health checks. Separate multiple HTTP status codes with commas (,). Valid values: http_2xx (default), http_3xx, http_4xx, and http_5xx.

Note This parameter takes effect only if you set HealthCheckType to HTTP.
http_2xx
HttpCheckMethodstringNo

The HTTP method that is used for health checks. Valid values: GET and HEAD.

Note This parameter takes effect only if you set HealthCheckType to HTTP.
GET
HealthCheckReqstringNo

The request string of UDP health checks. The string must be 1 to 512 characters in length, and can contain letters and digits.

hello
HealthCheckExpstringNo

The response string of UDP health checks. The string must be 1 to 512 characters in length, and can contain letters and digits.

ok
RegionIdstringNo

The region ID of the NLB instance.

You can call the DescribeRegions operation to obtain the region ID.

cn-hangzhou
DryRunbooleanNo

Specifies whether to perform only a dry run, without performing the actual request. Valid values:

  • true: performs only a dry run. The system checks the request for potential issues, including missing parameter values, incorrect request syntax, and service limits. If the request fails the dry run, an error message is returned. If the request passes the dry run, the DryRunOperation error code is returned.
  • false (default): performs a dry run and performs the actual request. If the request passes the dry run, a 2xx HTTP status code is returned and the operation is performed.
false
ClientTokenstringNo

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.
123e4567-e89b-12d3-a456-426655440000

Response parameters

ParameterTypeDescriptionExample
object

Updates the configuration of a server group.

RequestIdstring

The request ID.

54B48E3D-DF70-471B-AA93-08E683A1B45
ServerGroupIdstring

The server group ID.

sgp-atstuj3rtoptyui****
JobIdstring

The ID of the asynchronous task.

72dcd26b-f12d-4c27-b3af-18f6aed5****

Examples

Sample success responses

JSONformat

{
  "RequestId": "54B48E3D-DF70-471B-AA93-08E683A1B45",
  "ServerGroupId": "sgp-atstuj3rtoptyui****",
  "JobId": "72dcd26b-f12d-4c27-b3af-18f6aed5****"
}

Error codes

HTTP status codeError codeError messageDescription
400IllegalParam.%sThe param of %s is illegal.-
400SystemBusySystem is busy, please try again later.-
400IllegalParam.healthCheckDomainThe parameter of healthCheckConfig.healthCheckDomain is illegal.The healthCheckDomain in the health check configuration is invalid. Check the input parameters.
400IlleagalParam.healthCheckUrlThe parameter of healthCheckUrl in healthCheckConfig is illegal.The URL of the health check used in the health check setting is invalid.
400OperationDenied.UidNotAllowQuic29The operation is not allowed because of uid not allow quic29 version.-
400IllegalParamThe param of %s is illegal.-
400DryRunOperationRequest validation has been passed with DryRun flag set.Request validation has been passed with DryRun flag set.
400IllegalParam.ServerGroupNameThe param of ServerGroupName is illegal.-
400IllegalParam.PreserveClientIpSwitchThe server group associated with the tcpssl listener does not support enabling PreserveClientIp.The server group associated with the tcpssl listener does not support enabling PreserveClientIp.
403Forbidden.NoPermissionAuthentication is failed for NoPermission.Authentication is failed for NoPermission.
404ResourceNotFound.serverGroupThe specified resource of serverGroup is not found.The specified resource of serverGroup is not found. Please check the input parameters.

For a list of error codes, visit the Service error codes.

Change history

Change timeSummary of changesOperation
2024-06-25The Error code has changedView Change Details
2024-03-14The Error code has changedView Change Details
2023-12-28The Error code has changedView Change Details
2023-12-18The Error code has changedView Change Details
2023-10-09The Error code has changedView Change Details
2023-10-07The Error code has changedView Change Details
2023-09-27The Error code has changed. The request parameters of the API has changedView Change Details
2023-09-26The Error code has changedView Change Details
2023-09-18The request parameters of the API has changedView Change Details