全部產品
Search
文件中心

:ALIYUN::ESS::ScalingConfiguration

更新時間:Oct 25, 2024

ALIYUN::ESS::ScalingConfiguration類型用於為伸縮組建立伸縮配置。

文法

{
  "Type": "ALIYUN::ESS::ScalingConfiguration",
  "Properties": {
    "PasswordInherit": Boolean,
    "DiskMappings": List,
    "RamRoleName": String,
    "IoOptimized": String,
    "InternetChargeType": String,
    "KeyPairName": String,
    "InstanceId": String,
    "InstanceTypes": List,
    "ImageId": String,
    "ResourceGroupId": String,
    "SpotStrategy": String,
    "InstanceType": String,
    "SystemDiskCategory": String,
    "SystemDiskSize": Integer,
    "SystemDiskAutoSnapshotPolicyId": String,
    "SystemDiskPerformanceLevel": String,
    "InternetMaxBandwidthOut": Integer,
    "InstanceName": String,
    "InternetMaxBandwidthIn": Integer,
    "ScalingConfigurationName": String,
    "UserData": String,
    "DeploymentSetId": String,
    "SecurityGroupId": String,
    "SpotPriceLimit": Number,
    "HpcClusterId": String,
    "ScalingGroupId": String,
    "SpotPriceLimitForInstanceType": Map,
    "TagList": List,
    "Ipv6AddressCount": Integer,
    "LoadBalancerWeight": Integer,
    "CreditSpecification": String,
    "ImageFamily": String,
    "HostName": String,
    "Password": String,
    "SystemDiskBurstingEnabled": Boolean,
    "ImageOptionsLoginAsNonRoot": Boolean,
    "SystemDiskEncrypted": Boolean,
    "SystemDiskEncryptAlgorithm": String,
    "ZoneId": String,
    "Cpu": Integer,
    "SystemDiskProvisionedIops": Integer,
    "SystemDiskKMSKeyId": String,
    "InstancePatternInfos": List,
    "SpotInterruptionBehavior": String,
    "ImageName": String,
    "SystemDiskDescription": String,
    "SystemDiskDiskName": String,
    "InstanceTypeOverrides": List,
    "SystemDiskCategories": List,
    "Memory": Integer,
    "InstanceDescription": String,
    "SecurityGroupIds": List,
    "SpotDuration": Integer,
    "SecurityEnhancementStrategy": String,
    "Affinity": String,
    "Tenancy": String,
    "PrivatePoolOptions": Map,
    "DedicatedHostId": String
  }
}

屬性

屬性名稱

類型

必須

允許更新

描述

約束

ResourceGroupId

String

執行個體所在的資源群組ID。

DeploymentSetId

String

部署集ID。

HpcClusterId

String

執行個體所屬的EHPC叢集ID。

ScalingGroupId

String

伸縮配置所屬的伸縮組ID。

DiskMappings

List

需要掛載的磁碟。

最多支援16塊磁碟。

更多資訊,請參見DiskMappings屬性

InternetChargeType

String

公網訪問頻寬計費方式。

取值:

  • PayByBandwidth:按固定頻寬計費。

  • PayByTraffic(預設值):按流量計費。

InternetMaxBandwidthIn

Integer

公網最大入網頻寬。

單位:Mbps。

取值範圍:1~200。

如果您沒有指定該參數,則入頻寬將自動被設定為200 Mbps。執行個體的入資料流量免費,該參數在任何情況下都不涉及計費。

InternetMaxBandwidthOut

Integer

公網最大出網頻寬。

取值範圍:

  • 按固定頻寬計費:0~100。預設值:0。

  • 按流量計費:0~100。此時,該參數為必選參數。

單位:Mbps。

InstanceId

String

伸縮配置的執行個體ID。

SystemDiskCategory

String

系統硬碟類型。

取值:

  • cloud:普通雲端硬碟。

  • cloud_efficiency:高效雲端硬碟。

  • cloud_ssd:SSD雲端硬碟。

  • ephemeral_ssd:本地SSD盤。

  • cloud_essd:ESSD雲端硬碟。

當InstanceType為I系列的執行個體規格且執行個體屬於非I/O最佳化執行個體時,預設值為cloud,否則,預設值為cloud_efficiency。

