CreateScalingGroup - 创建一个伸缩组

更新时间:
复制 MD 格式

如果您需要根据业务变动需求与策略自动增加或减少指定类型的实例数量,则可以通过调用API CreateScalingGroup创建伸缩组来自动调整您的业务计算能力(即实例数量)。

接口说明

伸缩组是具有相同应用场景的 ECS 实例的集合。

一个地域下支持创建的伸缩组数量和弹性伸缩使用情况有关,请前往配额中心查看伸缩组总数对应的配额值。

伸缩组创建成功后不会立即生效。您需要先调用 EnableScalingGroup 接口启用伸缩组,伸缩组才能触发伸缩活动和执行伸缩规则。

伸缩组、关联的传统型负载均衡 CLB(原 SLB)实例和关联的 RDS 实例必须在同一个地域。更多信息,请参见地域与可用区。

如果您为伸缩组关联了 CLB 实例,伸缩组会自动将加入伸缩组的 ECS 实例添加到 CLB 实例的后端服务器组。您可以指定 ECS 实例需要加入的服务器组,支持以下两种服务器组:

  • 默认服务器组:用来接收前端请求的 ECS 实例,如果监听没有设置虚拟服务器组或主备服务器组,默认将请求转发至默认服务器组中的 ECS 实例。

  • 虚拟服务器组:当您需要将不同的请求转发到不同的后端服务器上,或着需要通过域名和 URL 进行请求转发时,可以选择使用虚拟服务器组。

说明

如果您同时指定了默认服务器组和多个虚拟服务器组,ECS 实例会同时添加至这些服务器组中。

实例在加入 CLB 实例的后端服务器组后,权重默认为 50。CLB 实例需要满足以下条件:

  • 该 CLB 实例的状态必须是 active,您可以调用 DescribeLoadBalancers 接口查看指定 CLB 实例的状态。

  • 该 CLB 实例配置的所有监听端口必须开启健康检查,否则伸缩组创建失败。

如果您为伸缩组关联了应用型负载均衡 ALB 服务器组、网络型负载均衡 NLB 服务器组或网关型负载均衡 GWLB 服务器组,伸缩组会自动将加入伸缩组的 ECS 实例添加为 ALB 服务器组、NLB 服务器组或 GWLB 服务器组的后端服务器,处理 ALB 实例、NLB 实例或 GWLB 实例分发的访问请求。您可以指定多个 ALB 服务器组、NLB 服务器组或 GWLB 服务器组,但服务器组必须与伸缩组属于同一个 VPC。更多信息,请参见 AttachAlbServerGroups 或 AttachServerGroups 。

如果您为伸缩组关联了 RDS 实例,伸缩组会自动将加入伸缩组的 ECS 实例的内网 IP 添加到 RDS 实例的访问白名单。RDS 实例需要满足以下条件:

  • 该 RDS 实例的状态必须是 Running,您可以调用 DescribeDBInstances 接口查看指定 RDS 实例的状态。

  • 该 RDS 实例访问白名单的 IP 数不能超过上限值。更多信息,请参见 RDS 文档设置白名单。

如果伸缩组的 MultiAZPolicy 设置为 COST_OPTIMIZED:

  • 当指定 OnDemandBaseCapacity、OnDemandPercentageAboveBaseCapacity 和 SpotInstancePools 参数时,即指定成本优化策略下的实例分配方式,在扩缩容时将优先满足该实例分配方式。

  • 当不指定 OnDemandBaseCapacity、OnDemandPercentageAboveBaseCapacity 或 SpotInstancePools 参数时,成本优化策略下将仅按照成本最低的方式进行实例创建。(在此模式下,不支持通过弹性保障服务或容量预定服务创建实例;不支持设置辅助弹性网卡所属的虚拟交换机参数)

