ModifyScalingGroup - 修改一个伸缩组

更新时间:
复制 MD 格式

如果您需要根据业务变动需求与策略自动增加或减少指定类型的实例数量,则可以通过配置伸缩组来自动调整您的业务计算能力(即实例数量)。如果当前伸缩组属性不再满足业务需求,则您可以调用API ModifyScalingGroup修改伸缩组属性(例如最大实例数、最小实例数或期望实例数等属性),避免重新创建伸缩组并重新配置相关属性,节省了时间和资源成本。

接口说明

接口说明

  • 不支持修改以下参数:

  • 当伸缩组的状态为 Active 或 Inactive 时才能调用该接口。

  • 启用新的伸缩配置不会影响通过早前伸缩配置创建并正在运行的 ECS 实例或 ECI 实例。

  • 如果修改了 MaxSize,导致当前伸缩组的 ECS 或 ECI 实例数超过 MaxSize,则伸缩组会自动移出 ECS 实例或 ECI 实例,使得伸缩组的 ECS 或 ECI 实例数等于 MaxSize。

  • 如果伸缩组修改了 MinSize,导致当前伸缩组的 ECS 或 ECI 实例数低于 MinSize,则伸缩组会自动加入 ECS 实例或 ECI 实例,使得伸缩组的 ECS 或 ECI 实例数等于 MinSize。

  • 如果伸缩组设置了 DesiredCapacity 时,修改了 DesiredCapacity,导致当前伸缩组的 ECS 或 ECI 实例数与 DesiredCapacity 不一致,则伸缩组会自动加入或移除 ECS 实例或 ECI 实例,使得伸缩组的 ECS 或 ECI 实例数等于 DesiredCapacity。

调试

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

调试

授权信息

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

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

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

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

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

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

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

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

操作

访问级别

资源类型

条件关键字

关联操作

ess:ModifyScalingGroup

update

*ScalingGroup

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

请求参数

名称

类型

必填

描述

示例值

ScalingGroupId

string

待修改伸缩组的 ID。

asg-bp1ffogfdauy0jw0****

ScalingGroupName

string

伸缩组的名称,同一地域下伸缩组名称唯一。长度为 2~64 个字符,以数字、大小英文字母或中文开头,可以包含数字、下划线(_)、短划线(-)和半角句号(.)。

scalinggroup****

MinSize

integer

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

说明

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

1

MaxSize

integer

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

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

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

99

DefaultCooldown

integer

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

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

600

RemovalPolicy.1

string

指定移出 ECS 实例的第一段伸缩组策略。取值范围:

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

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

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

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

说明

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

OldestScalingConfiguration

RemovalPolicy.2

string

指定移出 ECS 实例的第二段伸缩组策略。取值范围:

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

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

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

说明

OldestScalingConfiguration 中提到的伸缩配置泛指组内实例配置信息来源,包括伸缩配置和启动模板。

NewestInstance

RemovalPolicy.3

string

指定移出 ECS 实例的第三段伸缩组策略。取值范围:

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

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

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

说明

OldestScalingConfiguration 中提到的伸缩配置泛指组内实例配置信息来源,包括伸缩配置和启动模板。

OldestInstance

ActiveScalingConfigurationId

string

伸缩组内生效的伸缩配置的 ID。

asc-bp17pelvl720x5ub****

HealthCheckType

string

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

  • NONE:不做健康检查。

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

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

默认值:ECS。

说明

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

ECS

LaunchTemplateId

string

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

lt-m5e3ofjr1zn1aw7****

LaunchTemplateVersion

string

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

  • 固定的模板版本号。

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

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

Default

OnDemandBaseCapacity

integer

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

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

30

OnDemandPercentageAboveBaseCapacity

integer

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

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

20

SpotInstanceRemedy

boolean

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

true

CompensateWithOnDemand

boolean

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

  • true:允许。

  • false:不允许。

true

SpotInstancePools

integer

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

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

5

DesiredCapacity

integer

伸缩组内 ECS 实例或 ECI 实例的期望数量。设置该参数意味着开启了期望实例数功能,伸缩组会自动将 ECS 实例或 ECI 实例数量维持在期望实例数。取值范围:MaxSize≥期望实例数量≥MinSize。