ImageId

String

執行個體的鏡像ID,包括公用鏡像、自訂鏡像和雲市場鏡像。

更多資訊,請參見公用鏡像概述

InstanceType

String

執行個體規格。

更多資訊,請參見執行個體規格類型系列

SecurityGroupId

String

執行個體所屬的安全性群組。

IoOptimized

String

是否建立I/O最佳化執行個體。

取值:

  • none(預設值):非I/O最佳化。

  • optimized:I/O最佳化。

ScalingConfigurationName

String

伸縮配置的名稱。

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

在同一地區下同一伸縮組內伸縮配置名稱唯一。

如果您沒有指定本參數,則預設使用伸縮配置的ID。

KeyPairName

String

執行個體綁定的金鑰組名稱。

  • 如果執行個體類型為Windows執行個體,則此參數將被忽略,預設值為空白。

  • 如果執行個體類型為Linux執行個體,則密碼登入方式會被初始化成禁止。

RamRoleName

String

執行個體RAM角色名稱。

您可以使用RAM API ListRoles查詢執行個體RAM角色名稱。更多資訊,請參見CreateRole - 建立角色ListRoles - 擷取角色列表

SystemDiskSize

Integer

系統硬碟大小。

取值範圍:20~500。

預設值:40。

單位:GiB。

如果使用自訂鏡像建立系統硬碟,則系統硬碟大小必須大於等於自訂鏡像大小。

SystemDiskPerformanceLevel

String

建立ESSD雲端硬碟作為系統硬碟使用時,設定雲端硬碟的效能等級。

取值:

  • PL1(預設值):單盤最高隨機讀寫IOPS為5萬。

  • PL2:單盤最高隨機讀寫IOPS為10萬。

  • PL3:單盤最高隨機讀寫IOPS為100萬。

有關如何選擇ESSD效能等級,請參見ESSD雲端硬碟

UserData

String

建立執行個體時傳遞的使用者資料。

內容需要限制在16KB以內,無需Base64轉碼,特殊字元需要使用反斜線(\)轉義。

InstanceTypes

List

多執行個體規格參數。

如果指定了InstanceTypes,則InstanceType無效。

一個伸縮配置內最多可以設定10種執行個體規格,優先順序按列表元素的順序依次降低。當無法根據優先順序較高的執行個體規格建立出執行個體時,Auto Scaling服務會自動選擇下一優先順序的執行個體規格來建立執行個體。

PasswordInherit

Boolean

是否使用鏡像預設的密碼。

如果使用鏡像預設的密碼,您需要確保所用鏡像已經預設了密碼。

TagList

List

執行個體標籤。

標籤以索引值對方式傳入,最多可以使用5組標籤,格式為{"key1": "value1", "key2": "value2", ... "key5": "value5"}

更多資訊,請參見TagList屬性

Ipv6AddressCount

Integer

為彈性網卡指定隨機產生的IPv6地址數量。

LoadBalancerWeight

Integer

ECS執行個體作為負載平衡後端伺服器時的權重。

取值範圍:1~100。

預設值:50。

CreditSpecification

String

突發效能執行個體的運行模式。

取值:

  • Unlimited(預設值):無效能約束模式。

  • Standard:標準模式。

關於執行個體效能的更多資訊,請參見效能模式

ImageFamily

String

鏡像族系名稱。

通過設定該參數來擷取當前鏡像族系內最新可用鏡像,用於建立執行個體。如果已經設定了參數ImageId,則不能設定該參數。

SpotStrategy

String

後付費執行個體的搶佔策略。

取值:

  • NoSpot(預設值):正常隨用隨付執行個體。

  • SpotWithPriceLimit:設定上限價格的搶佔式執行個體。

  • SpotAsPriceGo:系統自動出價,跟隨當前市場實際價格。

InstanceName

String

基於當前伸縮配置建立的執行個體的名稱。

SpotPriceLimit

Number

執行個體每小時的最高價格。

支援最多3位小數。

當SpotStrategy取值為SpotWithPriceLimit時該參數生效,且取值會被SpotPriceLimitForInstanceType的取值所覆蓋。

SpotPriceLimitForInstanceType

Map

