All Products
Search
Document Center

Server Load Balancer:CreateServerGroup

Last Updated:Mar 13, 2024

Creates a server group in a region.

Operation description

  • protocol specifies the protocol used to forward requests to the backend servers.

  • NLB instances support only backend server groups that use TCP, UDP, or SSL over TCP.

  • 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 GetJobStatus operation to query the creation status of the task.

    • If the task is in the Succeeded status, the server group is created.
    • If the task is in the Processing status, the server group is being created.

Debugging

OpenAPI Explorer automatically calculates the signature value. For your convenience, we recommend that you call this operation in OpenAPI Explorer.

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:CreateServerGroupWrite
  • All Resources
    *
    none
none

Request parameters

ParameterTypeRequiredDescriptionExample
ServerGroupTypestringNo

The type of server group. Valid values:

  • Instance: allows you to add servers of the Ecs, Ens, or Eci type. This is the default value.
  • Ip: allows you to add servers by specifying IP addresses.
Instance
ServerGroupNamestringYes

The 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_ServerGroup
AddressIPVersionstringNo

The protocol version. Valid values:

  • ipv4 (default): IPv4
  • DualStack: dual stack
ipv4
ProtocolstringNo

The protocol used to forward requests to the backend servers. Valid values:

  • TCP (default)
  • UDP
  • TCPSSL
TCP
VpcIdstringYes

The ID of the virtual private cloud (VPC) to which the server group belongs.

Note If ServerGroupType is set to Instance, only servers in the specified VPC can be added to the server group.
vpc-bp15zckdt37pq72zv****
AnyPortEnabledbooleanNo

Specifies whether to enable all-port forwarding. Valid values:

  • true
  • false (default)
false
ConnectionDrainEnabledbooleanNo

Specifies whether to enable connection draining. Valid values:

  • true
  • false (default)
false
ConnectionDrainTimeoutintegerNo

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

10
SchedulerstringNo

The scheduling algorithm. Valid values:

  • Wrr: The weighted round-robin algorithm is used. Backend servers with higher weights receive more requests than backend servers with lower weights. This is the default value.
  • rr: The round-robin algorithm is used. 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.
Wrr
PreserveClientIpEnabledbooleanNo

Specifies whether to enable client IP preservation. Valid values:

  • true
  • false (default)
false
HealthCheckConfigobjectNo

The configurations of the health check feature.

HealthCheckEnabledbooleanNo

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

  • true (default)
  • false
true
HealthCheckTypestringNo

The protocol that you want to use for health checks. Valid values: TCP (default) and HTTP.

TCP
HealthCheckConnectPortintegerNo

The port that you want to use for health checks on backend servers.

Valid values: 0 to 65535.

Default value: 0. If you set the value to 0, the port of the 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.

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
HealthCheckConnectTimeoutintegerNo

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

5
HealthCheckIntervalintegerNo

The interval at which health checks are performed. Unit: seconds.

Valid values: 5 to 50.

Default value: 10.

10
HealthCheckDomainstringNo

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

  • $SERVER_IP: the private IP address of a backend server.
  • domain: a 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 when HealthCheckType is set to HTTP.
$SERVER_IP
HealthCheckUrlstringNo

The path to which health check requests are sent.

The path must be 1 to 80 characters in length, and can contain letters, digits, and the following special characters: - / . % ? # &. It must start with a forward slash (/).

Note This parameter takes effect only when HealthCheckType is set 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 when HealthCheckType is set to HTTP.
stringNo

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 when HealthCheckType is set to HTTP.
http_2xx
HttpCheckMethodstringNo

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

Note This parameter takes effect only when HealthCheckType is set to HTTP.
GET
ResourceGroupIdstringNo

The ID of the resource group to which the server group belongs.

rg-atstuj3rtop****
DryRunbooleanNo

Specifies whether to perform 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.
true
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
RegionIdstringNo

The region ID of the NLB instance.

You can call the DescribeRegions operation to query the most recent region list.

cn-hangzhou
Tagobject []No

The tags.

KeystringNo

The tag key. The tag key can be up to 128 characters in length and cannot start with acs: or aliyun. It cannot contain http:// or https://.

You can add up to 20 tags in each call.

env
ValuestringNo

The tag value. The tag value can be up to 128 characters in length and cannot start with acs: or aliyun. It cannot contain http:// or https://.

You can add up to 20 tags in each call.

product

Response parameters

ParameterTypeDescriptionExample
object

