全部產品
Search
文件中心

Auto Scaling:CreateScalingGroup

更新時間:Jun 30, 2025

如果您需要根據業務變動需求與策略自動增加或減少指定類型的執行個體數量,則可以通過調用API CreateScalingGroup建立伸縮組來自動調整您的業務計算能力(即執行個體數量)。

介面說明

伸縮組是具有相同應用情境的ECS執行個體的集合。

一個地區下支援建立的伸縮組數量和Auto Scaling使用方式有關,請前往配額中心查看伸縮組總數對應的配額值。

伸縮組建立成功後不會立即生效。您需要先調用EnableScalingGroup介面啟用伸縮組,伸縮組才能觸發伸縮活動和執行伸縮規則。

伸縮組、關聯的傳統型負載平衡CLB(原SLB)執行個體和關聯的RDS執行個體必須在同一個地區。更多資訊,請參見地區與可用性區域

如果您為伸縮組關聯了CLB執行個體,伸縮組會自動將加入伸縮組的ECS執行個體添加到CLB執行個體的後端伺服器組。您可以指定ECS執行個體需要加入的伺服器組,支援預設伺服器組和虛擬伺服器,具體說明如下:

說明 如果您同時指定了預設伺服器組和多個虛擬伺服器組,ECS執行個體會同時添加至這些伺服器組中。
  • 預設伺服器組:用來接收前端請求的ECS執行個體,如果監聽沒有設定虛擬伺服器組或主備伺服器組,預設將請求轉寄至預設伺服器組中的ECS執行個體。
  • 虛擬伺服器組:當您需要將不同的請求轉寄到不同的後端伺服器上,或著需要通過網域名稱和URL進行請求轉寄時,可以選擇使用虛擬伺服器組。

ECS執行個體在加入CLB執行個體的後端伺服器組後,權重預設為50。CLB執行個體需要滿足以下條件:

  • 該CLB執行個體的狀態必須是active,您可以調用DescribeLoadBalancers介面查看指定CLB執行個體的狀態。
  • 該CLB執行個體配置的所有監聽連接埠必須開啟健全狀態檢查,否則伸縮組建立失敗。

如果您為伸縮組關聯了應用型負載平衡ALB伺服器組或網路型負載平衡NLB伺服器組,伸縮組會自動將加入伸縮組的ECS執行個體添加為ALB伺服器組或NLB伺服器組的後端伺服器,處理ALB執行個體或NLB執行個體分發的訪問請求。您可以指定多個ALB伺服器組或NLB伺服器組,但伺服器組必須與伸縮組屬於同一個VPC。更多資訊,請參見AttachAlbServerGroupsAttachServerGroups

如果您為伸縮組關聯了RDS執行個體,伸縮組會自動將加入伸縮組的ECS執行個體的內網IP添加到RDS執行個體的訪問白名單。RDS執行個體需要滿足以下條件:

  • 該RDS執行個體的狀態必須是Running,您可以調用DescribeDBInstances介面查看指定RDS執行個體的狀態。
  • 該RDS執行個體訪問白名單的IP數不能超過上限值。更多資訊,請參見RDS文檔設定白名單

如果伸縮組的MultiAZPolicy設定為COST_OPTIMIZED

  • 當指定OnDemandBaseCapacity、OnDemandPercentageAboveBaseCapacity和SpotInstancePools參數時,即指定成本最佳化策略下的執行個體分配方式,在擴縮容時將優先滿足該執行個體分配方式。
  • 當不指定OnDemandBaseCapacity、OnDemandPercentageAboveBaseCapacity或SpotInstancePools參數時,成本最佳化策略下將僅按照成本最低的方式進行執行個體建立。

如果您為伸縮組設定了可傳播標籤,即Tag.N.Propagatetrue時:

  • 伸縮組上的標籤只會傳播到新建立的執行個體上,而不會傳播到已經在伸縮組中啟動並執行執行個體上。
  • 如果您在伸縮配置中指定了執行個體標籤,並且選擇將伸縮組的標籤傳播到該執行個體,則所有標籤都會同時存在。
  • 如果伸縮配置中的標籤和伸縮組中的可傳播標籤指定了相同的標籤鍵,則優先使用伸縮配置中的標籤值。

調試

您可以在OpenAPI Explorer中直接運行該介面,免去您計算簽名的困擾。運行成功後,OpenAPI Explorer可以自動產生SDK程式碼範例。

請求參數

名稱

類型

是否必選

樣本值

描述

Action String CreateScalingGroup

系統規定參數。取值:CreateScalingGroup

ScalingGroupName String scalinggroup****

伸縮組的名稱,同一地區下伸縮組名稱唯一。

長度為2~64個英文或中文字元,以數字、大小寫英文字母或中文開頭,可以包含數字、底線(_)、短劃線(-)和半形句號(.)。

