Creates a load balancing server group.
Operation description
The CreateServerGroup API operation is asynchronous. After you call this operation, the system returns a request ID, but the server group is not yet created and the creation task is still running in the background. You can call ListServerGroups to query the creation status of the server group:
If the server group is in the Creating state, the server group is being created.
If the server group is in the Available state, 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 server group type. Valid values:
Valid values:
|
Instance |
| ServerGroupName |
string |
No |
The name of the server group. The name must be 2 to 128 characters in length, and must start with a letter or Chinese character. It can contain digits, periods (.), underscores (_), and hyphens (-). |
testServerGroupName |
| Protocol |
string |
No |
The backend forwarding protocol. Valid values:
Valid values:
|
GENEVE |
| Scheduler |
string |
No |
The scheduling algorithm. Valid values:
Valid values:
|
5TCH |
| ServerFailoverMode |
string |
No |
The processing method for existing traffic when a server fails. Valid values:
Valid values:
|
NoRebalance |
| VpcId |
string |
Yes |
The VPC-connected instance ID. Note
If ServerGroupType is set to Instance, only servers in this VPC can be added to the server group. |
vpc-bp15zckdt37pq72zv**** |
| ResourceGroupId |
string |
No |
The ID of the resource group. |
rg-atstuj3rtop**** |
| ConnectionDrainConfig |
object |
No |
The connection draining configurations. |
|
| ConnectionDrainEnabled |
boolean |
No |
Specifies whether to enable connection draining. Valid values:
|
false |
| ConnectionDrainTimeout |
integer |
No |
The connection draining timeout period. Unit: seconds. Valid values: 1 to 3600. Default value: 300. |
300 |
| HealthCheckConfig |
object |
No |
The health check configurations. |
|
| HealthCheckConnectPort |
integer |
No |
The port of the backend server 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 when HealthCheckProtocol is set to HTTP. |
$SERVER_IP |
| HealthCheckEnabled |
boolean |
No |
Specifies whether to enable health checks. Valid values:
|
true |
| HealthCheckHttpCode |
array |
No |
The list of HTTP status codes for healthy responses. |
|
|
string |
No |
The HTTP status codes for healthy responses. Separate multiple HTTP status codes with commas (,). Valid values:
Default value: http_2xx. Note
This parameter takes effect only when HealthCheckProtocol is set to HTTP. Valid values:
|
http_2xx |
|
| HealthCheckInterval |
integer |
No |
The interval between two consecutive health checks. Unit: seconds. Valid values: 1 to 50. Default value: 10. |
10 |
| HealthCheckPath |
string |
No |
The health check path. The path must be 1 to 80 characters in length, and can contain only letters, digits, hyphens (-), forward slashes (/), periods (.), percent signs (%), question marks (?), number signs (#), ampersands (&), and the following extended characters: _;~!()*[]@$^:',+=. The path must start with a forward slash (/). Note
This parameter takes effect only when HealthCheckProtocol is set to HTTP. |
/test/index.html |
| HealthCheckProtocol |
string |
No |
The health check protocol. Valid values:
|
TCP |
| HealthyThreshold |
integer |
No |
The number of consecutive successful health checks that must occur before the health check state of a backend server is changed from fail to success. Valid values: 2 to 10. Default value: 2. |
2 |
| UnhealthyThreshold |
integer |
No |
The number of consecutive failed health checks that must occur before the health check state of a backend server is changed from success to fail. Valid values: 2 to 10. Default value: 2. |
2 |
| HealthCheckReq |
string |
No |
||
| HealthCheckExp |
string |
No |
||
| Tag |
array<object> |
No |
The list of tags. You can specify up to 20 tags in a single 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 only precheck the 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 value, but you must ensure that it 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 RequestId of the API request as the ClientToken. The RequestId of each API request is unique. |
123e4567-e89b-12d3-a456-42665544**** |
Response elements
|
Element |
Type |
Description |
Example |
|
object |
The response struct. |
||
| RequestId |
string |
The request ID. |
54B48E3D-DF70-471B-AA93-08E683A1B45 |
| ServerGroupId |
string |
The ID of the server group. |
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.