Creates a server group for a Gateway Load Balancer (GWLB) instance.
Operation description
CreateServerGroup 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 the task.
If the server group is in the Creating state, it indicates that the server group is being created.
If the server group is in the Available state, it indicates that the server group is created.
Try it now
Test
RAM authorization
Action | Access level | Resource type | Condition key | Dependent action |
gwlb:CreateServerGroup | create | *ServerGroup
*VPC
| None | None |
Request parameters
Parameter | Type | Required | Description | Example |
ServerGroupType | string | No | The type of the server group. Valid values:
| Instance |
ServerGroupName | string | No | The server group name. The name must be 2 to 128 characters in length, and can contain digits, periods (.), underscores (_), and hyphens (-). It must start with a letter. | testServerGroupName |
Protocol | string | No | The backend protocol. Valid value:
Valid values:
| GENEVE |
Scheduler | string | No | The scheduling algorithm. Valid values:
| 5TCH |
ServerFailoverMode | string | No | Specifies how GWLB processes requests over existing connections when a backend server is not running as expected. Valid values:
| NoRebalance |
VpcId | string | Yes | The VPC ID. Note If ServerGroupType is set to Instance, only servers in the specified VPC can be added to the server group. | vpc-bp15zckdt37pq72zv**** |
ResourceGroupId | string | No | The resource group ID. | rg-atstuj3rtop**** |
| ConnectionDrainConfig | object | No | The configurations of connection draining. | |
ConnectionDrainEnabled | boolean | No | Specifies whether to enable connection draining. Valid values:
| false |
ConnectionDrainTimeout | integer | No | The timeout period of connection draining. Unit: seconds Valid values: 1 to 3600. Default value: 300. | 300 |
| HealthCheckConfig | object | No | The health check configurations. | |
HealthCheckConnectPort | integer | No | The backend server port used for health checks. Valid values: 1 to 65535. Default value: 80. | 80 |
HealthCheckConnectTimeout | integer | No | The maximum timeout period for a health check response. Unit: seconds. Valid values: 1 to 300. Default value: 5. | 5 |
HealthCheckDomain | string | No | The domain name used for health checks. Valid values:
Note This parameter takes effect only if you set HealthCheckProtocol to HTTP. | $SERVER_IP |
HealthCheckEnabled | boolean | No | Specifies whether to enable health checks. Valid values:
| true |
| HealthCheckHttpCode | array | No | The HTTP status codes that the system returns for health checks. | |
string | No | The HTTP status codes returned for health checks. Multiple HTTP status codes are separated by commas (,). Valid values:
Default value: http_2xx. Note This parameter takes effect only if you set HealthCheckProtocol to HTTP. | http_2xx | |
HealthCheckInterval | integer | No | The interval at which health checks are performed. Unit: seconds. Valid values: 1 to 50. Default value: 10. | 10 |
HealthCheckPath | string | No | The path used for health checks. It must be 1 to 80 characters in length, and can contain letters, digits, hyphens (-), forward slashes (/), periods (.), percent signs (%), question marks (?), number signs (#), and ampersands (&). The URL can also contain the following extended characters: _ ; ~ ! ( ) * [ ] @ $ ^ : ' , + = It must start with a forward slash (/). Note This parameter takes effect only if you set HealthCheckProtocol to HTTP. | /test/index.html |
HealthCheckProtocol | string | No | The protocol used for health checks. Valid values:
| TCP |
HealthyThreshold | integer | No | The number of times that an unhealthy backend server must consecutively pass health checks before it is declared healthy. In this case, the health check status of the backend server changes from fail to success. Valid values: 2 to 10. Default value: 2. | 2 |
UnhealthyThreshold | integer | No | The number of times that a healthy backend server must consecutively fail health checks before it is declared unhealthy. In this case, the health check status of the backend server changes from success to fail. Valid values: 2 to 10. Default value: 2. | 2 |
HealthCheckReq | string | No | ||
HealthCheckExp | string | No | ||
| Tag | array<object> | No | The tag keys. You can specify at most 20 tags in each call. | |
object | No | The tag. | ||
Key | string | No | The tag key. The tag key cannot be an empty string. The tag key can be up to 128 characters in length, and cannot start with | testTagKey |
Value | string | No | The tag value. The tag value can be up to 256 characters in length and cannot contain | testTagValue |
DryRun | boolean | No | Specifies whether to perform only a dry run without performing the actual request. Valid values:
| False |
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 client 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-42665544**** |
Response elements
Element | Type | Description | Example |
object | |||
RequestId | string | The request ID. | 54B48E3D-DF70-471B-AA93-08E683A1B45 |
ServerGroupId | string | The server group ID. | sgp-atstuj3rtoptyui**** |
Examples
Success response
JSON format
{
"RequestId": "54B48E3D-DF70-471B-AA93-08E683A1B45",
"ServerGroupId": "sgp-atstuj3rtoptyui****"
}Error codes
HTTP status code | Error code | Error message | Description |
400 | IllegalParam.HealthCheckProtocol | The param of %s is illegal. | The health check protocol is invalid. Check the input parameters. |
400 | QuotaExceeded.ServerGroupsNum | The quota of %s is exceeded for resource %s, usage %s/%s. | The quota gwlb_quota_servergroups_num has exceeded the quota limit. |
400 | DuplicatedParam.TagKey | The param of %s is duplicated. | The parameter of tag key is duplicated. |
400 | IllegalParam.TagKey | The param of %s is illegal. | |
404 | ResourceNotFound.Vpc | The specified resource of %s is not found. | The specified virtual private cloud resource does not exist. |
See Error Codes for a complete list.
Release notes
See Release Notes for a complete list.