说明

如果期望实例数功能关闭后又重新开启,则您需要重新设置DesiredCapacity值。

5

GroupDeletionProtection

boolean

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

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

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

true

MultiAZPolicy

string

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

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

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

    说明

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

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

  • COMPOSABLE:是一种组合策略,您可以根据需要自主组合上述多可用区伸缩组 ECS 实例的扩缩容策略。

PRIORITY

VSwitchIds

array

一台或多台虚拟交换机的 ID。

只有当伸缩组网络类型为 VPC 时,当前参数才生效。指定虚拟交换机所属的 VPC 必须和伸缩组所属的 VPC 相同。

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

vsw-bp1oo2a7isyrb8igf****

string

一台或多台虚拟交换机的 ID,N 的取值范围:1~5。

只有当伸缩组网络类型为 VPC 时,当前参数才生效。指定虚拟交换机所属的 VPC 必须和伸缩组所属的 VPC 相同。

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

vsw-bp1oo2a7isyrb8igf****

LaunchTemplateOverride

array<object>

启动模板信息。

object

启动模板信息。

InstanceType

string

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

本参数用于指定实例规格,会覆盖启动模板中的实例规格。您可以指定 N 个本参数,扩展启动模板支持 N 个实例规格。N 的取值范围:1~20。

说明

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

InstanceType 的取值范围:在售的 ECS 实例规格,请参见实例规格族

ecs.c5.xlarge

WeightedCapacity

integer

当您需要伸缩组按照实例规格容量进行伸缩时,在指定 LaunchTemplateOverride.N.InstanceType 后,再指定本参数。两个参数一一对应,N 需要保持一致。

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

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

例如:

  • 当前容量:0。

  • 期望容量:6。

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

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

说明

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

WeightedCapacity 的取值范围:1~500。

4

SpotPriceLimit

number

本参数用于指定实例启动模板覆盖规格(即LaunchTemplateOverride.N.InstanceType)的竞价价格上限。您可以指定 N 个该参数,扩展启动模板支持 N 个实例规格。N 的取值范围:1~20。

说明

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

0.025

AzBalance

boolean

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

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

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

默认值:false。

false

AllocationStrategy

string

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

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

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

默认值:priority。

priority

SpotAllocationStrategy

string

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

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

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

默认值:priority。

lowestPrice

MaxInstanceLifetime

integer

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

取值范围:0 或[86400, Integer.maxValue]。其中,0 表示清空 MaxInstanceLifetime 设置过的值(即未设置 MaxInstanceLifetime 值)。

默认值:null。

说明

ECI 类型的伸缩组或停机不收费的伸缩组不支持设置该参数。

86400

CustomPolicyARN

string

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

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

DisableDesiredCapacity

boolean

伸缩组是否关闭期望实例数功能。取值范围:

  • false:启用期望实例数功能。

  • true:关闭期望实例数功能。

说明

只有伸缩组当前无伸缩活动时,才能将该参数设置为 true(即伸缩组的期望实例数功能关闭),伸缩组当前的DesiredCapacity属性也会被清空,但伸缩组中当前的实例数量不发生变化。

false

ScalingPolicy

string

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

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

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

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

    说明

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

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

    说明

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

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

recycle

HealthCheckTypes

array

伸缩组的健康检查方式。

说明

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

string

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

  • NONE:不做健康检查。

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

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

默认值:ECS。

ECS

StopInstanceTimeout

integer

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

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

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

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

  • 该参数设置为 0 时,表示取消该参数配置。

60

CapacityOptions

object

容量选项。

OnDemandBaseCapacity

integer

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

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

30

OnDemandPercentageAboveBaseCapacity

integer

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

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

20

CompensateWithOnDemand

boolean

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

  • true:允许。

  • false:不允许。

true

SpotAutoReplaceOnDemand

boolean

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

  • true:允许。

  • false:不允许。

默认值:false。

true

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****

示例

正常返回示例

JSON格式

{
  "RequestId": "473469C7-AA6F-4DC5-B3DB-A3DC0DE3****"
}

错误码

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

变更历史

更多信息,参考变更详情