Creates 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.AnyPortServerGroupConflictWithHealthCheckConfigThe param of AnyPortServerGroupConflictWithHealthCheckConfig is illegal.-
400IllegalParamFormat.ParseCreateRsPoolRequestFailedThe param format of CreateRsPoolRequest is illegal.The param format of CreateRsPoolRequest is illegal.
400IllegalParam.PreserveClientIpSwitchThe param of PreserveClientIpSwitch is illegal.The parameter PreserveClientIpSwitch is invalid. Please check the input value of the parameter PreserveClientIpSwitch.
400OperationDenied.VpcNotSupportIpv6The operation is not allowed because of VpcNotSupportIpv6.The VPC you are using does not support Ipv6.
400IlleagalParam.healthCheckUrlThe param of healthCheckUrl in healthCheckConfig is illegal.the url of the health check used in the health check setting is invalid.
400IllegalParam.healthCheckDomainThe parameter of healthCheckConfig.healthCheckDomain is illegal.The healthCheckDomain in the health check configuration is invalid. Check the input parameters.
400OperationDenied.UidNotAllowQuic29The operation is not allowed because of uid not allow quic29 version.-
400IlleagalParam.healthCheckUrlThe parameter of healthCheckUrl in healthCheckConfig is illegal.The URL of the health check used in the health check setting is invalid.
403Forbidden.NoPermissionAuthentication is failed for NoPermission.Authentication is failed for NoPermission.
404ResourceNotFound.VpcThe specified resource of Vpc is not found.The specified VPC resource was not found. Please check the input parameters.
404ResourceNotFound.ResourceGroupThe param of resourceGroup not existed.The resource group does not exist.

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

Change history

Change timeSummary of changesOperation
2024-02-29The Error code has changedsee changesets
Change itemChange content
Error CodesThe Error code has changed.
    Error Codes 400 change
    delete Error Codes: 403
    delete Error Codes: 404
2024-02-22The Error code has changedsee changesets
Change itemChange content
Error CodesThe Error code has changed.
    Error Codes 400 change
    delete Error Codes: 403
    delete Error Codes: 404
2024-02-04The Error code has changedsee changesets
Change itemChange content
Error CodesThe Error code has changed.
    Error Codes 400 change
    delete Error Codes: 403
    delete Error Codes: 404
2024-01-24The Error code has changedsee changesets
Change itemChange content
Error CodesThe Error code has changed.
    Error Codes 400 change
    delete Error Codes: 403
    delete Error Codes: 404
2023-12-18The Error code has changedsee changesets
Change itemChange content
Error CodesThe Error code has changed.
    Error Codes 400 change
    delete Error Codes: 403
    delete Error Codes: 404
2023-10-30The Error code has changedsee changesets
Change itemChange content
Error CodesThe Error code has changed.
    Error Codes 400 change
    delete Error Codes: 403
    delete Error Codes: 404
2023-10-07The Error code has changedsee changesets
Change itemChange content
Error CodesThe Error code has changed.
    Error Codes 400 change
    delete Error Codes: 403
    delete Error Codes: 404
2023-09-27The Error code has changed. The request parameters of the API has changedsee changesets
Change itemChange content
Error CodesThe Error code has changed.
    delete Error Codes: 400
    delete Error Codes: 403
    delete Error Codes: 404
Input ParametersThe request parameters of the API has changed.
    delete Input Parameters: QuicVersion
2023-09-26The Error code has changedsee changesets
Change itemChange content
Error CodesThe Error code has changed.
    Error Codes 400 change
    Error Codes 404 change
    delete Error Codes: 403
2023-09-18The Error code has changed. The request parameters of the API has changedsee changesets
Change itemChange content
Error CodesThe Error code has changed.
    delete Error Codes: 400
    delete Error Codes: 403
    delete Error Codes: 404
Input ParametersThe request parameters of the API has changed.
    Added Input Parameters: QuicVersion
2023-09-05The Error code has changedsee changesets
Change itemChange content
Error CodesThe Error code has changed.
    Error Codes 400 change
    Error Codes 403 change
    Error Codes 404 change
2023-08-22The Error code has changedsee changesets
Change itemChange content
Error CodesThe Error code has changed.
    Added Error Codes: 400
    Added Error Codes: 403
    Added Error Codes: 404
2023-06-30The internal configuration of the API is changed, but the call is not affectedsee changesets
Change itemChange content
The internal configuration of the API is changed, but the call is not affected.
2023-06-29The request parameters of the API has changedsee changesets
Change itemChange content
Input ParametersThe request parameters of the API has changed.
    Added Input Parameters: Tag