預設值為ScalingGroupId的值。

LaunchTemplateId String lt-m5e3ofjr1zn1aw7****

執行個體啟動模板ID,用於指定伸縮組從執行個體啟動模板擷取啟動配置資訊。

LaunchTemplateVersion String Default

執行個體啟動模板的版本。取值範圍:

  • 固定的模板版本號碼。
  • Default:始終使用模板預設版本。
  • Latest:始終使用模板最新版本。
InstanceId String i-28wt4****

執行個體的ID。建立伸縮組時,將從指定的執行個體擷取所需的配置資訊,並自動建立伸縮配置。

RegionId String cn-qingdao

伸縮組所屬的地區ID。更多資訊,請參見地區與可用性區域

MinSize Integer 2

伸縮組內執行個體台數的最小值,當伸縮組內執行個體數小於MinSize的值時,Auto Scaling會自動建立執行個體。

說明 MinSize的值必須小於或等於MaxSize的值。
MaxSize Integer 20

伸縮組內執行個體台數的最大值,當伸縮組內實數大於MaxSize的值時,Auto Scaling會自動移出執行個體。

MaxSize的取值範圍和Auto Scaling使用方式有關,請前往配額中心查看單個伸縮組可以設定的組內最大執行個體數對應的配額值。

如果單個伸縮組可以設定的組內最大執行個體數對應的配額值為2000,則MaxSize的取值範圍為0~2000。

DefaultCooldown Integer 300

一次伸縮活動(添加或移出執行個體)結束後的一段冷卻時間。取值範圍:0~86400,單位:秒。

冷卻時間內,該伸縮組不執行其它的伸縮活動,僅針對CloudMonitor警示任務觸發的伸縮活動有效。

預設值:300。

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

傳統型負載平衡CLB(原SLB)執行個體ID。取值可以是由多台CLB執行個體ID組成一個JSON數組,ID之間用半形逗號(,)隔開。

單個伸縮組可以關聯的CLB總數和Auto Scaling使用方式有關,請前往配額中心查看單個伸縮組可以關聯的Server Load Balancer執行個體總數對應的配額值。

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

RDS執行個體ID。取值可以是由多台RDS執行個體ID組成一個JSON數組,ID之間用半形逗號(,)隔開。

單個伸縮組可以關聯的RDS執行個體總數和Auto Scaling使用方式有關,請前往配額中心查看單個伸縮組可以關聯的RDS執行個體總數對應的配額值。

RemovalPolicy.1 String OldestScalingConfiguration

指定執行個體移出策略的第一段篩選策略。不允許與RemovalPolicy.2和RemovalPolicy.3取值相同。取值範圍:

  • OldestInstance:移出最早加入伸縮組的ECS執行個體。
  • NewestInstance:移出最新加入伸縮組的ECS執行個體。
  • OldestScalingConfiguration:移出最早伸縮配置建立的ECS執行個體。
  • CustomPolicy:基於自訂縮容策略Function函數移除ECS執行個體。

OldestScalingConfiguration中提到的伸縮配置泛指組內執行個體配置資訊來源,包括伸縮配置和啟動模板。CustomPolicy僅支援設定為首位移出策略,當指定CustomPolicy需同時指定CustomPolicyARN參數。

說明 伸縮組移出ECS執行個體還受伸縮組的擴縮容策略(MultiAZPolicy)影響。更多資訊,請參見設定移出執行個體的組合策略
RemovalPolicy.2 String OldestInstance

指定執行個體移出策略的第二段篩選策略,不允許與RemovalPolicy.1和RemovalPolicy.3取值相同。取值範圍:

  • OldestInstance:移出最早加入伸縮組的ECS執行個體。
  • NewestInstance:移出最新加入伸縮組的ECS執行個體。
  • OldestScalingConfiguration:移出最早伸縮配置建立的ECS執行個體。
說明 伸縮組移出ECS執行個體還受伸縮組的擴縮容策略(MultiAZPolicy)影響。更多資訊,請參見設定移出執行個體的組合策略
RemovalPolicy.3 String NewestInstance

指定執行個體移出策略的第三段篩選策略,不允許與RemovalPolicy.1和RemovalPolicy.2取值相同。取值範圍:

  • OldestInstance:移出最早加入伸縮組的ECS執行個體。
  • NewestInstance:移出最新加入伸縮組的ECS執行個體。
  • OldestScalingConfiguration:移出最早伸縮配置建立的ECS執行個體。
說明 伸縮組移出ECS執行個體還受伸縮組的擴縮容策略(MultiAZPolicy)影響。更多資訊,請參見設定移出執行個體的組合策略
VSwitchId String vsw-bp14zolna43z266bq****