如果您为伸缩组设置了可传播标签,即Tags.Propagate为 true 时:

  • 伸缩组上的标签只会传播到新创建的实例上,而不会传播到已经在伸缩组中运行的实例上。

  • 如果您在伸缩配置中指定了实例标签,并且选择将伸缩组的标签传播到该实例,则所有标签都会同时存在。

  • 如果伸缩配置中的标签和伸缩组中的可传播标签指定了相同的标签键,则优先使用伸缩配置中的标签值。

调试

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

调试

授权信息

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

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

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

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

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

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

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

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

操作

访问级别

资源类型

条件关键字

关联操作

ess:CreateScalingGroup

create

*ScalingGroup

acs:ess:{#regionId}:{#accountId}:scalinggroup/*

无 无

请求参数

名称

类型

必填

描述

示例值

ScalingGroupName

string

否

伸缩组的名称,同一地域下伸缩组名称唯一。

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

默认值为 ScalingGroupId 的值。

scalinggroup****

LaunchTemplateId

string

否

实例启动模板 ID,用于指定伸缩组从实例启动模板获取启动配置信息。

lt-m5e3ofjr1zn1aw7****

LaunchTemplateVersion

string

否

实例启动模板的版本。取值范围:

  • 固定的模板版本号。

  • Default:始终使用模板默认版本。

  • Latest:始终使用模板最新版本。

Default

InstanceId

string

否

实例的 ID。创建伸缩组时,将从指定的实例获取所需的配置信息,并自动创建伸缩配置。

i-28wt4****

RegionId

string

是

伸缩组所属的地域 ID。

cn-qingdao

MinSize

integer

是

伸缩组内实例台数的最小值,当伸缩组内实例数小于 MinSize 的值时,弹性伸缩会自动创建实例。

说明

MinSize 的值必须小于或等于 MaxSize 的值。

2

MaxSize

integer

是

伸缩组内实例台数的最大值,当伸缩组内实例数大于 MaxSize 的值时,弹性伸缩会自动移出实例。

MaxSize 的取值范围和弹性伸缩使用情况有关,请前往配额中心查看单个伸缩组可以设置的组内最大实例数对应的配额值。

如果单个伸缩组可以设置的组内最大实例数对应的配额值为 2000,则 MaxSize 的取值范围为 0~2000。

20

DefaultCooldown

integer

否

一次伸缩活动(添加或移出实例)结束后的一段冷却时间。取值范围:0~86400,单位:秒。

冷却时间内,该伸缩组不执行其他的伸缩活动,仅针对云监控报警任务触发的伸缩活动有效。

默认值:300。

300

LoadBalancerIds

string

否

传统型负载均衡 CLB(原 SLB)实例 ID。取值可以是由多台 CLB 实例 ID 组成一个 JSON 数组,ID 之间用半角逗号(,)隔开。

单个伸缩组可以关联的 CLB 总数和弹性伸缩使用情况有关,请前往配额中心查看单个伸缩组可以关联的负载均衡实例总数对应的配额值。

["lb-bp1u7etiogg38yvwz****", "lb-bp168cqrux9ai9l7f****", "lb-bp1jv3m9zvj22ufxp****"]

DBInstanceIds

string

否

RDS 实例 ID。取值可以是由多台 RDS 实例 ID 组成一个 JSON 数组,ID 之间用半角逗号(,)隔开。

单个伸缩组可以关联的 RDS 实例总数和弹性伸缩使用情况有关,请前往配额中心查看单个伸缩组可以关联的 RDS 实例总数对应的配额值。

["rm-bp142f86de0t7****", "rm-bp18l1z42ar4o****", "rm-bp1lqr97h4aqk****"]

RemovalPolicies

array

否

指定实例移出策略的筛选策略。取值范围:

  • OldestInstance:移出最早加入伸缩组的 ECS 实例。

  • NewestInstance:移出最新加入伸缩组的 ECS 实例。

  • OldestScalingConfiguration:移出最早伸缩配置创建的 ECS 实例。

  • CustomPolicy:基于自定义缩容策略 Function 函数移除 ECS 实例。

OldestScalingConfiguration 中提到的伸缩配置泛指组内实例配置信息来源,包括伸缩配置和启动模板。CustomPolicy 仅支持设置为首位移除策略,当指定 CustomPolicy 需同时指定 CustomPolicyARN 参数。

说明

伸缩组移出 ECS 实例还受伸缩组的扩缩容策略(MultiAZPolicy)影响。更多信息,请参见设置移出实例的组合策略。

string

否

指定实例移出策略的筛选策略。取值范围:

  • OldestInstance:移出最早加入伸缩组的 ECS 实例。

  • NewestInstance:移出最新加入伸缩组的 ECS 实例。

  • OldestScalingConfiguration:移出最早伸缩配置创建的 ECS 实例。

  • CustomPolicy:基于自定义缩容策略 Function 函数移除 ECS 实例。

OldestScalingConfiguration 中提到的伸缩配置泛指组内实例配置信息来源,包括伸缩配置和启动模板。CustomPolicy 仅支持设置为首位移除策略,当指定 CustomPolicy 需同时指定 CustomPolicyARN 参数。

说明

伸缩组移出 ECS 实例还受伸缩组的扩缩容策略(MultiAZPolicy)影响。更多信息,请参见设置移出实例的组合策略。

OldestScalingConfiguration

VSwitchId

string

否

虚拟交换机的 ID。指定后,伸缩组的网络类型为专有网络。

说明

当伸缩组未指定 VSwitchId 或 VSwitchIds 参数时,伸缩组的网络类型默认为经典网络。

vsw-bp14zolna43z266bq****

MultiAZPolicy

string

否

多可用区伸缩组 ECS 实例扩缩容策略。取值范围:

  • PRIORITY:先指定的虚拟交换机(VSwitchIds)优先级最高。弹性伸缩优先在优先级最高的交换机所在可用区尝试扩缩容,如果无法扩缩容,则自动在下一优先级的交换机所在可用区进行扩缩容。

  • COST_OPTIMIZED:扩容时弹性伸缩按 vCPU 单价从低到高尝试创建 ECS 实例,缩容时按 vCPU 单价从高到低尝试移出 ECS 实例。当伸缩配置设置了抢占式计费方式的多实例规格时,优先创建对应抢占式实例。您可以继续通过 CompensateWithOnDemand 参数指定当抢占式实例由于库存等原因无法创建时,是否自动尝试以按量付费的方式创建。

    说明

    COST_OPTIMIZED 仅在伸缩配置设置了多实例规格或者选用了抢占式实例的情况下生效。

  • BALANCE:在伸缩组指定的多可用区之间均匀分配 ECS 实例。如果由于库存不足等原因可用区之间变得不平衡,您可以通过 API RebalanceInstance 平衡资源。

    说明

    如果MultiAZPolicy参数取值为BALANCE时,其和MultiAZPolicy参数取值为COMPOSABLE策略且AzBalance参数取值为true时的效果相同。

  • COMPOSABLE:是一种组合策略,您可以根据需要自主组合上述多可用区伸缩组 ECS 实例的扩缩容策略。或者进一步指定参数,对伸缩组的容量进行更精细地控制。

默认值:PRIORITY。

PRIORITY

HealthCheckType

string

否

伸缩组的健康检查方式。取值范围:

  • NONE:不做健康检查。

  • ECS:对伸缩组内的实例做健康检查(ECS 类型和 ECI 类型的伸缩组均使用本取值开启实例健康检查)。

  • LOAD_BALANCER: 根据负载均衡(暂不支持 CLB 负载均衡类型)健康检查结果判断实例健康状态。

默认值:ECS。

说明

如果需要同时开启实例健康检查和负载均衡健康检查,请使用HealthCheckTypes参数。

ECS

ScalingPolicy

string

否

指定伸缩组的回收模式。取值范围:

  • recycle:伸缩组的回收模式为停机回收模式。

  • release:伸缩组的回收模式为释放模式。

  • forcerelease:伸缩组的回收模式为强制释放模式。
    说明

    选择 forcerelease 后,在弹性收缩活动中系统会强制释放运行中(Running)的实例。强制释放实例相当于断电操作,会导致该实例内存以及存储中的临时数据被擦除,数据无法恢复,请您谨慎选择。

  • forcerecycle:伸缩组的回收模式为强制停机回收模式。
    说明

    选择 forcerecycle 后,在弹性收缩活动中系统会强制关机运行中(Running)的实例。强制关机相当于断电操作,会导致该实例内存以及存储中的临时数据被擦除,数据无法恢复,请您谨慎选择。

ScalingPolicy 指定伸缩组的回收模式,但实例被移出伸缩组时的具体动作,由 RemoveInstances 的 RemovePolicy 参数决定。更多信息,请参见 RemoveInstances 。

recycle

ClientToken

string

否

保证请求幂等性。

从您的客户端生成一个参数值,确保不同请求间该参数值唯一。只支持 ASCII 字符,且不能超过 64 个字符。更多信息,请参见如何保证幂等性。

123e4567-e89b-12d3-a456-42665544****

OnDemandBaseCapacity

integer

否

伸缩组所需要按量实例个数的最小值,取值范围:0~1000。当按量实例个数少于该值时,将优先创建按量实例。

30

OnDemandPercentageAboveBaseCapacity

integer

否

伸缩组满足最小按量实例数(OnDemandBaseCapacity)要求后,超出的实例中按量实例应占的比例,取值范围:0~100。

20

SpotInstanceRemedy

boolean

否

是否开启补齐抢占式实例的弹性伸缩策略。开启后,当收到抢占式实例将被回收的系统消息时,伸缩组将尝试创建新的实例,替换掉将被回收的抢占式实例。

true

CompensateWithOnDemand

boolean

否

当 MultiAZPolicy 取值为 COST_OPTIMIZED 时,如果因价格、库存等原因无法创建足够的抢占式实例,是否允许自动尝试创建按量实例满足 ECS 实例数量要求。取值范围:

  • true:允许。

  • false:不允许。

默认值:true。

true

SpotInstancePools

integer

否

指定可用实例规格的个数,伸缩组将按成本最低的多个规格均衡创建抢占式实例。取值范围:1~10。

5

DesiredCapacity

integer

否

伸缩组内实例的期望数量,伸缩组会自动将实例数量维持在期望实例数。取值不得大于 MaxSize,且不得小于 MinSize。

5

GroupDeletionProtection

boolean

否

是否开启伸缩组删除保护。取值范围:

  • true:开启伸缩组删除保护,此时不能删除该伸缩组。

  • false:关闭伸缩组删除保护。

默认值:false。

true

GroupType

string

否

伸缩组管理的实例类型。取值范围:

  • ECS:伸缩组内管理的伸缩为 ECS 实例。

  • ECI:伸缩组内管理的伸缩为 ECI 实例。

默认值:ECS。

ECS

ContainerGroupId

string

否

ECI 实例 ID,即容器组 ID。

eci-uf6fonnghi50u374****

VSwitchIds

array

否

一台或多台虚拟交换机的 ID。如果您使用了 VSwitchIds 参数,VSwitchId 参数将被忽略。指定后,伸缩组的网络类型为专有网络。

指定多台虚拟交换机时:

  • 所属的 VPC 必须相同。

  • 所属的可用区可以不同。

  • 虚拟交换机的优先级按照数字升序排序,1 表示最高优先级。当优先级较高的虚拟交换机所在可用区无法创建实例时,自动选择下一优先级的虚拟交换机创建实例。

说明

当伸缩组未指定 VSwitchId 或 VSwitchIds 参数时,伸缩组的网络类型默认为经典网络。

string

否

一台或多台虚拟交换机的 ID。如果您使用了 VSwitchIds 参数,VSwitchId 参数将被忽略。指定后,伸缩组的网络类型为专有网络。

指定多台虚拟交换机时:

  • 所属的 VPC 必须相同。

  • 所属的可用区可以不同。

  • 虚拟交换机的优先级按照数字升序排序,1 表示最高优先级。当优先级较高的虚拟交换机所在可用区无法创建实例时,自动选择下一优先级的虚拟交换机创建实例。

说明

当伸缩组未指定 VSwitchId 或 VSwitchIds 参数时,伸缩组的网络类型默认为经典网络。

vsw-bp14zolna43z266bq****

LifecycleHooks

array<object>

否

生命周期挂钩信息列表。

object

否

生命周期挂钩信息列表。

DefaultResult

string

否

等待状态结束后的下一步动作。取值范围:

  • CONTINUE:继续响应弹性扩张活动或者继续响应弹性收缩活动。

  • ABANDON:直接释放弹性扩张活动创建出来的实例或者直接将弹性收缩活动中的实例从伸缩组移除。

当伸缩组发生弹性收缩活动(SCALE_IN)并触发多个生命周期挂钩时,DefaultResult 取值为 ABANDON 的生命周期挂钩触发的等待状态结束时,会提前结束其它对应的等待状态。其他情况下,下一步动作均以最后一个结束等待状态的下一步动作为准。

默认值:CONTINUE。

CONTINUE

LifecycleHookName

string

否

生命周期挂钩名称,指定后不支持修改,未指定时默认与生命周期挂钩 ID 相同。

lifecyclehook****

LifecycleTransition

string

否

生命周期挂钩适用的伸缩活动类型,取值范围:

  • SCALE_OUT:伸缩组弹性扩张活动。

  • SCALE_IN:伸缩组弹性收缩活动。

说明

若伸缩组指定生命周期挂钩,此参数必选,其他相关参数可选。

SCALE_OUT

NotificationMetadata

string

否

伸缩活动的等待状态的固定字符串信息。参数长度不超过 4096 个字符。弹性伸缩每次推送消息到通知对象时,会同时发送您预先指定的 notificationmetadata 参数值,便于管理和标记不同类别的通知信息。当您同时指定了 notificationarn 参数时,notificationmetadata 才有效。

Test

NotificationArn

string

否

生命周期挂钩通知对象标识符,支持轻量消息队列(原 MNS)的队列或主题,参数取值格式:acs:ess:{region}:{account-id}:{resource-relative-id}。

  • region:伸缩组所在的地域。

  • account-id:阿里云账号 ID。

例如:

  • MNS 队列:acs:ess:{region}:{account-id}:queue/{queuename}。

  • MNS 主题:acs:ess:{region}:{account-id}:topic/{topicname}。

acs:ess:cn-hangzhou:1111111111:queue/queue2

HeartbeatTimeout

integer

否

生命周期挂钩为伸缩组活动设置的等待时间,等待状态超时后会执行下一步动作。取值范围:30~21600,单位:秒。

创建了生命周期挂钩后,您可以调用 RecordLifecycleActionHeartbeat 延长实例的等待时间,也可以调用 CompleteLifecycleAction 提前结束伸缩活动的等待状态。

默认值:600。

600

VServerGroups

array<object>

否

伸缩组关联虚拟服务器组的信息集合。

array<object>

否

伸缩组关联虚拟服务器组的信息集合。

VServerGroupAttributes

array<object>

否

后端服务器组属性。

object

否

后端服务器组属性。

VServerGroupId

string

否

虚拟服务器组 ID。

rsp-bp1443g77****

Weight

integer

否

弹性伸缩将实例添加到虚拟服务器组后,实例作为后端服务器的权重。权重越高,实例将被分配到越多的访问请求。如果权重为 0,则实例不会收到访问请求。取值范围:0~100。

默认值:50。

100

Port

integer

否

弹性伸缩将实例添加到虚拟服务器组后,实例使用的端口号,取值范围:1~65535。

22

LoadBalancerId

string

否

虚拟服务器组所属传统型负载均衡 CLB(原 SLB)实例的 ID。

lb-bp1u7etiogg38yvwz****

Tags

array<object>

否

伸缩组的标签信息集合。

object

否

伸缩组的标签信息集合。

Key

string

否

伸缩组的标签键。

Department

Value

string

否

伸缩组的标签值。

Finance

Propagate

boolean

否

标识该标签是否为可传播标签,取值范围:

  • true:伸缩组上的标签只会传播到新创建的实例上,而不会传播到已经在伸缩组中运行的实例上。

  • false:伸缩组上的标签不会传播到实例上。

默认值:false。

false

LaunchTemplateOverrides

array<object>

否

扩展启动模板的实例规格信息。

object

否

扩展启动模板的实例规格信息。

InstanceType

string

否

当您需要伸缩组按照实例规格容量进行伸缩时,请同时指定本参数和 LaunchTemplateOverrides.WeightedCapacity。

本参数用于指定实例规格,会覆盖启动模板中的实例规格。

说明

仅当 LaunchTemplateId 参数指定了启动模板时,本参数生效。

InstanceType 的取值范围:在售的 ECS 实例规格。

ecs.c5.xlarge

WeightedCapacity

integer

否

当您需要伸缩组按照实例规格容量进行伸缩时,在指定 LaunchTemplateOverrides.InstanceType 后,再指定本参数。

本参数用于指定实例规格的权重,即实例规格的单台实例在伸缩组中表示的容量大小。权重越大,满足期望容量所需的本实例规格的实例数量越少。

由于每个实例规格的 vCPU 个数、内存大小等性能指标会有差异,您可以根据自身需求,给不同的实例规格配置不同的权重。

例如:

  • 当前容量:0。

  • 期望容量:6。

  • ecs.c5.xlarge 规格容量:4。

为满足期望容量,伸缩组将为用户扩容 2 台 ecs.c5.xlarge 实例。

说明

扩容时伸缩组的容量不得超过最大容量(MaxSize)与实例规格的最大权重之和。

WeightedCapacity 的取值范围:1~500。

4

SpotPriceLimit

number

否

本参数用于指定实例启动模板覆盖规格(即LaunchTemplateOverride.InstanceType)的竞价价格上限。

说明

仅当LaunchTemplateId参数指定了启动模板时,该参数才生效。

0.025

AlbServerGroups

array<object>

否

ALB 服务器组的相关信息集合。

object

否

ALB 服务器组的相关信息集合。

AlbServerGroupId

string

否

ALB 服务器组的 ID。

一个伸缩组支持关联的 ALB 服务器组数量有限,如需查看或手动申请提升配额值,请前往配额中心。

sgp-ddwb0y0g6y9bjm****

Weight

integer

否

弹性伸缩将实例添加到 ALB 服务器组后,实例作为后端服务器的权重。权重越高,实例将被分配到越多的访问请求。如果权重为 0,则实例不会收到访问请求。取值范围:0~100。

100

Port

integer

否

弹性伸缩将实例添加到 ALB 服务器组后,实例使用的端口号,取值范围:1~65535。

22

ServerGroups

array<object>

否

负载均衡服务器组的相关信息集合。

说明

不支持同时在 AlbServerGroups 和 ServerGroups 中设置相同的服务器组信息。

object

否

负载均衡服务器组的相关信息集合。

ServerGroupId

string

否

服务器组 ID。

sgp-5yc3bd9lfyh*****

Type

string

否

服务器组类型。取值范围:

  • ALB:表示应用型负载均衡(Application Load Balancer)。

  • NLB:表示网络型负载均衡(Network Load Balancer)。

  • GWLB:网关型负载均衡 GWLB(Gateway Load Balancer)。

ALB

Weight

integer

否

弹性伸缩将实例添加到服务器组后,实例作为后端服务器的权重。取值范围:0~100。

权重越高,实例将被分配到越多的访问请求。如果权重为 0,则实例不会收到访问请求。

说明

ALB 和 NLB 类型负载均衡该参数为必填参数,GWLB 类型负载均衡不能设置该参数。

100

Port

integer

否

弹性伸缩将实例添加到服务器组后,实例使用的端口号,取值范围:1~65535。

22

AzBalance

boolean

否

伸缩组的容量是否在多个可用区间均衡分布(仅当MultiAZPolicy参数取值为COMPOSABLE策略时生效),取值范围:

  • true:伸缩组的容量在多个可用区间均衡分布。

  • false:伸缩组的容量不在多个可用区间均衡分布。

说明

如果MultiAZPolicy参数取值为COMPOSABLE策略,并且AzBalance参数取值为true时,其效果和MultiAZPolicy参数取值为BALANCE相同。

默认值:false。

false

AllocationStrategy

string

否

容量分配策略,决定了伸缩组如何选择可用的实例规格类型满足容量。容量分布策略同时对按量和抢占式容量生效(仅当MultiAZPolicy参数取值为COMPOSABLE策略时生效)。取值范围:

  • priority:按照配置的实例规格的顺序创建实例。

  • lowestPrice:按照实例规格单位 vCpu 价格从低到高创建实例。

默认值:priority。

priority

SpotAllocationStrategy

string

否

抢占式容量分布策略。您可以通过该参数单独指定抢占式容量的分布策略(仅当MultiAZPolicy参数取值为COMPOSABLE策略时生效)。取值范围:

  • priority:按照配置的实例规格的顺序创建实例。

  • lowestPrice:按照实例规格单位 vCpu 价格从低到高创建实例。

默认值:priority。

lowestPrice

SyncAlarmRuleToCms

boolean

否

说明

该参数暂未开放使用。

false

MaxInstanceLifetime

integer

否

实例在伸缩组中存活的最大时间。单位为秒。

取值范围:[86400, Integer.maxValue]。

默认值:null。

null

CustomPolicyARN

string

否

自定义缩容策略 Function 函数 ARN。仅当 RemovalPolicies 配置第一个移除策略为 CustomPolicy 时生效。

acs:fc:cn-zhangjiakou:16145688****:services/ess_custom_terminate_policy.LATEST/functions/ess_custom_terminate_policy_name

ResourceGroupId

string

否

新创建的伸缩组所属的资源组 ID。

说明

将新创建的伸缩组归属到指定的资源组中。如果不指定该参数,则归属为默认资源组。

rg-123******

LoadBalancerConfigs

array<object>

否

负载均衡配置列表。

object

否

负载均衡 CLB(原 SLB)配置列表。

LoadBalancerId

string

否

负载均衡 CLB(原 SLB)实例的 ID。

lb-2zen1olhfg9yw3f4q****

Weight

integer

否

弹性伸缩将实例添加到 SLB 服务器组后,实例作为后端服务器的权重。权重越高,实例将被分配到越多的访问请求。如果权重为 0,则实例不会收到访问请求。取值范围:0~100。

10

HealthCheckTypes

array

否

伸缩组的健康检查方式。

说明

使用此参数可以设置多个值,开启多个健康检查选项。如果设置了HealthCheckType参数,则本参数将被忽略。

string

否

伸缩组的健康检查方式列表。取值范围:

  • NONE:不做健康检查。

  • ECS:对伸缩组内的实例做健康检查(ECS 类型和 ECI 类型的伸缩组均使用本取值开启实例健康检查)。

  • LOAD_BALANCER: 根据负载均衡(暂不支持负载均衡 CLB 类型)健康检查结果判断实例健康状态。

默认值:ECS。

ECS

DBInstances

array<object>

否

伸缩组关联的数据库列表。

object

否

伸缩组关联的数据库配置信息。

DBInstanceId

string

否

数据库实例 ID。

rm-m5eqju85s45mu0***

Type

string

否

数据库类型。取值范围:

  • RDS。

  • Redis。

  • MongoDB。

默认值:RDS。

RDS

AttachMode

string

否

伸缩组与数据库关联方式。取值范围:

  • SecurityIp :修改 IP 白名单模式,通过将扩容实例自动添加到数据库 IP 白名单(目前仅 RDS 数据库支持)。

  • SecurityGroup:安全组模式,通过将伸缩配置安全组添加至数据库安全组白名单,实现安全组下实例数据库访问。

SecurityIp

StopInstanceTimeout

integer

否

缩容流程中等待 ECS 实例停机成功的超时时间,单位为秒。 取值范围:30~240。

说明
  • 该参数仅在 ScalingPolicy = release 模式下的缩容流程里生效。

  • 如果设置了该参数,系统会最长等待 StopInstanceTimeout 时间将实例停机成功,超时后无论实例是否成功停机都会继续缩容。

  • 如果没有设置该参数,系统会长时间等待实例停机成功,只有实例停机成功后才继续缩容,停机失败时,缩容流程会回滚,缩容失败。

60

CapacityOptions

object

否

容量选项。

OnDemandBaseCapacity

integer

否

已有伸缩组内所需要的按量实例数的最小值,当伸缩组内按量实例个数少于该值时,系统将优先创建按量实例。取值范围:0~1000。

当MultiAZPolicy参数取值为COMPOSABLE策略时,默认值为 0。

30

OnDemandPercentageAboveBaseCapacity

integer

否

伸缩组满足最小按量实例数OnDemandBaseCapacity要求后,超出的实例中按量实例应占的比例。取值范围:0~100。

当MultiAZPolicy参数取值为COMPOSABLE策略时,默认值为 100。

20

CompensateWithOnDemand

boolean

否

当MultiAZPolicy取值为COST_OPTIMIZED时,如果因价格、库存等原因无法创建足够的抢占式实例,是否允许自动尝试创建按量实例满足 ECS 实例数量要求。取值范围:

  • true:允许。

  • false:不允许。

默认值:true。

true

SpotAutoReplaceOnDemand

boolean

否

当开启CompensateWithOnDemand后,如果按量比例超过OnDemandPercentageAboveBaseCapacity比例时,会尝试使用 spot 替换按量容量。常见场景CompensateWithOnDemand因 Spot 库存或价格原因导致 Spot 降级按量实例,为避免按量实例长时间存在,尝试使用 Spot 替换多余的按量容量。取值范围:

  • true:允许。

  • false:不允许。

默认值:false。

false

PriceComparisonMode

string

否

伸缩组成本优化策略的比价模式。取值范围:

  • PricePerUnit:使用每单位容量价格比价。

    实例在伸缩组中容量大小等于为实例规格设置的权重,默认为 1,即一台 ECS 所占容量为 1。

  • PricePerVCpu:使用每单位 vCpu 价格进行比价。

默认值:PricePerUnit。

PricePerUnit

BalanceMode

string

否

可用区均衡模式,仅当开启可用区均衡模式时生效。取值范围:

  • BalancedBestEffort: 当某可用区资源创建失败时,会降级至其他可用区,保障资源的尽力交付。

  • BalancedOnly: 当某可用区资源创建失败时,不会降级至其他可用区,扩容活动部分成功,避免资源在不同可用区过度不均衡。

默认值:BalancedBestEffort。

BalancedBestEffort

AutoRebalance

boolean

否

是否开启伸缩组自动均衡,仅当可用区均衡伸缩组开启了 BalancedOnly 才生效。取值范围:

  • false:不开启伸缩组自动均衡。

  • true:开启伸缩组自动均衡时,伸缩组会自动检测可用区见容量,当可用区容量不均衡时,会主动进行可用区扩缩,进行可用区容量再均衡。

默认值: false。

false

返回参数

名称

类型

描述

示例值

object

RequestId

string

请求 ID。

473469C7-AA6F-4DC5-B3DB-A3DC0DE3****

ScalingGroupId

string

伸缩组 ID。

asg-bp14wlu85wrpchm0****

示例

正常返回示例

JSON格式

{
  "RequestId": "473469C7-AA6F-4DC5-B3DB-A3DC0DE3****",
  "ScalingGroupId": "asg-bp14wlu85wrpchm0****"
}

错误码

HTTP status code

错误码

错误信息

描述

404 ResourceNotAvailable.VPCNetwork The specified zone does not support vpc network or sold out.

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

变更历史

更多信息,参考变更详情。