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 | 否 | 是 | 公網訪問頻寬計費方式。 | 取值:
|
InternetMaxBandwidthIn | Integer | 否 | 否 | 公網最大入網頻寬。 | 單位:Mbps。 取值範圍:1~200。 如果您沒有指定該參數,則入頻寬將自動被設定為200 Mbps。執行個體的入資料流量免費,該參數在任何情況下都不涉及計費。 |
InternetMaxBandwidthOut | Integer | 否 | 是 | 公網最大出網頻寬。 | 取值範圍:
單位:Mbps。 |
InstanceId | String | 否 | 否 | 伸縮配置的執行個體ID。 | 無 |
SystemDiskCategory | String | 否 | 是 | 系統硬碟類型。 | 取值:
當InstanceType為I系列的執行個體規格且執行個體屬於非I/O最佳化執行個體時,預設值為cloud,否則,預設值為cloud_efficiency。 |
ImageId | String | 否 | 是 | 執行個體的鏡像ID,包括公用鏡像、自訂鏡像和雲市場鏡像。 | 更多資訊,請參見公用鏡像概述。 |
InstanceType | String | 否 | 是 | 執行個體規格。 | 更多資訊,請參見執行個體規格類型系列。 |
SecurityGroupId | String | 否 | 是 | 執行個體所屬的安全性群組。 | 無 |
IoOptimized | String | 否 | 是 | 是否建立I/O最佳化執行個體。 | 取值:
|
ScalingConfigurationName | String | 否 | 是 | 伸縮配置的名稱。 | 長度為2~64個字元,以數字、英文字母或漢字開頭,可包含數字、英文字母、漢字、底線(_)、短劃線(-)和半形句號(.)。 在同一地區下同一伸縮組內伸縮配置名稱唯一。 如果您沒有指定本參數,則預設使用伸縮配置的ID。 |
KeyPairName | String | 否 | 是 | 執行個體綁定的金鑰組名稱。 |
|
RamRoleName | String | 否 | 是 | 執行個體RAM角色名稱。 | 您可以使用RAM API ListRoles查詢執行個體RAM角色名稱。更多資訊,請參見CreateRole - 建立角色和ListRoles - 擷取角色列表。 |
SystemDiskSize | Integer | 否 | 是 | 系統硬碟大小。 | 取值範圍:20~500。 預設值:40。 單位:GiB。 如果使用自訂鏡像建立系統硬碟,則系統硬碟大小必須大於等於自訂鏡像大小。 |
SystemDiskPerformanceLevel | String | 否 | 是 | 建立ESSD雲端硬碟作為系統硬碟使用時,設定雲端硬碟的效能等級。 | 取值:
有關如何選擇ESSD效能等級,請參見ESSD雲端硬碟。 |
UserData | String | 否 | 是 | 建立執行個體時傳遞的使用者資料。 | 內容需要限制在16KB以內,無需Base64轉碼,特殊字元需要使用反斜線(\)轉義。 |
InstanceTypes | List | 否 | 是 | 多執行個體規格參數。 | 如果指定了InstanceTypes,則InstanceType無效。 一個伸縮配置內最多可以設定10種執行個體規格,優先順序按列表元素的順序依次降低。當無法根據優先順序較高的執行個體規格建立出執行個體時,Auto Scaling服務會自動選擇下一優先順序的執行個體規格來建立執行個體。 |
PasswordInherit | Boolean | 否 | 是 | 是否使用鏡像預設的密碼。 | 如果使用鏡像預設的密碼,您需要確保所用鏡像已經預設了密碼。 |
TagList | List | 否 | 是 | 執行個體標籤。 | 標籤以索引值對方式傳入,最多可以使用5組標籤,格式為 更多資訊,請參見TagList屬性。 |
Ipv6AddressCount | Integer | 否 | 是 | 為彈性網卡指定隨機產生的IPv6地址數量。 | 無 |
LoadBalancerWeight | Integer | 否 | 是 | ECS執行個體作為負載平衡後端伺服器時的權重。 | 取值範圍:1~100。 預設值:50。 |
CreditSpecification | String | 否 | 是 | 突發效能執行個體的運行模式。 | 取值:
關於執行個體效能的更多資訊,請參見效能模式。 |
ImageFamily | String | 否 | 是 | 鏡像族系名稱。 | 通過設定該參數來擷取當前鏡像族系內最新可用鏡像,用於建立執行個體。如果已經設定了參數ImageId,則不能設定該參數。 |
SpotStrategy | String | 否 | 是 | 後付費執行個體的搶佔策略。 | 取值:
|
InstanceName | String | 否 | 是 | 基於當前伸縮配置建立的執行個體的名稱。 | 無 |
SpotPriceLimit | Number | 否 | 是 | 執行個體每小時的最高價格。 | 支援最多3位小數。 當SpotStrategy取值為SpotWithPriceLimit時該參數生效,且取值會被SpotPriceLimitForInstanceType的取值所覆蓋。 |
SpotPriceLimitForInstanceType | Map | 否 | 是 | 搶佔式執行個體的執行個體規格和對應的出價。 | 格式: 當SpotStrategy取值為SpotWithPriceLimit時該參數生效。 最多可設定10組執行個體和價格。 |
SystemDiskAutoSnapshotPolicyId | String | 否 | 是 | 系統硬碟使用的自動快照策略ID。 | 無 |
HostName | String | 否 | 是 | 雲端服務器的主機名稱。 | 半形句號(.)或短劃線(-)不能作為首尾字元,不能連續使用半形句號(.)或短劃線(-)。 不同類型執行個體的命名要求如下:
|
Password | String | 否 | 是 | ECS執行個體的密碼。 | 長度為8至30個字元,必須同時包含大小寫英文字母、數字和特殊符號中的三類字元。特殊符號可以是:
Windows執行個體不能以斜線號(/)為密碼首字元。 說明 如果傳入Password參數,建議您使用HTTPS協議發送請求,避免密碼泄露。 |
SystemDiskBurstingEnabled | Boolean | 否 | 否 | 系統硬碟是否開啟Burst(效能突發)。 | 取值:
|
ImageOptionsLoginAsNonRoot | Boolean | 否 | 否 | ECS 執行個體是否使用ecs-user使用者登入。 | 取值:
|
SystemDiskEncrypted | Boolean | 否 | 是 | 系統硬碟是否加密。 | 取值:
|
SystemDiskEncryptAlgorithm | String | 否 | 是 | 系統硬碟採用的密碼編譯演算法。 | 取值:
|
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自動嘗試下一優先順序的磁碟類型建立系統硬碟。取值範圍:
|
Memory | Integer | 否 | 是 | 記憶體大小。 | 單位:GiB。 同時指定CPU和Memory可以定義執行個體規格範圍。例如,CPU=2且Memory=16可以定義配置為2 vCPU和16 GiB的所有執行個體規格。Auto Scaling會結合IO最佳化、可用性區域等因素確定可用執行個體規格集合,並根據價格排序為您建立價格最低的執行個體。 |
InstanceDescription | String | 否 | 是 | ECS執行個體的描述。 | 長度為2~256個英文或中文字元,不能以 |
SecurityGroupIds | List | 否 | 是 | 將ECS執行個體同時加入多個安全性群組。 | 說明 不支援同時指定SecurityGroupId和SecurityGroupIds。 |
SpotDuration | Integer | 否 | 是 | 搶佔式執行個體的保留時間長度。 | 單位為小時。取值範圍:
|
SecurityEnhancementStrategy | String | 否 | 否 | 是否開啟安全強化。 | 取值範圍:
|
Affinity | String | 否 | 是 | Dedicated Host執行個體是否與Dedicated Host關聯。 | 取值範圍:
|
Tenancy | String | 否 | 是 | 是否在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 | 否 | 否 | 資料盤磁碟大小。 | 取值:
單位:GB。 指定該參數後,磁碟大小必須大於等於快照大小(快照通過SnapshotId指定)。 |
Category | String | 否 | 否 | 資料盤類型。 | 取值:
對於I/O最佳化執行個體,預設值為cloud_efficiency;對於非I/O最佳化執行個體,預設值為cloud。 |
DiskName | String | 否 | 否 | 資料盤名稱。 | 長度為2~128個字元。 必須以英文字母或漢字開頭,不能以 可以包含數字、英文字母、漢字、半形冒號(:)、底線(_)和短劃線(-)。 |
PerformanceLevel | String | 否 | 否 | 建立ESSD雲端硬碟作為資料盤使用時,設定雲端硬碟的效能等級。 | 取值:
有關如何選擇ESSD效能等級,請參見ESSD雲端硬碟。 |
Description | String | 否 | 否 | 資料盤描述。 | 長度為2~256個字元。不能以 |
Device | String | 否 | 否 | 資料盤掛載點。 | 如果該參數值未指定,則預設將在自動建立ECS執行個體時由系統分配,取值從 |
SnapshotId | String | 否 | 否 | 建立資料盤時使用的快照。 | 指定該參數後,Size會被忽略,實際建立的磁碟大小為指定快照的大小。如果快照建立於2013年7月15日或之前,調用快照會被拒絕,返回參數中會提示InvalidSnapshot.TooOld。 |
Encrypted | String | 否 | 否 | 資料盤是否加密。 | 取值:
|
KMSKeyId | String | 否 | 否 | 資料盤對應的KMS密鑰ID。 | 無 |
AutoSnapshotPolicyId | String | 否 | 否 | 資料盤使用的自動快照策略ID。 | 無 |
DeleteWithInstance | Boolean | 否 | 否 | 資料盤是否隨執行個體釋放。 | 取值範圍:
|
ProvisionedIops | Integer | 否 | 否 | 資料盤預配置的 IOPS(Input/Output Operations Per Second)效能指標。 | 說明 IOPS(Input/Output Operations Per Second)指每秒能處理的 I/O 個數,表示Block Storage處理讀寫(輸出/輸入)的能力,單位為次。 |
Categories | List | 否 | 否 | 資料盤的多磁碟類型。 | 第一個磁碟類型優先順序最高,其他磁碟類型的優先順序依次遞減。當無法使用高優先順序的磁碟類型時,Auto Scaling自動嘗試下一優先順序的磁碟類型建立資料盤。取值範圍:
|
BurstingEnabled | Boolean | 否 | 否 | 資料盤是否開啟 Burst(效能突發)。 | 可能值:
|
PrivatePoolOptions文法
"PrivatePoolOptions":
{
"MatchCriteria": String,
"Id": String
}
PrivatePoolOptions屬性
屬性名稱 | 類型 | 必須 | 允許更新 | 描述 | 約束 |
MatchCriteria | String | 否 | 是 | 執行個體啟動的私人池容量選項。 | 彈性保障服務或容量預定服務在生效後會產生私人池容量,供執行個體啟動時選擇。取值範圍:
|
Id | String | 否 | 是 | 私人池ID。 | 即彈性保障服務ID或容量預定服務ID。 |
InstanceTypeOverrides文法
"InstanceTypeOverrides": [
{
"InstanceType": String,
"WeightedCapacity": Integer
}
]
InstanceTypeOverrides屬性
屬性名稱 | 類型 | 必須 | 允許更新 | 描述 | 約束 |
InstanceType | String | 否 | 是 | 指定執行個體規格。 | 當您需要伸縮組按照執行個體規格容量進行伸縮時,請同時指定本參數和 WeightedCapacity。 |
WeightedCapacity | Integer | 否 | 是 | 指定執行個體規格的權重。 | 由於每個執行個體規格的vCPU 個數、記憶體大小等效能指標會有差異,您可以根據自身需求,給不同的執行個體規格配置不同的權重。 例如:
為滿足期望容量,伸縮組將為使用者擴容2台ecs.c5.xlarge執行個體。 |
InstancePatternInfos文法
"InstancePatternInfos": [
{
"BurstablePerformance": String,
"Architectures": List,
"InstanceFamilyLevel": String,
"Memory": Number,
"MaxPrice": Number,
"ExcludedInstanceTypes": List,
"Cores": Integer
}
]
InstancePatternInfos屬性
屬性名稱 | 類型 | 必須 | 允許更新 | 描述 | 約束 |
BurstablePerformance | String | 否 | 否 | 是否為效能突發執行個體規格。 | 取值範圍:
預設值:Include。 |
Architectures | List | 否 | 是 | 執行個體規格所屬的架構類型。 | 取值範圍:
預設值:包含所有架構類型。 |
InstanceFamilyLevel | String | 否 | 是 | 執行個體規格類型系列層級。 | 用於篩選符合要求的執行個體規格範圍,當
|
Memory | Number | 否 | 是 | 智能配置模式下,執行個體規格的記憶體大小。 | 單位為GiB,用於篩選符合要求的執行個體規格範圍。 |
MaxPrice | Number | 否 | 是 | 智能配置模式下,隨用隨付執行個體或者搶佔式執行個體可接受的每小時最高價格。 | 無。 |
ExcludedInstanceTypes | List | 否 | 是 | 需要排除的執行個體規格。 | 通過使用萬用字元(*)可以排除單個規格或者整個規格類型系列。例如:
|
Cores | Integer | 否 | 是 | 智能配置模式下,執行個體規格的vCPU核心數目。 | 用於篩選符合要求的執行個體規格範圍。更多資訊,請參見執行個體規格類型系列。 請注意以下資訊:
|
TagList文法
"TagList": [
{
"Key": String,
"Value": String
}
]
TagList屬性
屬性名稱 | 類型 | 必須 | 允許更新 | 描述 | 約束 |
Key | String | 是 | 否 | 標籤鍵。 | 長度為1~64個字元,不能以 |
Value | String | 否 | 否 | 標籤值。 | 長度為0~128個字元,不能以 |
傳回值
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: {}