虛擬交換器的ID。指定後,伸縮組的網路類型為專用網路。

說明 當伸縮組未指定VSwitchId或VSwitchIds.N參數時,伸縮組的網路類型預設為傳統網路。
MultiAZPolicy String PRIORITY

多可用性區域伸縮組ECS執行個體擴縮容策略。取值範圍:

  • PRIORITY:先指定的虛擬交換器(VSwitchIds.N)優先順序最高。Auto Scaling優先在優先順序最高的交換器所在可用性區域嘗試擴縮容,如果無法擴縮容,則自動在下一優先順序的交換器所在可用性區域進行擴縮容。
  • COST_OPTIMIZED:擴容時Auto Scaling按vCPU單價從低到高嘗試建立ECS執行個體,縮容時按vCPU單價從高到低嘗試移出ECS執行個體。當伸縮配置設定了搶佔式計費方式的多執行個體規格時,優先建立對應搶佔式執行個體。您可以繼續通過CompensateWithOnDemand參數指定當搶佔式執行個體由於庫存等原因無法建立時,是否自動嘗試以隨用隨付的方式建立。

    說明 COST_OPTIMIZED僅在伸縮配置設定了多執行個體規格或者選用了搶佔式執行個體的情況下生效。

  • BALANCE:在伸縮組指定的多可用性區域之間均勻分配ECS執行個體。如果由於庫存不足等原因可用性區域之間變得不平衡,您可以通過API RebalanceInstance平衡資源。
  • COMPOSABLE:是一種組合策略,您可以根據需要自主組合上述多可用性區域伸縮組ECS執行個體的擴縮容策略。或者進一步指定參數,對伸縮組的容量進行更精細地控制。

預設值:PRIORITY。

HealthCheckType String ECS

伸縮組的健全狀態檢查方式。取值範圍:

  • NONE:不做健全狀態檢查。
  • ECS:對伸縮組內的執行個體做健全狀態檢查(ECS類型和ECI類型的伸縮組均使用本取值開啟執行個體健全狀態檢查)。
  • LOAD_BALANCER: 根據負載平衡(暫不支援CLB負載平衡類型)健全狀態檢查結果判斷執行個體健康狀態。

預設值:ECS。

說明 如果需要同時開啟執行個體健全狀態檢查和負載平衡健全狀態檢查,請使用HealthCheckTypes參數。
ScalingPolicy String recycle

指定伸縮組的回收模式。取值範圍:

  • recycle:伸縮組的回收模式為停機回收模式。
  • release:伸縮組的回收模式為釋放模式。
  • forcerelease:伸縮組的回收模式為強制釋放模式。

    說明 選擇forcerelease後,在彈性收縮活動中系統會強制釋放運行中(Running)的執行個體。強制釋放執行個體相當於斷電操作,會導致該執行個體記憶體以及儲存中的臨時資料被擦除,資料無法恢複,請您謹慎選擇。

  • forcerecycle:伸縮組的回收模式為強制停機回收模式。

    說明 選擇forcerecycle後,在彈性收縮活動中系統會強制關機運行中(Running)的執行個體。強制關機相當於斷電操作,會導致該執行個體記憶體以及儲存中的臨時資料被擦除,資料無法恢複,請您謹慎選擇。

ScalingPolicy指定伸縮組的回收模式,但執行個體被移出伸縮組時的具體動作,由RemoveInstances的RemovePolicy參數決定,更多資訊,請參見RemoveInstances

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

保證請求等冪性。

從您的用戶端產生一個參數值,確保不同請求間該參數值唯一。只支援ASCII字元,且不能超過64個字元。更多資訊,請參見如何保證等冪性

OnDemandBaseCapacity Integer 30

伸縮組所需要按量執行個體個數的最小值,取值範圍:0~1000。當按量執行個體個數少於該值時,將優先建立按量執行個體。

MultiAZPolicy參數取值為COMPOSABLE策略時,預設值為0。

OnDemandPercentageAboveBaseCapacity Integer 20

伸縮組滿足最小按量執行個體數(OnDemandBaseCapacity)要求後,超出的執行個體中按量執行個體應占的比例,取值範圍:0~100。

MultiAZPolicy參數取值為COMPOSABLE策略時,預設值為100。

SpotInstanceRemedy Boolean true

是否開啟補齊搶佔式執行個體。開啟後,當收到搶佔式執行個體將被回收的系統訊息時,伸縮組將嘗試建立新的執行個體,替換掉將被回收的搶佔式執行個體。

CompensateWithOnDemand Boolean true

MultiAZPolicy取值為COST_OPTIMIZED時,如果因價格、庫存等原因無法建立足夠的搶佔式執行個體,是否允許自動嘗試建立按量執行個體滿足ECS執行個體數量要求。取值範圍:

  • true:允許。
  • false:不允許。

