ModifyScalingGroup
如果您需要根據(jù)業(yè)務(wù)變動(dòng)需求與策略自動(dòng)增加或減少指定類(lèi)型的實(shí)例數(shù)量,則可以通過(guò)配置伸縮組來(lái)自動(dòng)調(diào)整您的業(yè)務(wù)計(jì)算能力(即實(shí)例數(shù)量)。如果當(dāng)前伸縮組屬性不再滿(mǎn)足業(yè)務(wù)需求,則您可以調(diào)用API ModifyScalingGroup修改伸縮組屬性(例如最大實(shí)例數(shù)、最小實(shí)例數(shù)或期望實(shí)例數(shù)等屬性),避免重新創(chuàng)建伸縮組并重新配置相關(guān)屬性,節(jié)省了時(shí)間和資源成本。
接口說(shuō)明
- 不支持修改以下參數(shù):
- RegionId
-
LoadBalancerId
說(shuō)明 如果需要修改負(fù)載均衡實(shí)例,請(qǐng)使用AttachLoadBalancers和DetachLoadBalancers接口。 -
DBInstanceId
說(shuō)明 如果需要修改RDS實(shí)例,請(qǐng)使用AttachDBInstances和DetachDBInstances接口。
- 當(dāng)伸縮組的狀態(tài)為Active或Inactive時(shí)才能調(diào)用該接口。
- 啟用新的伸縮配置不會(huì)影響通過(guò)早前伸縮配置創(chuàng)建并正在運(yùn)行的ECS實(shí)例或ECI實(shí)例。
- 如果修改了MaxSize,導(dǎo)致當(dāng)前伸縮組的ECS或ECI實(shí)例數(shù)超過(guò)MaxSize,則伸縮組會(huì)自動(dòng)移出ECS實(shí)例或ECI實(shí)例,使得伸縮組的ECS或ECI實(shí)例數(shù)等于MaxSize。
- 如果伸縮組修改了MinSize,導(dǎo)致當(dāng)前伸縮組的ECS或ECI實(shí)例數(shù)低于MinSize,則伸縮組會(huì)自動(dòng)加入ECS實(shí)例或ECI實(shí)例,使得伸縮組的ECS或ECI實(shí)例數(shù)等于MinSize。
- 如果伸縮組設(shè)置了DesiredCapacity時(shí),修改了DesiredCapacity,導(dǎo)致當(dāng)前伸縮組的ECS或ECI實(shí)例數(shù)與DesiredCapacity不一致,則伸縮組會(huì)自動(dòng)加入或移除ECS實(shí)例或ECI實(shí)例,使得伸縮組的ECS或ECI實(shí)例數(shù)等于DesiredCapacity。
調(diào)試
您可以在OpenAPI Explorer中直接運(yùn)行該接口,免去您計(jì)算簽名的困擾。運(yùn)行成功后,OpenAPI Explorer可以自動(dòng)生成SDK代碼示例。
請(qǐng)求參數(shù)
名稱(chēng) |
類(lèi)型 |
是否必選 |
示例值 |
描述 |
Action | String | 是 | ModifyScalingGroup | 系統(tǒng)規(guī)定參數(shù)。取值:ModifyScalingGroup。 |
ScalingGroupId | String | 是 | asg-bp1ffogfdauy0jw0**** | 待修改伸縮組的ID。 |
ScalingGroupName | String | 否 | scalinggroup**** | 伸縮組的名稱(chēng),同一地域下伸縮組名稱(chēng)唯一。長(zhǎng)度為2~64個(gè)字符,以數(shù)字、大小英文字母或中文開(kāi)頭,可以包含數(shù)字、下劃線(xiàn)(_)、短劃線(xiàn)(-)和半角句號(hào)(.)。 |
MinSize | Integer | 否 | 1 | 伸縮組內(nèi)ECS實(shí)例或ECI實(shí)例臺(tái)數(shù)的最小值,當(dāng)伸縮組內(nèi)ECS或ECI實(shí)例數(shù)小于 說(shuō)明 MinSize 的值必須小于或等于MaxSize 的值。 |
MaxSize | Integer | 否 | 99 | 伸縮組內(nèi)ECS實(shí)例或ECI實(shí)例臺(tái)數(shù)的最大值,當(dāng)伸縮組內(nèi)ECS或ECI實(shí)例數(shù)大于 MaxSize的取值范圍和彈性伸縮使用情況有關(guān),請(qǐng)前往配額中心查看單個(gè)伸縮組可以設(shè)置的組內(nèi)最大實(shí)例數(shù)對(duì)應(yīng)的配額值。 例如,如果單個(gè)伸縮組可以設(shè)置的組內(nèi)最大實(shí)例數(shù)對(duì)應(yīng)的配額值為2000,則 |
DefaultCooldown | Integer | 否 | 600 | 一次伸縮活動(dòng)(添加或移出ECS實(shí)例或ECI實(shí)例)結(jié)束后的一段冷卻時(shí)間。取值范圍:0~86400,單位:秒。 冷卻時(shí)間內(nèi),該伸縮組不執(zhí)行其他的伸縮活動(dòng),僅針對(duì)云監(jiān)控報(bào)警任務(wù)觸發(fā)的伸縮活動(dòng)有效。 |
RemovalPolicy.1 | String | 否 | OldestScalingConfiguration | 指定移出ECS實(shí)例的第一段伸縮組策略。取值范圍:
說(shuō)明 OldestScalingConfiguration中提到的伸縮配置泛指組內(nèi)實(shí)例配置信息來(lái)源,包括伸縮配置和啟動(dòng)模板。CustomPolicy僅支持設(shè)置為首位移除策略,當(dāng)指定CustomPolicy需同時(shí)指定CustomPolicyARN參數(shù)。 |
RemovalPolicy.2 | String | 否 | NewestInstance | 指定移出ECS實(shí)例的第二段伸縮組策略。取值范圍:
|
RemovalPolicy.3 | String | 否 | OldestInstance | 指定移出ECS實(shí)例的第三段伸縮組策略。取值范圍:
說(shuō)明 OldestScalingConfiguration中提到的伸縮配置泛指組內(nèi)實(shí)例配置信息來(lái)源,包括伸縮配置和啟動(dòng)模板。 |
ActiveScalingConfigurationId | String | 否 | asc-bp17pelvl720x5ub**** | 伸縮組內(nèi)生效的伸縮配置的ID。 |
HealthCheckType | String | 否 | ECS | 伸縮組的健康檢查方式。取值范圍:
默認(rèn)值:ECS。 說(shuō)明 如果需要同時(shí)開(kāi)啟實(shí)例健康檢查和負(fù)載均衡健康檢查,請(qǐng)使用 HealthCheckTypes 參數(shù)。 |
LaunchTemplateId | String | 否 | lt-m5e3ofjr1zn1aw7**** | 實(shí)例啟動(dòng)模板ID,用于指定伸縮組從實(shí)例啟動(dòng)模板獲取啟動(dòng)配置信息。 |
LaunchTemplateVersion | String | 否 | Default | 實(shí)例啟動(dòng)模板的版本。取值范圍:
|
OnDemandBaseCapacity | Integer | 否 | 30 | 伸縮組所需要按量實(shí)例個(gè)數(shù)的最小值,取值范圍:0~1000。當(dāng)按量實(shí)例個(gè)數(shù)少于該值時(shí),將優(yōu)先創(chuàng)建按量實(shí)例。 當(dāng) |
OnDemandPercentageAboveBaseCapacity | Integer | 否 | 20 | 伸縮組滿(mǎn)足最小按量實(shí)例數(shù)(OnDemandBaseCapacity)要求后,超出的實(shí)例中按量實(shí)例應(yīng)占的比例,取值范圍:0~100。 當(dāng) |
SpotInstanceRemedy | Boolean | 否 | true | 是否開(kāi)啟補(bǔ)齊搶占式實(shí)例。開(kāi)啟后,當(dāng)收到搶占式實(shí)例將被回收的系統(tǒng)消息時(shí),伸縮組將嘗試創(chuàng)建新的實(shí)例,替換掉將被回收的搶占式實(shí)例。 |
CompensateWithOnDemand | Boolean | 否 | true | 當(dāng)
|
SpotInstancePools | Integer | 否 | 5 | 指定可用實(shí)例規(guī)格的個(gè)數(shù),伸縮組將按成本最低的多個(gè)規(guī)格均衡創(chuàng)建搶占式實(shí)例。取值范圍:0~10。 當(dāng) |
DesiredCapacity | Integer | 否 | 5 | 伸縮組內(nèi)ECS實(shí)例或ECI實(shí)例的期望數(shù)量。設(shè)置該參數(shù)意味著開(kāi)啟了期望實(shí)例數(shù)功能,伸縮組會(huì)自動(dòng)將ECS實(shí)例或ECI實(shí)例數(shù)量維持在期望實(shí)例數(shù)。取值范圍:MaxSize≥期望實(shí)例數(shù)量≥MinSize。 說(shuō)明 如果期望實(shí)例數(shù)功能關(guān)閉后又重新開(kāi)啟,則您需要重新設(shè)置 DesiredCapacity 值。 |
GroupDeletionProtection | Boolean | 否 | true | 是否開(kāi)啟伸縮組刪除保護(hù)。取值范圍:
|
MultiAZPolicy | String | 否 | PRIORITY | 多可用區(qū)伸縮組ECS實(shí)例擴(kuò)縮容策略。取值范圍:
|
VSwitchIds.N | String | 否 | vsw-bp1oo2a7isyrb8igf**** | 一臺(tái)或多臺(tái)虛擬交換機(jī)的ID,N的取值范圍:1~5。 只有當(dāng)伸縮組網(wǎng)絡(luò)類(lèi)型為VPC時(shí),當(dāng)前參數(shù)才生效。指定虛擬交換機(jī)所屬的VPC必須和伸縮組所屬的VPC相同。 虛擬交換機(jī)可以來(lái)自多個(gè)可用區(qū)。虛擬交換機(jī)的優(yōu)先級(jí)按照數(shù)字升序排序,1表示最高優(yōu)先級(jí)。當(dāng)優(yōu)先級(jí)較高的虛擬交換機(jī)所在可用區(qū)無(wú)法創(chuàng)建ECS實(shí)例時(shí),自動(dòng)選擇下一優(yōu)先級(jí)的虛擬交換機(jī)創(chuàng)建ECS實(shí)例。 |
LaunchTemplateOverride.N.InstanceType | String | 否 | ecs.c5.xlarge | 當(dāng)您需要伸縮組按照實(shí)例規(guī)格容量進(jìn)行伸縮時(shí),請(qǐng)同時(shí)指定本參數(shù)和LaunchTemplateOverride.N.WeightedCapacity。 本參數(shù)用于指定實(shí)例規(guī)格,會(huì)覆蓋啟動(dòng)模板中的實(shí)例規(guī)格。您可以指定N個(gè)本參數(shù),擴(kuò)展啟動(dòng)模板支持N個(gè)實(shí)例規(guī)格。N的取值范圍:1~10。 說(shuō)明 僅當(dāng)LaunchTemplateId參數(shù)指定了啟動(dòng)模板時(shí),本參數(shù)生效。 InstanceType的取值范圍:在售的ECS實(shí)例規(guī)格,請(qǐng)參見(jiàn)實(shí)例規(guī)格族。 |
LaunchTemplateOverride.N.WeightedCapacity | Integer | 否 | 4 | 當(dāng)您需要伸縮組按照實(shí)例規(guī)格容量進(jìn)行伸縮時(shí),在指定LaunchTemplateOverride.N.InstanceType后,再指定本參數(shù)。兩個(gè)參數(shù)一一對(duì)應(yīng),N需要保持一致。 本參數(shù)用于指定實(shí)例規(guī)格的權(quán)重,即實(shí)例規(guī)格的單臺(tái)實(shí)例在伸縮組中表示的容量大小。 權(quán)重越大,滿(mǎn)足期望容量所需的本實(shí)例規(guī)格的實(shí)例數(shù)量越少。 由于每個(gè)實(shí)例規(guī)格的vCPU個(gè)數(shù)、內(nèi)存大小等性能指標(biāo)會(huì)有差異,您可以根據(jù)自身需求,給不同的實(shí)例規(guī)格配置不同的權(quán)重。 例如:
為滿(mǎn)足期望容量,伸縮組將為用戶(hù)擴(kuò)容2臺(tái)ecs.c5.xlarge實(shí)例。 說(shuō)明 擴(kuò)容時(shí)伸縮組的容量不得超過(guò)最大容量(MaxSize)與實(shí)例規(guī)格的最大權(quán)重之和。 WeightedCapacity的取值范圍:1~500。 |
LaunchTemplateOverride.N.SpotPriceLimit | Float | 否 | 0.025 | 本參數(shù)用于指定實(shí)例啟動(dòng)模板覆蓋規(guī)格(即 說(shuō)明 僅當(dāng) LaunchTemplateId 參數(shù)指定了啟動(dòng)模板時(shí),該參數(shù)才生效。 |
AzBalance | Boolean | 否 | false | 伸縮組的容量是否在多個(gè)可用區(qū)間均衡分布(僅當(dāng)
默認(rèn)值:false。 |
AllocationStrategy | String | 否 | priority | 容量分配策略,決定了伸縮組如何選擇可用的實(shí)例規(guī)格類(lèi)型滿(mǎn)足容量。容量分布策略同時(shí)對(duì)按量和搶占式容量生效(僅當(dāng)
默認(rèn)值:priority。 |
SpotAllocationStrategy | String | 否 | lowestPrice | 搶占式容量分布策略。您可以通過(guò)該參數(shù)單獨(dú)指定搶占式容量的分布策略(僅當(dāng)
默認(rèn)值:priority。 |
MaxInstanceLifetime | Integer | 否 | null | 實(shí)例在伸縮組中存活的最大時(shí)間。單位為秒。 取值范圍:0或 默認(rèn)值:null。 說(shuō)明 ECI類(lèi)型的伸縮組或停機(jī)不收費(fèi)的伸縮組不支持設(shè)置該參數(shù)。 |
CustomPolicyARN | String | 否 | acs:fc:cn-zhangjiakou:16145688****:services/ess_custom_terminate_policy.LATEST/functions/ess_custom_terminate_policy_name | 自定義縮容策略Function函數(shù)ARN。僅當(dāng)RemovalPolicies配置第一個(gè)移除策略為CustomPolicy時(shí)生效。 |
DisableDesiredCapacity | Boolean | 否 | false | 伸縮組是否關(guān)閉期望實(shí)例數(shù)功能。取值范圍:
|
ScalingPolicy | String | 否 | recycle | 指定伸縮組的回收模式。取值范圍:
ScalingPolicy指定伸縮組的回收模式,但實(shí)例被移出伸縮組時(shí)的具體動(dòng)作,由RemoveInstances的RemovePolicy參數(shù)決定,更多信息,請(qǐng)參見(jiàn)RemoveInstances。 |
HealthCheckTypes.N | String | 否 | ECS | 伸縮組的健康檢查方式列表。取值范圍:
默認(rèn)值:ECS。 |
StopInstanceTimeout | Integer | 否 | 60 | 縮容流程中等待ECS實(shí)例停機(jī)成功的超時(shí)時(shí)間,單位為秒。 取值范圍:30~240。 說(shuō)明
|
CapacityOptions.OnDemandBaseCapacity | Integer | 否 | 30 | 已有伸縮組內(nèi)所需要的按量實(shí)例數(shù)的最小值,當(dāng)伸縮組內(nèi)按量實(shí)例個(gè)數(shù)少于該值時(shí),系統(tǒng)將優(yōu)先創(chuàng)建按量實(shí)例。取值范圍:0~1000。 當(dāng) |
CapacityOptions.OnDemandPercentageAboveBaseCapacity | Integer | 否 | 20 | 伸縮組滿(mǎn)足最小按量實(shí)例數(shù) 當(dāng) |
CapacityOptions.CompensateWithOnDemand | Boolean | 否 | true | 當(dāng)
|
CapacityOptions.SpotAutoReplaceOnDemand | Boolean | 否 | true | 當(dāng)開(kāi)啟
默認(rèn)值:false。 |
返回?cái)?shù)據(jù)
名稱(chēng) |
類(lèi)型 |
示例值 |
描述 |
RequestId | String | 473469C7-AA6F-4DC5-B3DB-A3DC0DE3**** | 請(qǐng)求ID。 |
示例
請(qǐng)求示例
http(s)://ess.aliyuncs.com/?Action=ModifyScalingGroup
&ScalingGroupId=asg-bp1ffogfdauy0jw0****
&ScalingGroupName=scalinggroup****
&MinSize=1
&MaxSize=99
&DefaultCooldown=600
&RemovalPolicy.1=OldestScalingConfiguration
&RemovalPolicy.2=NewestInstance
&RemovalPolicy.3=OldestInstance
&ActiveScalingConfigurationId=asc-bp17pelvl720x5ub****
&HealthCheckType=ECS
&LaunchTemplateId=lt-m5e3ofjr1zn1aw7****
&LaunchTemplateVersion=Default
&OnDemandBaseCapacity=30
&OnDemandPercentageAboveBaseCapacity=20
&SpotInstanceRemedy=true
&CompensateWithOnDemand=true
&SpotInstancePools=5
&DesiredCapacity=5
&GroupDeletionProtection=true
&MultiAZPolicy=PRIORITY
&VSwitchIds=["vsw-bp1oo2a7isyrb8igf****"]
&LaunchTemplateOverride=[{"InstanceType":"ecs.c5.xlarge","WeightedCapacity":4,"SpotPriceLimit":0.025}]
&AzBalance=false
&AllocationStrategy=priority
&SpotAllocationStrategy=lowestPrice
&CustomPolicyARN=acs:fc:cn-zhangjiakou:16145688****:services/ess_custom_terminate_policy.LATEST/functions/ess_custom_terminate_policy_name
&DisableDesiredCapacity=false
&ScalingPolicy=recycle
&HealthCheckTypes=["ECS"]
&StopInstanceTimeout=60
&CapacityOptions={"OnDemandBaseCapacity":30,"OnDemandPercentageAboveBaseCapacity":20,"CompensateWithOnDemand":true,"SpotAutoReplaceOnDemand":true}
&公共請(qǐng)求參數(shù)
正常返回示例
XML
格式
HTTP/1.1 200 OK
Content-Type:application/xml
<ModifyScalingGroupResponse>
<RequestId>473469C7-AA6F-4DC5-B3DB-A3DC0DE3****</RequestId>
</ModifyScalingGroupResponse>
JSON
格式
HTTP/1.1 200 OK
Content-Type:application/json
{
"RequestId" : "473469C7-AA6F-4DC5-B3DB-A3DC0DE3****"
}
錯(cuò)誤碼
訪問(wèn)錯(cuò)誤中心查看更多錯(cuò)誤碼。
HttpCode |
錯(cuò)誤碼 |
錯(cuò)誤信息 |
描述 |
404 |
InvalidScalingGroupId.NotFound |
The specified scaling group does not exist. |
賬號(hào)下不存在指定的伸縮組。 |
400 |
InvalidScalingGroupName.Duplicate |
The specified value of parameter parameter name is duplicated. |
伸縮組名已存在。 |
404 |
InvalidScalingConfigurationId.NotFound |
The specified scaling configuration does not exist. |
伸縮組中不存在指定的伸縮配置。 |
400 |
InvalidScalingConfigurationId.InstanceTypeMismatch |
The specified scaling configuration and existing active scaling configuration have different instance type. |
指定的伸縮配置的實(shí)例規(guī)格與當(dāng)前生效的伸縮配置的實(shí)例規(guī)格不匹配。 |
400 |
InvalidParameter.Conflict |
The value of parameter parameter name and parameter parameter name are confilict. |
指定的MinSize大于MaxSize。 |
400 |
LaunchTemplateVersionSet.NotFound |
The specific version of launch template is not exist. |
不存在指定的實(shí)例啟動(dòng)模板版本。 |
400 |
LaunchTemplateSet.NotFound |
The specified launch template set is not found. |
不存在指定的實(shí)例啟動(dòng)模板。 |
400 |
TemplateMissingParameter.ImageId |
The input parameter "ImageId" that is mandatory for processing this request is not supplied. |
實(shí)例啟動(dòng)模板指定版本缺少鏡像信息。 |
400 |
TemplateMissingParameter.InstanceTypes |
The input parameter "InstanceTypes" that is mandatory for processing this request is not supplied. |
指定的實(shí)例啟動(dòng)模板版本缺少實(shí)例規(guī)格信息。 |
400 |
TemplateMissingParameter.SecurityGroup |
The input parameter "SecurityGroup" that is mandatory for processing this request is not supplied. |
指定的實(shí)例啟動(dòng)模板版本缺少安全組信息。 |
400 |
TemplateVersion.NotNumber |
The input parameter "LaunchTemplateVersion" is supposed to be a string representing the version number. |
指定的實(shí)例啟動(dòng)模板固定版本號(hào)應(yīng)該是數(shù)字。 |