CreateServerGroup - 创建服务器组

在指定地域创建服务器组。

接口说明

CreateServerGroup 接口属于异步接口,即系统返回一个请求 ID,但该网络型负载均衡的服务器组尚未创建成功,系统后台的创建任务仍在进行。您可以调用 GetJobStatus 查询服务器组的创建状态:

  • 当任务状态处于 Succeeded 时,表示服务器组创建成功。

  • 当任务状态处于 Processing 时,表示服务器组正在创建中,在该状态下,您只能执行查询操作,不能执行其他操作。

调试

您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。

调试

授权信息

下表是API对应的授权信息,可以在RAM权限策略语句的Action元素中使用,用来给RAM用户或RAM角色授予调用此API的权限。具体说明如下:

  • 操作:是指具体的权限点。

  • 访问级别:是指每个操作的访问级别,取值为写入(Write)、读取(Read)或列出(List)。

  • 资源类型:是指操作中支持授权的资源类型。具体说明如下:

    • 对于必选的资源类型,用前面加 * 表示。

    • 对于不支持资源级授权的操作,用全部资源表示。

  • 条件关键字:是指云产品自身定义的条件关键字。

  • 关联操作:是指成功执行操作所需要的其他权限。操作者必须同时具备关联操作的权限,操作才能成功。

操作

访问级别

资源类型

条件关键字

关联操作

nlb:CreateServerGroup

create

*ServerGroup