預設值:true。

SpotInstancePools Integer 5

指定可用執行個體規格的個數,伸縮組將按成本最低的多個規格均衡建立搶佔式執行個體。取值範圍:1~10。

MultiAZPolicy參數取值為COMPOSABLE策略時,預設值為2。

DesiredCapacity Integer 5

伸縮組內ECS執行個體的期望數量,伸縮組會自動將ECS執行個體數量維持在期望執行個體數。取值不得大於MaxSize,且不得小於MinSize。

GroupDeletionProtection Boolean true

是否開啟伸縮組刪除保護。取值範圍:

  • true:開啟伸縮組刪除保護,此時不能刪除該伸縮組。
  • false:關閉伸縮組刪除保護。

預設值:false。

GroupType String ECS

伸縮組管理的執行個體類型。取值範圍:

  • ECS:伸縮組內管理的伸縮執行個體為ECS執行個體。
  • ECI:伸縮組內管理的伸縮執行個體為ECI執行個體。

預設值:ECS。

ContainerGroupId String eci-uf6fonnghi50u374****

ECI執行個體ID,即容器組ID。

VSwitchIds.N String vsw-bp14zolna43z266bq****

一台或多台虛擬交換器的ID。如果您使用了VSwitchIds.N參數,VSwitchId參數將被忽略。指定後,伸縮組的網路類型為專用網路。

指定多台虛擬交換器時:

  • 所屬的VPC必須相同。
  • 所屬的可用性區域可以不同。
  • 虛擬交換器的優先順序按照數字升序排序,1表示最高優先順序。當優先順序較高的虛擬交換器所在可用性區域無法建立ECS執行個體時,自動選擇下一優先順序的虛擬交換器建立ECS執行個體。
說明 當伸縮組未指定VSwitchId或VSwitchIds.N參數時,伸縮組的網路類型預設為傳統網路。
LifecycleHook.N.DefaultResult String CONTINUE

等待狀態結束後的下一步動作。取值範圍:

  • CONTINUE:繼續響應彈性擴張活動或者繼續響應彈性收縮活動。
  • ABANDON:直接釋放彈性擴張活動建立出來的ECS執行個體或者直接將彈性收縮活動中的ECS執行個體從伸縮組移除。

當伸縮組發生彈性收縮活動(SCALE_IN)並觸發多個生命週期掛鈎時,DefaultResult取值為ABANDON的生命週期掛鈎觸發的等待狀態結束時,會提前結束其它對應的等待狀態。其他情況下,下一步動作均以最後一個結束等待狀態的下一步動作為準。

預設值:CONTINUE。

LifecycleHook.N.LifecycleHookName String lifecyclehook****

生命週期掛鈎名稱,指定後不支援修改,未指定時預設與生命週期掛鈎ID相同。

LifecycleHook.N.LifecycleTransition String SCALE_OUT

生命週期掛鈎適用的伸縮活動類型,取值範圍:

  • SCALE_OUT:伸縮組彈性擴張活動。
  • SCALE_IN:伸縮組彈性收縮活動。
說明 若伸縮組指定生命週期掛鈎,此參數必選,其他相關參數可選。
LifecycleHook.N.NotificationMetadata String Test

伸縮活動的等待狀態的固定字串資訊。參數長度不能超過128個字元。Auto Scaling每次推送訊息到通知對象時,會同時發送您預先指定的NotificationMetadata參數值,便於管理和標記不同類別的通知資訊。當您同時指定了NotificationArn參數時,NotificationMetadata參數方可生效。

LifecycleHook.N.NotificationArn String acs:ess:cn-hangzhou:1111111111:queue/queue2

生命週期掛鈎通知物件識別碼,支援輕量訊息佇列(原 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}。
LifecycleHook.N.HeartbeatTimeout Integer 600

生命週期掛鈎為伸縮組活動設定的等待時間,等待狀態逾時後會執行下一步動作。取值範圍:30~21600,單位:秒。

建立了生命週期掛鈎後,您可以調用RecordLifecycleActionHeartbeat延長ECS執行個體的等待時間,也可以調用CompleteLifecycleAction提前結束伸縮活動的等待狀態。

預設值:600。

VServerGroup.N.VServerGroupAttribute.N.VServerGroupId String rsp-bp1443g77****

虛擬伺服器組ID。

更多資訊,請參見AttachVServerGroups

VServerGroup.N.VServerGroupAttribute.N.Weight Integer 100

Auto Scaling將執行個體添加到虛擬伺服器組後,執行個體作為後端伺服器的權重。權重越高,執行個體將被分配到越多的訪問請求。如果權重為0,則執行個體不會收到訪問請求。取值範圍:0~100。預設值:50。

更多資訊,請參見AttachVServerGroups

