调用CreateServerGroup接口创建服务器组。

调试

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

请求参数

名称 类型 是否必选 示例值 描述
Action String CreateServerGroup

要执行的操作。取值:CreateServerGroup

ServerGroupName String sg-atstuj3rtoptyui****

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

ServerGroupType String Instance

服务器组类型。取值:

  • Instance(默认值):服务器类型,该类型服务器组支持添加EcsEnsEci实例。
  • Ip:IP地址类型,该类型服务器组支持添加IP地址类型的后端服务器。
  • Fc:函数计算类型,该类型支持添加函数计算类型的后端服务器。
VpcId String vpc-bp15zckdt37pq72zv****

VPC实例ID。只有该VPC下的服务器可以加入到该服务器组。

说明 ServerGroupType取值为InstanceIp时,该参数生效。
Scheduler String Wrr

调度算法。取值:

  • Wrr(默认值):加权轮询,权重值越高的后端服务器,被轮询到的概率也越高。
  • Wlc:加权最小连接数,除了根据每台后端服务器设定的权重值来进行轮询,同时还考虑后端服务器的实际负载(即连接数)。当权重值相同时,当前连接数越小的后端服务器被轮询到的概率也越高。
  • Sch:一致性哈希,相同的源地址会调度到相同的后端服务器。
说明 ServerGroupType取值为InstanceIp时,该参数生效。
Protocol String HTTP

后端协议。取值:

  • HTTP(默认值):支持关联HTTPS、HTTP和QUIC监听。
  • HTTPS:支持关联HTTPS监听。
  • gRPC:关联HTTPS和QUIC监听。
说明 ServerGroupType取值为Fc时,仅支持HTTP协议。
ResourceGroupId String rg-atstuj3rtop****

资源组ID。

HealthCheckConfig Object

健康检查相关配置。

HealthCheckConnectPort Integer 80

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

取值范围: 0~65535

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

HealthCheckEnabled Boolean true

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

  • true:开启
  • false:不开启
说明 ServerGroupType取值为InstanceIp时,默认开启健康检查。ServerGroupType取值为Fc时,默认不开启健康检查。
HealthCheckHost String www.example.com

健康检查域名。字符要求:

  • 长度限制为1~80个字符。
  • 可包含小写字母、数字、短划线(-)和半角句号(.)。
  • 至少包含一个半角句号(.),半角句号(.)不能出现在开头或结尾。
  • 最右侧的域标签,只能包含字母,不能包含数字或短划线(-)。
  • 短划线(-)不能出现在开头或结尾。
说明 只有HealthCheckProtocol设置为HTTP时,该参数生效。
HealthCheckCodes Array of String http_2xx

健康检查正常的状态码。

  • HealthCheckProtocol取值为HTTP时,HealthCheckCodes可以选择http_2xx(默认值)、 http_3xxhttp_4xxhttp_5xx。多个状态码用半角逗号(,)分隔。
  • HealthCheckProtocol取值为gRPC时,HealthCheckCodes状态码范围:0~99,默认值:0。支持范围输入,最多支持20个范围值。多个范围值使用半角逗号(,)隔开。
说明 HealthCheckProtocolHTTPgRPC,该参数生效。
HealthCheckHttpVersion String HTTP1.1

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

说明 只有HealthCheckProtocol设置为HTTP时,该参数生效。
HealthCheckInterval Integer 2

健康检查的时间间隔。单位:秒。

取值范围:1~50

默认值:2

HealthCheckMethod String HEAD

健康检查方法,取值:

  • GET:如果响应报文长度超过8K,会被截断,但不会影响健康检查结果的判定。
  • POST:gRPC监听健康检查默认采用POST方法。
  • HEAD(默认值):HTTP监听健康检查默认采用HEAD方法。
说明 只有HealthCheckProtocol设置为HTTPgRPC时,该参数生效。
HealthCheckPath String /test/index.html

健康检查的转发规则路径。

长度为1~80个字符,只能使用字母、数字、字符-/.%?#&=以及扩展字符_;~!()*[]@$^:',+。 URL必须以正斜线(/)开头。

说明 只有HealthCheckProtocol设置为HTTP时,该参数生效。
HealthCheckProtocol String HTTP

健康检查协议,取值:

  • HTTP:通过发送HEAD或GET请求模拟浏览器的访问行为来检查服务器应用是否健康。
  • HTTPS:通过发送SYN握手报文来检测服务器端口是否存活。
  • gRPC:通过发送POST或GET请求来检查服务器应用是否健康。
HealthCheckTimeout Integer 5

接收来自运行状况检查的响应需要等待的时间。如果后端ECS在指定的时间内没有正确响应,则判定为健康检查失败。单位:秒。

取值范围:1~300

默认值:5

