全部产品
Search
文档中心

负载均衡:CreateServerGroup - 创建服务器组

更新时间:Dec 06, 2024

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

接口说明

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

  • 当服务器组处于 Creating 状态时,表示服务器组正在创建中。
  • 当服务器组处于 Available 状态时,表示服务器组创建成功。

调试

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

授权信息

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

  • 操作:是指具体的权限点。
  • 访问级别:是指每个操作的访问级别,取值为写入(Write)、读取(Read)或列出(List)。
  • 资源类型:是指操作中支持授权的资源类型。具体说明如下:
    • 对于必选的资源类型,用背景高亮的方式表示。
    • 对于不支持资源级授权的操作,用全部资源表示。
  • 条件关键字:是指云产品自身定义的条件关键字。
  • 关联操作:是指成功执行操作所需要的其他权限。操作者必须同时具备关联操作的权限,操作才能成功。
操作访问级别资源类型条件关键字关联操作
alb:CreateServerGroupcreate
*ServerGroup
acs:alb:{#regionId}:{#accountId}:servergroup/*
  • alb:ServerGroupProtocol

请求参数

名称类型必填描述示例值
ServerGroupNamestring

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

test
ServerGroupTypestring

服务器组类型。取值:

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

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

  • Fc:函数计算类型,该类型支持添加函数计算类型的后端服务器。

Instance
VpcIdstring

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

说明 ServerGroupType 取值为 InstanceIp 时,该参数生效。
vpc-bp15zdkdt37pq72zv****
Schedulerstring

调度算法。取值:

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

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

  • Sch:一致性哈希,相同哈希因子计算结果的请求将会调度到相同的后端服务器。不配置 UchConfig 参数时,默认哈希因子为源 IP,相同源 IP 地址的请求会分发到同一台后端服务器;配置了 UchConfig 参数时,哈希因子为 URL 参数,相同 URL 参数的请求会分发到同一台后端服务器。

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

后端协议。取值:

  • HTTP(默认值):支持关联 HTTPS、HTTP 和 QUIC 监听。

  • HTTPS:支持关联 HTTPS 监听。

  • gRPC:关联 HTTPS 和 QUIC 监听。

说明 ServerGroupType 取值为 Fc 时,无需配置后端协议。
HTTP
ResourceGroupIdstring

资源组 ID。

rg-atstuj3rsop****
HealthCheckConfigobject

健康检查相关配置。

HealthCheckConnectPortinteger

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

取值范围: 0~65535

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

80
HealthCheckEnabledboolean

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

  • true:开启

  • false:不开启

说明 ServerGroupType 取值为 InstanceIp 时,默认开启健康检查。ServerGroupType 取值为 Fc 时,默认不开启健康检查。
true
HealthCheckHoststring

健康检查域名。

  • 使用后端服务器的内网 IP(默认):使用后端服务器的内网 IP 地址作为健康检查的域名。

  • 指定特定域名:输入一个域名。

    • 长度限制为 1~80 个字符。

    • 可包含小写字母、数字、短划线(-)和半角句号(.)。

    • 至少包含一个半角句号(.),半角句号(.)不能出现在开头或结尾。

    • 最右侧的域标签,只能包含字母,不能包含数字或短划线(-)。

    • 短划线(-)不能出现在开头或结尾。

说明 只有 HealthCheckProtocol 设置为 HTTPHTTPSgRPC 时,该参数生效。
www.example.com
HealthCheckCodesarray

健康检查正常的状态码列表。

string

健康检查正常的状态码。

  • HealthCheckProtocol 取值为 HTTPHTTPS 时,HealthCheckCodes 可以选择http_2xx(默认值)、 http_3xxhttp_4xxhttp_5xx。多个状态码用半角逗号(,)分隔。

  • HealthCheckProtocol 取值为 gRPC 时,HealthCheckCodes 状态码范围:0~99,默认值:0。支持范围输入,最多支持 20 个范围值。多个范围值使用半角逗号(,)隔开。

说明 HealthCheckProtocolHTTPHTTPSgRPC,该参数生效。
http_2xx
HealthCheckHttpVersionstring

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

说明 只有 HealthCheckProtocol 设置为 HTTPHTTPS 时,该参数生效。
HTTP1.1
HealthCheckIntervalinteger

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

取值范围:1~50

默认值:2

2
HealthCheckMethodstring

健康检查方法,取值:

  • GET:如果响应报文长度超过 8K,会被截断,但不会影响健康检查结果的判定。

  • POST:gRPC 监听健康检查默认采用 POST 方法。

  • HEAD(默认值):HTTP 和 HTTPS 监听健康检查默认采用 HEAD 方法。

说明 只有 HealthCheckProtocol 设置为 HTTPHTTPSgRPC 时,该参数生效。
HEAD
HealthCheckPathstring

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

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

说明 只有 HealthCheckProtocol 设置为 HTTPHTTPS 时,该参数生效。
/test/index.html
HealthCheckProtocolstring

健康检查协议,取值:

  • HTTP:通过发送 HEAD 或 GET 请求模拟浏览器的访问行为来检查服务器应用是否健康。

  • HTTPS:通过发送 HEAD 或 GET 请求模拟浏览器的访问行为来检查服务器应用是否健康。(数据加密,相比 HTTP 更安全。)

  • TCP:通过发送 SYN 握手报文来检测服务器端口是否存活。

  • gRPC:通过发送 POST 或 GET 请求来检查服务器应用是否健康。

HTTP
HealthCheckTimeoutinteger

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

取值范围:1~300

默认值:5

5
HealthyThresholdinteger

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

取值范围:2~10

默认值:3

3
UnhealthyThresholdinteger

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

取值范围:2~10

默认值:3

3
StickySessionConfigobject

会话保持配置结构体。

说明 ServerGroupType 取值为 InstanceIp 时,该参数生效。
Cookiestring

服务器上配置的 Cookie。

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

说明 StickySessionEnabledtrueStickySessionTypeserver 时,该参数生效。
B490B6EBF6F3CD402E515D22BCDA****
CookieTimeoutinteger

Cookie 超时时间。单位:秒。

取值范围:1~86400

默认值:1000

说明 StickySessionEnabledtrueStickySessionTypeInsert 时,该参数生效。
1000
StickySessionEnabledboolean

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

  • true:开启
  • false:不开启。
说明 ServerGroupType 取值为 InstanceIp 时,该参数生效。
false
StickySessionTypestring

Cookie 的处理方式。取值:

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

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

说明 StickySessionEnabled 的值为 true 时,该参数生效。
Insert
ClientTokenstring

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

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

说明 若您未指定,则系统自动使用 API 请求的 RequestId 作为 ClientToken 标识。每次 API 请求的 RequestId 可能不一样。
5A2CAF0E-5718-45B5-9D4D-70B******
DryRunboolean

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

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

是否开启后端长链接。

  • true:开启
  • false(默认值):不开启。
false
ServiceNamestring

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

test
UchConfigobject

url 一致性 hash 参数配置。

Typestring

参数类型。只能填 QueryString

QueryString
Valuestring

一致性 hash 参数值。

abc
ConnectionDrainConfigobject

连接优雅中断相关配置。

开启连接优雅中断,在移除后端服务器或者健康检查失败后,负载均衡使现有连接在一定时间内正常传输。

说明
  • 基础版实例不支持开启连接优雅中断,仅标准版、WAF 增强版实例支持。
  • 服务器类型、IP 类型服务器组支持连接优雅中断,函数计算类型不支持。
  • ConnectionDrainEnabledboolean

    是否开启连接优雅中断。

    • true:开启
    • false:关闭(默认值)
    false
    ConnectionDrainTimeoutinteger

    连接优雅中断超时时间。

    取值范围:0~900

    默认值:300

    300
    SlowStartConfigobject

    慢启动相关配置。

    开启慢启动后,将会在设定的时间段内对新添加到后端服务器组的后端服务器进行预热,转发到该服务器的请求数量线性增加。

    说明
  • 基础版实例不支持开启慢启动,仅标准版、WAF 增强版实例支持。
  • 服务器类型、IP 类型服务器组支持配置慢启动,函数计算类型不支持。
  • 慢启动仅在后端调度算法是加权轮询算法时可开启。
  • SlowStartEnabledboolean

    是否开启慢启动。

    • true:开启
    • false:关闭(默认值)
    false
    SlowStartDurationinteger

    慢启动持续时间。

    取值范围:30~900

    默认值:30

    30
    Tagarray<object>

    标签。

    object

    标签结构。

    Keystring

    标签键。最多支持 128 个字符,不能以aliyunacs:开头,不能包含http://https://

    env
    Valuestring

    标签值。最多支持 128 个字符,不能以aliyunacs:开头,不能包含http://https://

    product
    CrossZoneEnabledboolean

    服务器组是否开启跨 AZ 负载均衡。取值:

    • true:开启(默认值)

    • false:关闭

    说明
  • 基础版实例不支持绑定关闭跨 AZ 负载均衡的服务器组,仅标准版、WAF 增强版实例支持。
  • 服务器类型、IP 类型服务器组支持关闭跨 AZ 负载均衡,函数计算类型不支持。
  • 关闭跨 AZ 负载均衡时,不支持开启会话保持。
  • true

    返回参数

    名称类型描述示例值
    object

    返回数据结构体

    JobIdstring

    异步任务 ID。

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

    请求 ID。

    365F4154-92F6-4AE4-92F8-7FF******
    ServerGroupIdstring

    服务器组 ID。

    sgp-8ilqs4axp6******

    示例

    正常返回示例

    JSON格式

    {
      "JobId": "72dcd26b-f12d-4c27-b3af-18f6aed5****",
      "RequestId": "365F4154-92F6-4AE4-92F8-7FF******",
      "ServerGroupId": "sgp-8ilqs4axp6******"
    }

    错误码

    HTTP status code错误码错误信息描述
    400QuotaExceeded.ServerGroupsNumThe quota of %s is exceeded, usage %s/%s.配额%s已超额度限制,目前已使用%s,配额为%s。
    400Mismatch.LoadBalancerEditionAndSlowStartEnableThe %s and %s are mismatched.参数%s和%s不匹配。
    400Mismatch.ServerGroupSchedulerAndSlowStartEnableThe %s and %s are mismatched.参数%s和%s不匹配。
    400QuotaExceeded.SlowStartDurationThe quota of %s is exceeded, usage %s/%s.参数%s超过配额限制,当前值%s,配额值%s。
    400UnsupportedFeature.SlowStartThe feature of %s is not supported.不支持%s特性。
    400Mismatch.LoadBalancerEditionAndConnectionDrainThe %s and %s are mismatched.参数%s和%s不匹配。
    400QuotaExceeded.ConnectionDrainTimeoutThe quota of %s is exceeded, usage %s/%s.参数%s超过配额限制,当前值%s,配额值%s。
    400UnsupportedFeature.ConnectionDrainThe feature of %s is not supported.不支持%s特性。
    400NotExist.ResourceGroupResourceGroup does not exist.资源组不存在
    400OperationDenied.VpcNotSupportIpv6The operation is not allowed because of VpcNotSupportIpv6.不允许该操作,原因:当前VPC未开启IPv6功能
    400UnsupportedFeature.FcServerGroupServer groups of type FC are not supported.不支持FC类型的服务器组
    404ResourceNotFound.VpcThe specified resource %s is not found.VPC不存在。

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

    变更历史

    变更时间变更内容概要操作
    2024-11-28OpenAPI 错误码发生变更、OpenAPI 入参发生变更查看变更详情
    2024-02-27OpenAPI 错误码发生变更查看变更详情
    2024-02-23OpenAPI 错误码发生变更、OpenAPI 入参发生变更查看变更详情
    2023-11-03OpenAPI 错误码发生变更、OpenAPI 入参发生变更查看变更详情
    2023-04-11OpenAPI 错误码发生变更、OpenAPI 入参发生变更查看变更详情