VServerGroup.N.VServerGroupAttribute.N.Port Integer 22

Auto Scaling將執行個體添加到虛擬伺服器組後,執行個體使用的連接埠號碼,取值範圍:1~65535。

更多資訊,請參見AttachVServerGroups

VServerGroup.N.LoadBalancerId String lb-bp1u7etiogg38yvwz****

虛擬伺服器組所屬傳統型負載平衡CLB(原SLB)執行個體的ID。

更多資訊,請參見AttachVServerGroups

Tag.N.Key String Department

伸縮組的標籤鍵。

Tag.N.Value String Finance

伸縮組的標籤值。

Tag.N.Propagate Boolean false

標識該標籤是否為可傳播標籤,取值範圍:

  • true:伸縮組上的標籤只會傳播到新建立的執行個體上,而不會傳播到已經在伸縮組中啟動並執行執行個體上。
  • false:伸縮組上的標籤不會傳播到執行個體上。

預設值:false。

LaunchTemplateOverride.N.InstanceType String ecs.c5.xlarge

當您需要伸縮組按照執行個體規格容量進行伸縮時,請同時指定本參數和LaunchTemplateOverride.N.WeightedCapacity。

本參數用於指定執行個體規格,會覆蓋啟動模板中的執行個體規格。您可以指定N個本參數,擴充啟動模板支援N個執行個體規格。N的取值範圍:1~10。

說明 僅當LaunchTemplateId參數指定了啟動模板時,本參數生效。

InstanceType的取值範圍:在售的ECS執行個體規格,請參見執行個體規格類型系列

LaunchTemplateOverride.N.WeightedCapacity Integer 4

當您需要伸縮組按照執行個體規格容量進行伸縮時,在指定LaunchTemplateOverride.N.InstanceType後,再指定本參數。兩個參數一一對應,N需要保持一致。

本參數用於指定執行個體規格的權重,即執行個體規格的單台執行個體在伸縮組中表示的容量大小。權重越大,滿足期望容量所需的本執行個體規格的執行個體數量越少。

由於每個執行個體規格的vCPU個數、記憶體大小等效能指標會有差異,您可以根據自身需求,給不同的執行個體規格配置不同的權重。

例如:

  • 當前容量:0。
  • 期望容量:6。
  • ecs.c5.xlarge規格容量:4。

為滿足期望容量,伸縮組將為使用者擴容2台ecs.c5.xlarge執行個體。

說明 擴容時伸縮組的容量不得超過最大容量(MaxSize)與執行個體規格的最大權重之和。

WeightedCapacity的取值範圍:1~500。

LaunchTemplateOverride.N.SpotPriceLimit Float 0.025

本參數用於指定執行個體啟動模板覆蓋規格(即LaunchTemplateOverride.N.InstanceType)的競價價格上限。您可以指定N個該參數,擴充啟動模板支援N個執行個體規格。N的取值範圍:1~10。

說明 僅當LaunchTemplateId參數指定了啟動模板時,該參數才生效。
AlbServerGroup.N.AlbServerGroupId String sgp-ddwb0y0g6y9bjm****

ALB伺服器組ID。

N為ALB伺服器組的編號。一個伸縮組支援關聯的ALB伺服器組數量有限,如需查看或手動申請提升配額值,請前往配額中心

AlbServerGroup.N.Weight Integer 100

Auto Scaling將執行個體添加到ALB伺服器組後,執行個體作為後端伺服器的權重。權重越高,執行個體將被分配到越多的訪問請求。如果權重為0,則執行個體不會收到訪問請求。取值範圍:0~100。

N為ALB伺服器組的編號。

AlbServerGroup.N.Port Integer 22

Auto Scaling將執行個體添加到ALB伺服器組後,執行個體使用的連接埠號碼,取值範圍:1~65535。

N為ALB伺服器組的編號。

說明 如果N相同,Port不同,系統會預設向伸縮組關聯多個不同Port的該ALB伺服器組。
ServerGroup.N.ServerGroupId String sgp-5yc3bd9lfyh*****

伺服器組的ID。

ServerGroup.N.Type String ALB

伺服器群組類型。取值範圍:

  • ALB:表示應用型負載平衡(Application Load Balancer)。
  • NLB:表示網路型負載平衡(Network Load Balancer)。
ServerGroup.N.Weight Integer 100

Auto Scaling將執行個體添加到伺服器組後,執行個體作為後端伺服器的權重。取值範圍:0~100。

權重越高,執行個體將被分配到越多的訪問請求。如果權重為0,則執行個體不會收到訪問請求。

ServerGroup.N.Port Integer 22

Auto Scaling將執行個體添加到伺服器組後,執行個體使用的連接埠號碼。取值範圍:1~65535。

AzBalance Boolean false