acs:nlb:{#regionId}:{#accountId}:servergroup/*

*VPC

acs:vpc:{#regionId}:{#accountId}:vpc/{#VpcId}

请求参数

名称

类型

必填

描述

示例值

ServerGroupType

string

服务器组类型。取值:

  • Instance(默认值):服务器类型,该类型服务器组支持添加 EcsEniEci 类型实例。

  • Ip:IP 地址类型,该类型服务器组支持直接添加 IP 地址类型的后端服务器。

Instance

ServerGroupName

string

服务器组名称。

长度为 2~128 个字符,必须以大小写字母或中文开头,可包含数字、半角句号(.)、下划线(_)和短划线(-)。

NLB_ServerGroup

AddressIPVersion

string

协议版本。取值:

  • ipv4(默认值):IPv4 类型。

  • DualStack:双栈类型。

ipv4

Protocol

string

转发到后端服务器使用的通信协议。取值:

  • TCP(默认值)

  • UDP

  • TCP_UDP

说明
  • 当该参数取值为 UDP 时,该服务器组只支持关联 UDP 监听。

  • 当该参数取值为 TCPPreserveClientIpEnabled 取值为 true 时,该服务器组只支持关联 TCP 监听。

  • 当该参数取值为 TCPPreserveClientIpEnabled 取值为 false 时,该服务器组支持关联 TCPSSL 监听和 TCP 监听。

  • 当该参数取值为TCP_UDP时,该服务器组支持关联 TCP 监听和 UDP 监听。

TCP

VpcId

string

服务器组所在 VPC 的 ID。

说明

如果 ServerGroupType 取值为 Instance 时,只有该 VPC 下的服务器可以加入到该服务器组。

vpc-bp15zckdt37pq72zv****

AnyPortEnabled

boolean

是否开启全端口转发。取值:

  • true:开启。

  • false(默认值):关闭。

false

ConnectionDrainEnabled

boolean

是否开启连接优雅中断。取值:

  • true:开启。

  • false(默认值):关闭。

false

ConnectionDrainTimeout

integer

设置连接优雅中断超时时间。单位:秒。 取值范围:0~900

10

Scheduler

string

调度算法。取值:

  • Wrr(默认值):加权轮询,权重值越高的后端服务器,被轮询到的概率也越高。

  • Wlc:加权最小连接数,除了根据每台后端服务器设定的权重值来进行轮询,同时还考虑后端服务器的实际负载(即连接数)。当权重值相同时,当前连接数越小的后端服务器被轮询到的概率也越高。

  • rr:轮询,按照访问顺序依次将外部请求分发到后端服务器。

  • sch:源 IP 哈希:相同的源地址会调度到相同的后端服务器。

  • tch:四元组哈希,基于四元组(源 IP、目的 IP、源端口和目的端口)的一致性哈希,相同的流会调度到相同的后端服务器。

  • qch:QUIC ID 哈希,支持将同一个 QUIC ID 的请求哈希到同一台后端服务器上。

说明

仅后端协议为 UDP 时,支持选择 QUIC ID 哈希。

Wrr

PreserveClientIpEnabled

boolean

是否开启客户端地址保持功能。取值:

  • true(默认值):开启。

  • false:关闭。

说明

Protocol 取值为 TCP 且该参数取值为 true 时,该服务器组不支持关联 TCPSSL 监听。

true

HealthCheckConfig

object

健康检查相关配置。

HealthCheckEnabled

boolean

是否开启健康检查,取值:

  • true(默认值):开启。

  • false:关闭。

true

HealthCheckType

string

健康检查协议。取值:

  • TCP

  • HTTP

  • UDP

TCP

HealthCheckConnectPort

integer

健康检查的后端服务器的端口。

取值范围: 0~65535

默认值:0,表示使用后端服务器的端口进行健康检查。

0

HealthyThreshold

integer

健康检查连续成功多少次后,将后端服务器的健康检查状态由失败判定为成功

取值范围:2~10

默认值:2

2

UnhealthyThreshold

integer

健康检查连续失败多少次后,将后端服务器的健康检查状态由成功判定为失败

取值范围:2~10

默认值:2

2

HealthCheckConnectTimeout

integer

健康检查响应的最大超时时间。单位:秒。 取值范围:1~300。 默认值:5

5

HealthCheckInterval

integer

健康检查的时间间隔。单位:秒。默认值:5

  • HealthCheckTypeTCP 或者 HTTP 时,取值范围为:1~50

  • HealthCheckTypeUDP 时,取值范围为:1~300,您需要设置间隔时间>=响应超时时间,以确保 UDP 探测回包不会因为超时而被误判为未响应。

5

HealthCheckDomain

string

用于健康检查的域名。取值:

  • $SERVER_IP:使用后端服务器内网 IP。

  • domain:指定特定域名。长度限制 1~80 个字符,只能使用大小写字母、数字、短划线(-)、半角句号(.)。

说明

HealthCheckTypeHTTP 时,该参数生效。

$SERVER_IP

HealthCheckUrl

string

健康检查路径。

长度为 1~80 个字符,只能使用大小写英文字母、数字、字符-/.%?#&。 必须以正斜线(/)开头。

说明

HealthCheckTypeHTTP 时,该参数生效。

/test/index.html

HealthCheckHttpCode

array

健康状态返回码,多个状态码用半角逗号(,)分隔。 取值:http_2xx(默认值)、http_3xxhttp_4xxhttp_5xx

说明

HealthCheckTypeHTTP 时,该参数生效。

string

健康状态返回码,多个状态码用半角逗号(,)分隔。 取值:http_2xx(默认值)、http_3xxhttp_4xxhttp_5xx

说明

HealthCheckTypeHTTP 时,该参数生效。

http_2xx

HttpCheckMethod

string

健康检查方法,取值:GET(默认值)或 HEAD

说明

HealthCheckTypeHTTP 时,该参数生效。

GET

HealthCheckReq

string

UDP 监听健康检查的请求字符串,只允许包含字母、数字,最大长度限制为 512 个字符。

hello

HealthCheckExp

string

UDP 监听健康检查的请求字符串,只允许包含字母、数字,最大长度限制为 512 个字符。

ok

HealthCheckHttpVersion

string

健康检查 HTTP 协议版本,取值:HTTP1.0(默认值)或HTTP1.1

说明

HealthCheckTypeHTTP 时,该参数生效。

HTTP1.0

ResourceGroupId

string

服务器组所属的资源组 ID。

rg-atstuj3rtop****

DryRun

boolean

是否只预检此次请求。取值:

  • true:发送检查请求,不会创建服务器组。检查项包括是否填写了必需参数、请求格式、业务限制。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码DryRunOperation

  • false(默认值):发送正常请求,通过检查后返回 HTTP 2xx 状态码并直接进行操作。

true

ClientToken

string

客户端 Token,用于保证请求的幂等性。

从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken 只支持 ASCII 字符。

说明

若您未指定,则系统自动使用 API 请求的 RequestId 作为 ClientToken 标识。每次 API 请求的 RequestId 不一样。

123e4567-e89b-12d3-a456-426655440000

RegionId

string

网络型负载均衡实例所在的地域 ID。

您可以通过调用 DescribeRegions 接口获取地域 ID。

cn-hangzhou

Tag

array<object>

标签列表。

object

标签。

Key

string

标签键。最多支持 64 个字符,不能以aliyunacs:开头,不能包含http://https://。支持字符包括字母、数字、下划线 (_)、点 (.)、冒号 (:)、斜线 (/)、等号 (=)、加号 (+)、减号 (-)、@符号 (@) 。

一次调用最多支持添加 20 个标签。

env

Value

string

标签值。最多支持 128 个字符,不能以aliyunacs:开头,不能包含http://https://。支持字符包括字母、数字、下划线 (_)、点 (.)、冒号 (:)、斜线 (/)、等号 (=)、加号 (+)、减号 (-)、@符号 (@) 。

一次调用最多支持添加 20 个标签。

product

返回参数

名称

类型

描述

示例值

object

创建服务器组。

RequestId

string

请求 ID。

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

ServerGroupId

string

服务器组 ID。

sgp-atstuj3rtoptyui****

JobId

string

异步任务 ID。

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

示例

正常返回示例

JSON格式

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

错误码

HTTP status code

错误码

错误信息

描述

400 IllegalParam.AnyPortServerGroupConflictWithHealthCheckConfig The param of AnyPortServerGroupConflictWithHealthCheckConfig is illegal. 服务器组的配置与健康检查设置冲突。请检查配置参数。
400 IllegalParamFormat.ParseCreateRsPoolRequestFailed The param format of CreateRsPoolRequest is illegal. CreateRsPoolRequestFailed的参数格式不合法,请参考OpenAPI文档检查请求参数。
400 IllegalParam.PreserveClientIpSwitch The param of PreserveClientIpSwitch is illegal.
400 OperationDenied.VpcNotSupportIpv6 The operation is not allowed because of VpcNotSupportIpv6. 使用的VPC不支持Ipv6。
400 IllegalParam.healthCheckDomain The parameter of healthCheckConfig.healthCheckDomain is illegal. 健康检查配置中的healthCheckDomain非法,请检查输入参数。
400 OperationDenied.UidNotAllowQuic29 The operation is not allowed because of uid not allow quic29 version.
400 IlleagalParam.healthCheckUrl The parameter of healthCheckUrl in healthCheckConfig is illegal. 健康检查设置中使用的健康检查的URL不合法。
400 IllegalParam.ServerGroupName The param of ServerGroupName is illegal. 传入的ServerGroupName参数非法
400 DryRunOperation Request validation has been passed with DryRun flag set. dryRun请求验证已通过。
400 MissingParam.%s The parameter of %s is missing. 参数%s缺失,请检查输入参数。
400 IllegalParam.ConnectionDrainTimeout The param of ConnectionDrainTimeout is illegal. 参数ConnectionDrainTimeout非法,请检查输入参数。
400 IllegalParam The param of %s is illegal. 输入的参数有值非法,请检查输入。
400 SystemBusy System is busy, please try again later. 系统繁忙,请稍后重试
400 QuotaExceeded.QuotaInsufficient The quota of %s is exceeded, usage %s/%s. 配额不足,已使用%s/%s。请在配额中心中修改配额大小。
403 Forbidden.NoPermission Authentication is failed for NoPermission. 因为账号没有权限,所以鉴权失败。
404 ResourceNotFound.Vpc The specified resource of Vpc is not found. 找不到指定的VPC资源,请检查输入参数。
404 ResourceNotFound.ResourceGroup The param of resourceGroup not existed. 资源组不存在。

访问错误中心查看更多错误码。

变更历史

更多信息,参考变更详情