说明 如果HealthCHeckTimeout的值小于HealthCheckInterval的值,则HealthCHeckTimeout无效,超时时间为HealthCheckInterval的值。
HealthyThreshold Integer 3

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

取值范围:2~10

默认值:3

UnhealthyThreshold Integer 3

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

取值范围:2~10

默认值:3

StickySessionConfig Object

会话保持配置结构体。

说明 ServerGroupType取值为InstanceIp时,该参数生效。
Cookie String B490B5EBF6F3CD402E515D22BCDA****

服务器上配置的Cookie。

长度为1~200个字符,只能包含ASCII英文字母和数字字符,不能包含半角逗号(,)、半角分号(;)或空格,也不能以美元符号($)开头。

说明StickySessionEnabledtrueStickySessionTypeserver时,该参数生效。
CookieTimeout Integer 1000

Cookie超时时间。单位:秒。

取值范围:1~86400

默认值:1000

说明StickySessionEnabledtrueStickySessionTypeInsert时,该参数生效。
StickySessionEnabled Boolean false

是否启用会话保持,取值:

  • true:开启
  • false(默认值):不开启。
说明 ServerGroupType取值为InstanceIp时,该参数生效。
StickySessionType String Insert

Cookie的处理方式。取值:

  • Insert(默认值):植入Cookie。

    客户端第一次访问时,负载均衡会在返回请求中植入Cookie(即在HTTP或HTTPS响应报文中插入SERVERID),下次客户端携带此Cookie访问,负载均衡服务会将请求定向转发给之前记录到的后端服务器上。

  • Server:重写Cookie。

    负载均衡发现用户自定义了Cookie,将会对原来的Cookie进行重写,下次客户端携带新的Cookie访问,负载均衡服务会将请求定向转发给之前记录到的后端服务器。

说明StickySessionEnabled的值为true时,该参数生效。
ClientToken String 5A2CFF0E-5718-45B5-9D4D-70B3FF3898

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

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

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

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

  • true:发送检查请求,不会创建资源。检查项包括是否填写了必需参数、请求格式、业务限制。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码DryRunOperation
  • false(默认值):发送正常请求,通过检查后返回HTTP 2xx状态码并直接进行操作。
ServiceName String test

仅适用于ALB Ingress场景,表示服务器组对应的K8s Service名称。

返回数据

名称 类型 示例值 描述
JobId String 72dcd26b-f12d-4c27-b3af-18f6aed5****

异步任务ID。

RequestId String 365F4154-92F6-4AE4-92F8-7FF34B540710

请求ID。

ServerGroupId String sg-atstuj3rtoptyui****

服务器组ID。

示例

请求示例

http(s)://[Endpoint]/?Action=CreateServerGroup
&ServerGroupName=sg-atstuj3rtoptyui****
&ServerGroupType=Instance
&VpcId=vpc-bp15zckdt37pq72zv****
&Scheduler=Wrr
&Protocol=HTTP
&ResourceGroupId=rg-atstuj3rtop****
&HealthCheckConfig={"HealthCheckConnectPort":80,"HealthCheckEnabled":true,"HealthCheckHost":"www.example.com","HealthCheckCodes":["http_2xx"],"HealthCheckHttpVersion":"HTTP1.1","HealthCheckInterval":2,"HealthCheckMethod":"HEAD","HealthCheckPath":"/test/index.html","HealthCheckProtocol":"HTTP","HealthCheckTimeout":5,"HealthyThreshold":3,"UnhealthyThreshold":3}
&StickySessionConfig={"Cookie":"B490B5EBF6F3CD402E515D22BCDA****","CookieTimeout":1000,"StickySessionEnabled":false,"StickySessionType":"Insert"}
&ClientToken=5A2CFF0E-5718-45B5-9D4D-70B3FF3898
&DryRun=false
&ServiceName=test
&公共请求参数

正常返回示例

XML格式

HTTP/1.1 200 OK
Content-Type:application/xml

<CreateServerGroupResponse>
    <JobId>72dcd26b-f12d-4c27-b3af-18f6aed5****</JobId>
    <RequestId>365F4154-92F6-4AE4-92F8-7FF34B540710</RequestId>
    <ServerGroupId>sg-atstuj3rtoptyui****</ServerGroupId>
</CreateServerGroupResponse>

JSON格式

HTTP/1.1 200 OK
Content-Type:application/json

{
  "JobId" : "72dcd26b-f12d-4c27-b3af-18f6aed5****",
  "RequestId" : "365F4154-92F6-4AE4-92F8-7FF34B540710",
  "ServerGroupId" : "sg-atstuj3rtoptyui****"
}

错误码

HttpCode 错误码 错误信息 描述
400 QuotaExceeded.ServerGroupsNum The quota of %s is exceeded, usage %s/%s. 配额%s已超额度限制,目前已使用%s,配额为%s。

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