伸縮組的容量是否在多個可用性區域間均衡分布(僅當MultiAZPolicy參數取值為COMPOSABLE策略時生效),取值範圍:

  • true:伸縮組的容量在多個可用性區域間均衡分布。
  • false:伸縮組的容量不在多個可用性區域間均衡分布。

預設值:false。

AllocationStrategy String priority

容量分配策略,決定了伸縮組如何選擇可用的執行個體規格類型滿足容量。容量分布策略同時對按量和搶佔式容量生效(僅當MultiAZPolicy參數取值為COMPOSABLE策略時生效)。取值範圍:

  • priority:按照配置的執行個體規格的順序建立執行個體。
  • lowestPrice:按照執行個體規格單位vCpu價格從低到高建立執行個體。

預設值:priority。

SpotAllocationStrategy String lowestPrice

搶佔式容量分布策略。您可以通過該參數單獨指定搶佔式容量的分布策略(僅當MultiAZPolicy參數取值為COMPOSABLE策略時生效)。取值範圍:

  • priority:按照配置的執行個體規格的順序建立執行個體。
  • lowestPrice:按照執行個體規格單位vCpu價格從低到高建立執行個體。

預設值:priority。

MaxInstanceLifetime Integer null

執行個體在伸縮組中存活的最大時間。單位為秒。

取值範圍:[86400, Integer.maxValue]

預設值:null。

說明 ECI類型的伸縮組或停機不收費的伸縮組不支援設定該參數。
CustomPolicyARN String acs:fc:cn-zhangjiakou:16145688****:services/ess_custom_terminate_policy.LATEST/functions/ess_custom_terminate_policy_name

自訂縮容策略Function函數ARN。僅當RemovalPolicies配置第一個移除策略為CustomPolicy時生效。

ResourceGroupId String rg-123****

新建立的伸縮組所屬的資源群組ID。

說明 將新建立的伸縮組歸屬到指定的資源群組中。如果不指定該參數,則歸屬為預設資源群組。
LoadBalancerConfig.N.LoadBalancerId String 147b46d767c-cn-qingdao-cm5****

負載平衡CLB(原SLB)執行個體的ID。

LoadBalancerConfig.N.Weight Integer 10

Auto Scaling將執行個體添加到負載平衡CLB(原SLB)伺服器組後,執行個體作為後端伺服器的權重。權重越高,執行個體將被分配到越多的訪問請求。如果權重為0,則執行個體不會收到訪問請求。

取值範圍:0~100。

HealthCheckTypes.N String ECS

伸縮組的健全狀態檢查方式列表。取值範圍:

  • NONE:不做健全狀態檢查。
  • ECS:對伸縮組內的執行個體做健全狀態檢查(ECS類型和ECI類型的伸縮組均使用本取值開啟執行個體健全狀態檢查)。
  • LOAD_BALANCER: 根據負載平衡(暫不支援負載平衡CLB類型)健全狀態檢查結果判斷執行個體健康狀態。

預設值:ECS。

DBInstance.N.DBInstanceId String rm-m5eqju85s45mu0***

資料庫執行個體ID。

DBInstance.N.Type String RDS

資料庫類型。取值範圍:

  • RDS。
  • Redis。
  • MongoDB。

預設值:RDS。

DBInstance.N.AttachMode String SecurityIp

伸縮組與資料庫關聯方式。取值範圍:

  • SecurityIp :修改IP白名單模式,通過將擴容執行個體自動添加到資料庫IP白名單(目前僅RDS資料庫支援)。
  • SecurityGroup:安全性群組模式,通過將伸縮配置安全性群組添加至資料庫安全性群組白名單,實現安全性群組下執行個體資料庫訪問。
StopInstanceTimeout Integer 60

縮容流程中等待ECS執行個體停機成功的逾時時間,單位為秒。

取值範圍:30~240。

說明
  • 該參數僅在 ScalingPolicy = release 模式下的縮容流程裡生效。
  • 如果設定了該參數,系統會最長等待StopInstanceTimeout時間將執行個體停機成功,逾時後無論執行個體是否成功停機都會繼續縮容。
  • 如果沒有設定該參數,系統會長時間等待執行個體停機成功,只有執行個體停機成功後才繼續縮容,停機失敗時,縮容流程會復原,縮容失敗。
CapacityOptions.OnDemandBaseCapacity Integer 30

已有伸縮組內所需要的按量執行個體數的最小值,當伸縮組內按量執行個體個數少於該值時,系統將優先建立按量執行個體。取值範圍:0~1000。

MultiAZPolicy參數取值為COMPOSABLE策略時,預設值為0。

CapacityOptions.OnDemandPercentageAboveBaseCapacity Integer 20

伸縮組滿足最小按量執行個體數OnDemandBaseCapacity要求後,超出的執行個體中按量執行個體應占的比例。取值範圍:0~100。

