All Products
Search
Document Center

Server Load Balancer:CreateServerGroup

更新時間:Nov 11, 2024

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.

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
gwlb:CreateServerGroupcreate
  • ServerGroup
    acs:gwlb:{#regionId}:{#accountId}:servergroup/*
  • VPC
    acs:vpc:{#regionId}:{#accountId}:vpc/{#VpcId}
    none
none

Request parameters

ParameterTypeRequiredDescriptionExample
ServerGroupTypestringNo

The type of server group. Valid values:

  • Instance (default): allows you to specify servers of the Ecs, Eni, or Eci type.
  • Ip: allows you to add servers of by specifying IP addresses.
Instance
ServerGroupNamestringNo

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
ProtocolstringNo

The backend protocol. Valid values:

  • GENEVE(default)
GENEVE
SchedulerstringNo

The scheduling algorithm. Valid values:

  • 5TCH (default): specifies consistent hashing that is based on the following factors: source IP address, destination IP address, source port, protocol, and destination port. Requests that contain the same information based on the preceding factors are forwarded to the same backend server.
  • 3TCH: specifies consistent hashing that is based on the following factors: source IP address, destination IP address, and protocol. Requests that contain the same information based on the preceding factors are forwarded to the same backend server.
  • 2TCH: specifies consistent hashing that is based on the following factors: source IP address and destination IP address. Requests that contain the same information based on the preceding factors are forwarded to the same backend server.
5TCH
VpcIdstringYes

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****
ResourceGroupIdstringNo

The resource group ID.

rg-atstuj3rtop****
ConnectionDrainConfigobjectNo

The configurations of connection draining.

ConnectionDrainEnabledbooleanNo

Specifies whether to enable connection draining. Valid values:

  • true
  • false
false
ConnectionDrainTimeoutintegerNo

The timeout period of connection draining.

Unit: seconds

Valid values: 1 to 3600.

Default value: 300.

300
HealthCheckConfigobjectNo

The configurations of the health check feature.

HealthCheckConnectPortintegerNo

The backend server port that is used for health checks.

Valid values: 1 to 65535.

Default value: 80.

80
HealthCheckConnectTimeoutintegerNo

The maximum timeout period of a health check response.

Unit: seconds

Valid values: 1 to 300.

Default value: 5.

5
HealthCheckDomainstringNo

The domain name that you want to use for health checks. Valid values:

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

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

  • true (default)
  • false
true
HealthCheckHttpCodearrayNo

The HTTP status codes that the system returns for health checks.

HealthCheckHttpCodestringNo

The HTTP status codes returned for health checks. Multiple HTTP status codes are separated by commas (,). Valid values:

  • http_2xx
  • http_3xx
  • http_4xx
  • http_5xx

Default value: http_2xx.

Note This parameter takes effect only if you set HealthCheckProtocol to HTTP.
http_2xx
HealthCheckIntervalintegerNo

The interval at which health checks are performed.

Unit: seconds

Valid values: 1 to 50.

Default value: 10.

10
HealthCheckPathstringNo

The URL that is used for health checks.

The URL 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: _ ; ~ ! ( ) * [ ] @ $ ^ : ' , + =

The URL must start with a forward slash (/).

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

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

  • TCP (default): GWLB performs TCP health checks by sending SYN packets to a backend server to check whether the port of the backend server is available to receive requests.
  • HTTP: GWLB performs HTTP health checks to check whether backend servers are healthy by sending HEAD or GET requests which simulate access from browsers.
TCP
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.

Default value: 2.

2
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.

Default value: 2.

2
Tagarray<object>No

The tag keys.

You can specify at most 20 tags in each call.

TagModelobjectNo

The tag.

KeystringNo

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 acs: or aliyun. The tag key cannot contain http:// or https://.

testTagKey
ValuestringNo

The tag value. The tag value can be up to 256 characters in length and cannot contain http:// or https://.

testTagValue
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 code 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 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 parameters

ParameterTypeDescriptionExample
object
RequestIdstring

The request ID.

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

The server group ID.

sgp-atstuj3rtoptyui****

Examples

Sample success responses

JSONformat

{
  "RequestId": "54B48E3D-DF70-471B-AA93-08E683A1B45",
  "ServerGroupId": "sgp-atstuj3rtoptyui****"
}

Error codes

HTTP status codeError codeError messageDescription
400IllegalParam.HealthCheckProtocolThe param of %s is illegal.The health check protocol is invalid. Check the input parameters.
400QuotaExceeded.ServerGroupsNumThe quota of %s is exceeded for resource %s, usage %s/%s.The quota gwlb_quota_servergroups_num has exceeded the quota limit.
400DuplicatedParam.TagKeyThe param of %s is duplicated.The parameter of tag key is duplicated.
400IllegalParam.TagKeyThe param of %s is illegal.-
404ResourceNotFound.VpcThe specified resource of %s is not found.The specified virtual private cloud resource does not exist.

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