搶佔式執行個體的執行個體規格和對應的出價。

格式:{"<instance_type_1>": <price_limit_1>, ..., {"<instance_type_10>": <price_limit_10>}

當SpotStrategy取值為SpotWithPriceLimit時該參數生效。

最多可設定10組執行個體和價格。

SystemDiskAutoSnapshotPolicyId

String

系統硬碟使用的自動快照策略ID。

HostName

String

雲端服務器的主機名稱。

半形句號(.)或短劃線(-)不能作為首尾字元,不能連續使用半形句號(.)或短劃線(-)。

不同類型執行個體的命名要求如下:

  • Windows執行個體:主機名稱長度為2~15,可以包含大小寫字母、數字和短劃線(-)。不能包含半形句號(.),不能全是數字。

  • 其他類型執行個體(Linux等):主機名稱長度為2~64,可以包含多個半形句號(.)。兩個半形句號(.)之間為一段,每段可以包含大小寫字母、數字和短劃線(-)。

Password

String

ECS執行個體的密碼。

長度為8至30個字元,必須同時包含大小寫英文字母、數字和特殊符號中的三類字元。特殊符號可以是:

()` ~!@#$%^&*-_+=\|{}[]:;'<>,.?/

Windows執行個體不能以斜線號(/)為密碼首字元。

說明

如果傳入Password參數,建議您使用HTTPS協議發送請求,避免密碼泄露。

SystemDiskBurstingEnabled

Boolean

系統硬碟是否開啟Burst(效能突發)。

取值:

  • true:開啟。

  • false:未開啟。

ImageOptionsLoginAsNonRoot

Boolean

ECS 執行個體是否使用ecs-user使用者登入。

取值:

  • true:是。

  • false:否。

SystemDiskEncrypted

Boolean

系統硬碟是否加密。

取值:

  • true:加密。

  • false:不加密。

SystemDiskEncryptAlgorithm

String

系統硬碟採用的密碼編譯演算法。

取值:

  • AES-256。

  • SM4-128。

ZoneId

String

執行個體所屬的可用性區域ID。

Cpu

Integer

vCPU個數。

同時指定CPU和Memory可以定義執行個體規格範圍,例如,CPU=2且Memory=16可以定義配置為2 vCPU和16 GiB的所有執行個體規格。Auto Scaling會結合IO最佳化、可用性區域等因素確定可用執行個體規格集合,並根據價格排序為您建立價格最低的執行個體。

SystemDiskProvisionedIops

Integer

系統硬碟預配置的IOPS(Input/Output Operations Per Second)效能指標。

SystemDiskKMSKeyId

String

系統硬碟使用的KMS密鑰ID。

InstancePatternInfos

List

智能配置的資訊集合。

更多資訊,請參見InstancePatternInfos屬性。

SpotInterruptionBehavior

String

搶佔執行個體中斷模式。

ImageName

String

鏡像檔案名稱。

SystemDiskDescription

String

系統硬碟的描述。

SystemDiskDiskName

String

系統硬碟的名稱。

InstanceTypeOverrides

List

用於指定的執行個體規格相關資訊。

更多資訊,請參見InstanceTypeOverrides屬性

SystemDiskCategories

List

系統硬碟的多磁碟類型。

當無法使用高優先順序的磁碟類型時,Auto Scaling自動嘗試下一優先順序的磁碟類型建立系統硬碟。取值範圍:

  • cloud:普通雲端硬碟。

  • cloud_efficiency:高效雲端硬碟。

  • cloud_ssd:SSD雲端硬碟。

  • cloud_essd:ESSD雲端硬碟。

Memory

Integer

記憶體大小。

單位:GiB。

同時指定CPU和Memory可以定義執行個體規格範圍。例如,CPU=2且Memory=16可以定義配置為2 vCPU和16 GiB的所有執行個體規格。Auto Scaling會結合IO最佳化、可用性區域等因素確定可用執行個體規格集合,並根據價格排序為您建立價格最低的執行個體。

InstanceDescription

String

ECS執行個體的描述。

長度為2~256個英文或中文字元,不能以http://https://開頭。

SecurityGroupIds

List

將ECS執行個體同時加入多個安全性群組。

說明

不支援同時指定SecurityGroupId和SecurityGroupIds。

SpotDuration

Integer

搶佔式執行個體的保留時間長度。

單位為小時。取值範圍:

  • 1:建立後阿里雲會保證執行個體運行1小時不會被自動釋放;超過1小時後,系統會自動比較出價與市場價格、檢查資產庫存,來決定執行個體的保留或回收。

  • 0:建立後,阿里雲不能保證執行個體運行1小時,系統會自動比較出價與市場價格、檢查資產庫存,來決定執行個體的保留或回收。

SecurityEnhancementStrategy

String

是否開啟安全強化。

取值範圍:

  • Active:啟用安全強化,只對公用鏡像生效。

  • Deactive:不啟用安全強化,對所有鏡像類型生效。

Affinity

String

Dedicated Host執行個體是否與Dedicated Host關聯。

取值範圍:

  • default:執行個體不與Dedicated Host關聯。已啟用節省停機模式的執行個體,停機後再次啟動時,若原Dedicated Host可用資源不足,則執行個體被放置在自動部署資源集區的其它Dedicated Host上。

  • host:執行個體與Dedicated Host關聯。已啟用節省停機模式的執行個體,停機後再次啟動時,仍放置在原Dedicated Host上。若原Dedicated Host可用資源不足,則執行個體重啟失敗。

Tenancy

String

是否在Dedicated Host上建立執行個體。

取值範圍:

  • default:建立非Dedicated Host執行個體。

  • host:建立Dedicated Host執行個體。若您不指定 DedicatedHostId,則由阿里雲自動選擇Dedicated Host放置執行個體。

PrivatePoolOptions

Map

執行個體啟動的私人池配置

更多資訊,請參見PrivatePoolOptions屬性

DedicatedHostId

String

是否在Dedicated Host上建立ECS執行個體。

由於Dedicated Host不支援建立搶佔式執行個體,指定DedicatedHostId參數後,會自動忽略請求中的SpotStrategy和SpotPriceLimit設定。

您可以調用DescribeDedicatedHosts 介面查詢Dedicated HostID列表。

DiskMappings文法

"DiskMappings": [
  {
    "Category": String,
    "DiskName": String,
    "Description": String,
    "AutoSnapshotPolicyId": String,
    "PerformanceLevel": String,
    "Encrypted": String,
    "KMSKeyId": String,
    "Device": String,
    "SnapshotId": String,
    "Size": String,
    "DeleteWithInstance": Boolean,
    "ProvisionedIops": Integer,
    "Categories": List,
    "BurstingEnabled": Boolean
  }
]

DiskMappings屬性

屬性名稱

類型

必須

允許更新

描述

約束

Size

String

資料盤磁碟大小。

取值:

  • cloud:5~2000。

  • cloud_efficiency:20~32,768。

  • cloud_ssd:20~32,768。

  • cloud_essd:20~32,768。

  • ephemeral_ssd:5~800。

單位:GB。

指定該參數後,磁碟大小必須大於等於快照大小(快照通過SnapshotId指定)。

Category

String

資料盤類型。

取值:

  • cloud:普通雲端硬碟。

  • cloud_efficiency(預設值):高效雲端硬碟。

  • cloud_ssd:SSD雲端硬碟。

  • ephemeral_ssd:本地SSD盤。

  • cloud_essd:ESSD雲端硬碟。

對於I/O最佳化執行個體,預設值為cloud_efficiency;對於非I/O最佳化執行個體,預設值為cloud。

DiskName

String

資料盤名稱。

長度為2~128個字元。

必須以英文字母或漢字開頭,不能以http://https:// 開頭。

可以包含數字、英文字母、漢字、半形冒號(:)、底線(_)和短劃線(-)。

PerformanceLevel

String

建立ESSD雲端硬碟作為資料盤使用時,設定雲端硬碟的效能等級。

取值:

  • PL1(預設值):單盤最高隨機讀寫IOPS為5萬。

  • PL2:單盤最高隨機讀寫IOPS為10萬。

  • PL3:單盤最高隨機讀寫IOPS為100萬。

有關如何選擇ESSD效能等級,請參見ESSD雲端硬碟

Description

String

資料盤描述。

長度為2~256個字元。不能以http://https://開頭。

Device

String

資料盤掛載點。

如果該參數值未指定,則預設將在自動建立ECS執行個體時由系統分配,取值從/dev/xvdb開始,到/dev/xvdz結束。

SnapshotId

String

建立資料盤時使用的快照。

指定該參數後,Size會被忽略,實際建立的磁碟大小為指定快照的大小。如果快照建立於2013年7月15日或之前,調用快照會被拒絕,返回參數中會提示InvalidSnapshot.TooOld。

Encrypted

String

資料盤是否加密。

取值:

  • true:加密。

  • false(預設值):不加密。

KMSKeyId

String

資料盤對應的KMS密鑰ID。

AutoSnapshotPolicyId

String

資料盤使用的自動快照策略ID。

DeleteWithInstance

Boolean

資料盤是否隨執行個體釋放。

取值範圍:

  • true:釋放執行個體時,該磁碟隨執行個體一起釋放。

  • false:釋放執行個體時,該磁碟保留不釋放。

ProvisionedIops

Integer

資料盤預配置的 IOPS(Input/Output Operations Per Second)效能指標。

說明

IOPS(Input/Output Operations Per Second)指每秒能處理的 I/O 個數,表示Block Storage處理讀寫(輸出/輸入)的能力,單位為次。

Categories

List

資料盤的多磁碟類型。

第一個磁碟類型優先順序最高,其他磁碟類型的優先順序依次遞減。當無法使用高優先順序的磁碟類型時,Auto Scaling自動嘗試下一優先順序的磁碟類型建立資料盤。取值範圍:

  • cloud:普通雲端硬碟。隨執行個體建立的普通雲端硬碟的 DeleteWithInstance 屬性為 true。

  • cloud_efficiency:高效雲端硬碟。

  • cloud_ssd:SSD 雲端硬碟。

  • cloud_essd:ESSD 雲端硬碟。

BurstingEnabled

Boolean

資料盤是否開啟 Burst(效能突發)。

可能值:

  • true:開啟。

  • false:未開啟。

PrivatePoolOptions文法

"PrivatePoolOptions": 
  {
    "MatchCriteria": String,
    "Id": String
  }

PrivatePoolOptions屬性

屬性名稱

類型

必須

允許更新

描述

約束

MatchCriteria

String

執行個體啟動的私人池容量選項。

彈性保障服務或容量預定服務在生效後會產生私人池容量,供執行個體啟動時選擇。取值範圍:

  • Open:開放模式。將自動匹配開放類型的私人池容量。如果沒有合格私人池容量,則使用公用池資源啟動。該模式下無需設定PrivatePoolOptions.Id參數。

  • Target:指定模式。使用指定的私人池容量啟動執行個體,如果該私人池容量不可用,則執行個體會啟動失敗。該模式下必須指定私人池ID,即PrivatePoolOptions.Id 參數為必填項。

  • None:不使用模式。執行個體啟動將不使用私人池容量。

Id

String

私人池ID。

即彈性保障服務ID或容量預定服務ID。

InstanceTypeOverrides文法

"InstanceTypeOverrides": [
  {
    "InstanceType": String,
    "WeightedCapacity": Integer
  }
]

InstanceTypeOverrides屬性

屬性名稱

類型

必須

允許更新

描述

約束

InstanceType

String

指定執行個體規格。

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

WeightedCapacity

Integer

指定執行個體規格的權重。

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

例如:

  • 當前容量:0。

  • 期望容量:6。

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

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

InstancePatternInfos文法

"InstancePatternInfos": [
  {
    "BurstablePerformance": String,
    "Architectures": List,
    "InstanceFamilyLevel": String,
    "Memory": Number,
    "MaxPrice": Number,
    "ExcludedInstanceTypes": List,
    "Cores": Integer
  }
]

InstancePatternInfos屬性

屬性名稱

類型

必須

允許更新

描述

約束

BurstablePerformance

String

是否為效能突發執行個體規格。

取值範圍:

  • Exclude:不包含效能突發執行個體規格。

  • Include:包含效能突發執行個體規格。

  • Required:只包含效能突發執行個體規格。

預設值:Include。

Architectures

List

執行個體規格所屬的架構類型。

取值範圍:

  • X86:X86計算。

  • Heterogeneous:異構計算,例如GPU或FPGA等。

  • BareMental:ECS Bare Metal Instance。

  • Arm:Arm計算。

  • SuperComputeCluster:Super Computing Cluster。

預設值:包含所有架構類型。

InstanceFamilyLevel

String

執行個體規格類型系列層級。

用於篩選符合要求的執行個體規格範圍,當CostOptimization開啟時生效。取值範圍:

  • EntryLevel:入門級,即共用型執行個體規格。成本更低,但是無法保證執行個體計算效能的穩定。適用於平時CPU使用率低的業務情境。更多資訊,請參見共用型

  • EnterpriseLevel:企業級。效能穩定且資源獨享,適用於對穩定性要求高的業務情境。更多資訊,請參見執行個體規格類型系列

  • CreditEntryLevel:積分入門級,即突發效能執行個體。通過CPU積分來保證計算效能,適用於平時CPU使用率低、偶有突發CPU使用率的業務情境。更多資訊,請參見突發效能執行個體概述

Memory

Number

智能配置模式下,執行個體規格的記憶體大小。

單位為GiB,用於篩選符合要求的執行個體規格範圍。

MaxPrice

Number

智能配置模式下,隨用隨付執行個體或者搶佔式執行個體可接受的每小時最高價格。

無。

ExcludedInstanceTypes

List

需要排除的執行個體規格。

通過使用萬用字元(*)可以排除單個規格或者整個規格類型系列。例如:

  • ecs.c6.large:表示排除 ecs.c6.large 執行個體規格。

  • ecs.c6.*:表示排除整個 c6 規格類型系列的執行個體規格。

Cores

Integer

智能配置模式下,執行個體規格的vCPU核心數目。

用於篩選符合要求的執行個體規格範圍。更多資訊,請參見執行個體規格類型系列

請注意以下資訊:

  • InstancePatternInfos 參數僅適用於伸縮組的網路類型為專用網路。

  • InstancePatternInfos 參數必須同時配置InstancePatternInfos.Cores和InstancePatternInfos.Memory。

  • 如果您已經通過InstanceType或InstanceTypes參數指定了執行個體規格,Auto Scaling優先使用您指定的執行個體規格擴容,當指定的執行個體規格無庫存時,再從符合InstancePatternInfos參數值的執行個體規格中優先使用價格最低的執行個體規格擴容。

TagList文法

"TagList": [
  {
    "Key": String,
    "Value": String
  }
]

TagList屬性

屬性名稱

類型

必須

允許更新

描述

約束

Key

String

標籤鍵。

長度為1~64個字元,不能以aliyunacs:開頭,不能包含http://https://

Value

String

標籤值。

長度為0~128個字元,不能以aliyunacs:開頭,不能包含http://https://

傳回值

Fn::GetAtt

  • ScalingConfigurationId:伸縮配置的ID。由系統產生,全域唯一。

  • ScalingGroupId:伸縮配置所屬的伸縮組ID。

樣本

YAML格式

ROSTemplateFormatVersion: '2015-09-01'
Description: Test ESS ScalingConfiguration
Parameters:
  AutoScalingGroupId:
    Type: String
    AssociationProperty: ALIYUN::ESS::AutoScalingGroup::AutoScalingGroupId
  SecurityGroupId:
    Type: String
    AssociationProperty: ALIYUN::ECS::SecurityGroup::SecurityGroupId
    Label:
      zh-cn: 安全性群組ID
      en: Security Group ID
  ImageId:
    Type: String
    AssociationProperty: ALIYUN::ECS::Image::ImageId
    AssociationPropertyMetadata:
      SupportedImageOwnerAlias:
        - system
        - self
        - others
Resources:
  ScalingConfiguration:
    Type: ALIYUN::ESS::ScalingConfiguration
    Properties:
      InstanceType: ecs.c5.large
      ImageId:
        Ref: ImageId
      SystemDiskCategory: cloud_essd
      SystemDiskSize: 40
      ScalingConfigurationName: mytest
      ScalingGroupId:
        Ref: AutoScalingGroupId
      SecurityGroupId:
        Ref: SecurityGroupId
Outputs: {}

JSON格式

{
  "ROSTemplateFormatVersion": "2015-09-01",
  "Description": "Test ESS ScalingConfiguration",
  "Parameters": {
    "AutoScalingGroupId": {
      "Type": "String",
      "AssociationProperty": "ALIYUN::ESS::AutoScalingGroup::AutoScalingGroupId"
    },
    "SecurityGroupId": {
      "Type": "String",
      "AssociationProperty": "ALIYUN::ECS::SecurityGroup::SecurityGroupId",
      "Label": {
        "zh-cn": "安全性群組ID",
        "en": "Security Group ID"
      }
    },
    "ImageId": {
      "Type": "String",
      "AssociationProperty": "ALIYUN::ECS::Image::ImageId",
      "AssociationPropertyMetadata": {
        "SupportedImageOwnerAlias": ["system", "self", "others"]
      }
    }
  },
  "Resources": {
    "ScalingConfiguration": {
      "Type": "ALIYUN::ESS::ScalingConfiguration",
      "Properties": {
        "InstanceType": "ecs.c5.large",
        "ImageId": {
          "Ref": "ImageId"
        },
        "SystemDiskCategory": "cloud_essd",
        "SystemDiskSize": 40,
        "ScalingConfigurationName": "mytest",
        "ScalingGroupId": {
          "Ref": "AutoScalingGroupId"
        },
        "SecurityGroupId": {
          "Ref": "SecurityGroupId"
        }
      }
    }
  },
  "Outputs": {
  }
}

當伸縮組中僅定義了一個伸縮組配置,且伸縮組配置中包含依賴的其他資源,您需要在定義資源模板時為伸縮組設定DependsOn屬性,對伸縮組配置依賴的其他資源設定資源依賴關聯。

伸縮組ScalingGroup設定DependsOn依賴關係到安全性群組SecurityGroup,因為伸縮組配置ScalingConfiguration依賴安全性群組SecurityGroup資源。

ROSTemplateFormatVersion: '2015-09-01'
Parameters:
  VpcId:
    AssociationProperty: ALIYUN::ECS::VPC::VPCId
    Type: String
  VSwitchId:
    AssociationProperty: ALIYUN::ECS::VSwitch::VSwitchId
    Type: String
    AssociationPropertyMetadata:
      VpcId: VpcId
Resources:
  ScalingGroupEnable:
    Type: ALIYUN::ESS::ScalingGroupEnable
    Properties:
      ScalingConfigurationId:
        Ref: ScalingConfiguration
      ScalingGroupId:
        Ref: ScalingGroup
      ScalingRuleArisExecuteVersion: 0
  SecurityGroup:
    Type: ALIYUN::ECS::SecurityGroup
    Properties:
      SecurityGroupName:
        Ref: ALIYUN::StackName
      VpcId:
        Ref: VpcId
      SecurityGroupIngress:
        - PortRange: '-1/-1'
          Priority: 1
          SourceCidrIp: 0.0.X.X/0
          IpProtocol: all
          NicType: internet
      SecurityGroupEgress:
        - PortRange: '-1/-1'
          Priority: 1
          IpProtocol: all
          DestCidrIp: 0.0.X.X/0
          NicType: internet
        - PortRange: '-1/-1'
          Priority: 1
          IpProtocol: all
          DestCidrIp: 0.0.X.X/0
          NicType: intranet
  ScalingConfiguration:
    Type: ALIYUN::ESS::ScalingConfiguration
    DependsOn: ScalingGroup
    Properties:
      InstanceType: ecs.g6e.large
      ImageId: centos_7_04_64_20G_alibase_201701015.vhd
      SystemDiskCategory: cloud_essd
      SystemDiskSize: 100
      ScalingConfigurationName:
        Ref: ALIYUN::StackName
      ScalingGroupId:
        Ref: ScalingGroup
      SecurityGroupId:
        Ref: SecurityGroup
  ScalingGroup:
    Type: ALIYUN::ESS::ScalingGroup
    DependsOn: SecurityGroup
    Properties:
      MaxSize: 3
      MinSize: 0
      DefaultCooldown: 15
      VpcId:
        Ref: VpcId
      VSwitchId:
        Ref: VSwitchId
Outputs: {}