MultiAZPolicy參數取值為COMPOSABLE策略時,預設值為100。

CapacityOptions.CompensateWithOnDemand Boolean true

MultiAZPolicy取值為COST_OPTIMIZED時,如果因價格、庫存等原因無法建立足夠的搶佔式執行個體,是否允許自動嘗試建立按量執行個體滿足ECS執行個體數量要求。取值範圍:

  • true:允許。
  • false:不允許。

預設值:true。

CapacityOptions.SpotAutoReplaceOnDemand Boolean false

當開啟CompensateWithOnDemand後,如果按量比例超過OnDemandPercentageAboveBaseCapacity比例時,會嘗試使用spot替換按量容量。常見情境CompensateWithOnDemand因Spot庫存或價格原因導致Spot降級按量執行個體,為避免按量執行個體長時間存在,嘗試使用Spot替換多餘的按量容量。取值範圍:

  • true:允許。
  • false:不允許。

預設值:false。

返回資料

名稱

類型

樣本值

描述

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

請求ID。

ScalingGroupId String asg-bp14wlu85wrpchm0****

伸縮組ID。

樣本

請求樣本

http(s)://ess.aliyuncs.com/?Action=CreateScalingGroup
&ScalingGroupName=scalinggroup****
&LaunchTemplateId=lt-m5e3ofjr1zn1aw7****
&LaunchTemplateVersion=Default
&InstanceId=i-28wt4****
&RegionId=cn-qingdao
&MinSize=2
&MaxSize=20
&DefaultCooldown=300
&LoadBalancerIds=["lb-bp1u7etiogg38yvwz****", "lb-bp168cqrux9ai9l7f****", "lb-bp1jv3m9zvj22ufxp****"]
&DBInstanceIds=["rm-bp142f86de0t7****", "rm-bp18l1z42ar4o****", "rm-bp1lqr97h4aqk****"]
&RemovalPolicy.1=OldestScalingConfiguration
&RemovalPolicy.2=OldestInstance
&RemovalPolicy.3=NewestInstance
&VSwitchId=vsw-bp14zolna43z266bq****
&MultiAZPolicy=PRIORITY
&HealthCheckType=ECS
&ScalingPolicy=recycle
&ClientToken=123e4567-e89b-12d3-a456-42665544****
&OnDemandBaseCapacity=30
&OnDemandPercentageAboveBaseCapacity=20
&SpotInstanceRemedy=true
&CompensateWithOnDemand=true
&SpotInstancePools=5
&DesiredCapacity=5
&GroupDeletionProtection=true
&GroupType=ECS
&ContainerGroupId=eci-uf6fonnghi50u374****
&VSwitchIds=["vsw-bp14zolna43z266bq****"]
&LifecycleHook=[{"DefaultResult":"CONTINUE","LifecycleHookName":"lifecyclehook****","LifecycleTransition":"SCALE_OUT","NotificationMetadata":"Test","NotificationArn":"acs:ess:cn-hangzhou:1111111111:queue/queue2","HeartbeatTimeout":600}]
&VServerGroup=[{"VServerGroupAttribute":[{"VServerGroupId":"rsp-bp1443g77****","Weight":100,"Port":22}],"LoadBalancerId":"lb-bp1u7etiogg38yvwz****"}]
&Tag=[{"Key":"Department","Value":"Finance","Propagate":false}]
&LaunchTemplateOverride=[{"InstanceType":"ecs.c5.xlarge","WeightedCapacity":4,"SpotPriceLimit":0.025}]
&AlbServerGroup=[{"AlbServerGroupId":"sgp-ddwb0y0g6y9bjm****","Weight":100,"Port":22}]
&ServerGroup=[{"ServerGroupId":"sgp-5yc3bd9lfyh*****","Type":"ALB","Weight":100,"Port":22}]
&AzBalance=false
&AllocationStrategy=priority
&SpotAllocationStrategy=lowestPrice
&CustomPolicyARN=acs:fc:cn-zhangjiakou:16145688****:services/ess_custom_terminate_policy.LATEST/functions/ess_custom_terminate_policy_name
&ResourceGroupId=rg-123****
&LoadBalancerConfig=[{"LoadBalancerId":"147b46d767c-cn-qingdao-cm5****","Weight":10}]
&HealthCheckTypes=["ECS"]
&DBInstance=[{"DBInstanceId":"rm-m5eqju85s45mu0***","Type":"RDS","AttachMode":"SecurityIp"}]
&StopInstanceTimeout=60
&CapacityOptions={"OnDemandBaseCapacity":30,"OnDemandPercentageAboveBaseCapacity":20,"CompensateWithOnDemand":true,"SpotAutoReplaceOnDemand":false}
&公用請求參數

正常返回樣本

XML格式

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

<CreateScalingGroupResponse>
    <RequestId>473469C7-AA6F-4DC5-B3DB-A3DC0DE3****</RequestId>
    <ScalingGroupId>asg-bp14wlu85wrpchm0****</ScalingGroupId>
</CreateScalingGroupResponse>

JSON格式

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

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

錯誤碼

訪問錯誤中心查看更多錯誤碼。

HttpCode

錯誤碼

錯誤資訊

描述

400

IncorrectDBInstanceStatus

The current status of DB instance "XXX" does not support this action.

指定RDS執行個體的狀態必須是Running。

400

IncorrectLoadBalancerHealthCheck

The current health check type of specified load balancer does not support this action.

指定的CLB執行個體必須開啟健全狀態檢查。

400

IncorrectLoadBalancerStatus

The current status of the specified load balancer does not support this action.

指定CLB執行個體的狀態必須是active。

400

IncorrectVSwitchStatus

The current status of virtual switch does not support this operation.

虛擬交換器不可用,無法建立ECS執行個體。

400

InvalidDBInstanceId. RegionMismatch

DB instance "XXX" and the specified scaling group are not in the same Region.

指定的RDS執行個體與伸縮組必須在同一地區。

400

InvalidLoadBalancerId.IncorrectAddressType

The current address type of specified load balancer does not support this action.

指定虛擬交換器後,CLB執行個體為私網類型。

400

InvalidLoadBalancerId.IncorrectInstanceNetworkType

The network type of the instance in specified Load Balancer does not support this action.

指定的CLB執行個體內搭載的ECS執行個體的網路類型與伸縮組的網路類型必須一致。

400

InvalidLoadBalancerId.RegionMismatch

The specified Load Balancer and the specified scaling group are not in the same Region.

指定的CLB執行個體與伸縮組必須在同一地區。

400

InvalidLoadBalancerId.VPCMismatch

The specified virtual switch and the instance in specified Load Balancer are not in the same VPC.

伸縮組內的CLB執行個體搭載的ECS執行個體與虛擬交換器應該在同一個VPC中。

400

InvalidParameter

The specified value of parameter "ScalingPolicy" is not valid.

指定的回收模式參數不存在。

400

InvalidParameter.Conflict

The value of parameter &lt;parameter name&gt; and parameter &lt;parameter name&gt; are conflict.

指定的MinSize不能大於MaxSize。

400

InvalidScalingGroupName.Duplicate

The specified value of parameter &lt;parameter name&gt; is duplicated.

伸縮組名已存在。

400

QuotaExceeded.DBInstanceSecurityIP

Security IP quota exceeded in DB instance "XXX".

指定的RDS執行個體訪問白名單的IP個數達到上限。

400

QuotaExceeded.PrivateIpAddress

Private IP address quota exceeded in the specified virtual switch.

虛擬交換器無法再分配多餘的私人IP地址。

400

QuotaExceeded.ScalingGroup

Scaling group quota exceeded.

使用者的伸縮組使用個數達到上限。

400

QuotaExceeded.VPCInstance

Instance quota exceeded in the specified VPC.

該VPC內的執行個體數超過數量限制。

404

InvalidDBInstanceId.NotFound

DB instance "XXX" does not exist.

指定的RDS執行個體不存在。

404

InvalidLoadBalancerId.NotFound

The specified Load Balancer does not exist.

指定的CLB執行個體不存在。

404

InvalidRegionId.NotFound

The specified region does not exist.

指定的地區不存在。

404

InvalidVSwitchId.NotFound

The specified virtual switch does not exist.

指定的虛擬交換器不存在。

400

LaunchTemplateVersionSet.NotFound

The specific version of launch template is not exist.

執行個體啟動模板指定版本不存在。

400

LaunchTemplateSet.NotFound

The specified launch template set is not found.

指定執行個體啟動模板不存在。

400

TemplateMissingParameter.ImageId

The input parameter "ImageId" that is mandatory for processing this request is not supplied.

執行個體啟動模板指定版本缺少鏡像資訊。

400

TemplateMissingParameter.InstanceTypes

The input parameter "InstanceTypes" that is mandatory for processing this request is not supplied.

執行個體啟動模板指定版本缺少執行個體規格資訊。

400

TemplateMissingParameter.SecurityGroup

The input parameter "SecurityGroup" that is mandatory for processing this request is not supplied.

執行個體啟動模板指定版本缺少安全性群組資訊。

400

TemplateVersion.NotNumber

The input parameter "LaunchTemplateVersion" is supposed to be a string representing the version number.

指定執行個體啟動模板固定版本號碼為非數字。

400

AlbServerGroup.NotExist

The ServerGroup "%s" do(es) not exist.

帳號下不存在指定的ALB伺服器組。