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,
    "InternetMaxBandwidthOut": Integer,
    "InstanceName": String,
    "InternetMaxBandwidthIn": Integer,
    "ScalingConfigurationName": String,
    "UserData": String,
    "DeploymentSetId": String,
    "SecurityGroupId": String,
    "SpotPriceLimit": Number,
    "HpcClusterId": String,
    "ScalingGroupId": String,
    "SpotPriceLimitForInstanceType": Map,
    "TagList": List
  }
}

属性

属性名称 类型 必须 允许更新 描述 约束
ResourceGroupId String 实例所在的资源组ID。 无。
DeploymentSetId String 部署集ID。 无。
HpcClusterId String 实例所属的EHPC集群ID。 无。
ScalingGroupId String 伸缩配置所属的伸缩组ID。 无。
DiskMappings List 需要挂载的磁盘。 最多支持16块磁盘。
InternetChargeType String 公网访问带宽计费方式。 取值范围:
  • PayByBandwidth:按固定带宽计费
  • PayByTraffic:按流量计费

默认值:PayByTraffic(按流量计费)。

InternetMaxBandwidthIn Integer 公网最大入网带宽。

单位:Mbps。

取值范围:1~100。

默认值:100。

InternetMaxBandwidthOut Integer 公网最大出网带宽。 取值范围:
  • 按固定带宽计费:0~100。默认值:0。
  • 按流量计费:1~200。此时,该参数为必选参数。

单位: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,包括公共镜像、自定义镜像和云市场镜像。 详情请参见ECS公共镜像列表
InstanceType String 实例规格。 详情请参见ECS实例规格
SecurityGroupId String 实例所属的安全组。 无。
IoOptimized String 是否创建I/O优化实例。 取值范围:
  • none(非I/O优化)
  • optimized(I/O优化)

默认值:none。

ScalingConfigurationName String 伸缩配置的名称。
  • 2~64个英文或中文字符,以数字、大小写字母或中文开头,可包含数字、下划线(_)、连字符(-)或(.)。
  • 在同一地域下同一伸缩组内伸缩配置名称唯一。
  • 如果您没有指定本参数,则默认使用伸缩配置的ID。
KeyPairName String 实例绑定的密钥对名称。
  • 如果实例类型为Windows实例,则此参数将被忽略,默认值为空。
  • 如果实例类型为Linux实例,则密码登录方式会被初始化成禁止。
RamRoleName String 实例RAM角色名称。 您可以使用RAM APIListRoles查询实例RAM角色名称,详情请参见CreateRoleListRoles
SystemDiskSize Integer 系统盘大小。

取值范围:40~500。

单位:GB。

如果使用自定义镜像创建系统盘,则系统盘大小必须大于自定义镜像大小。

UserData String 创建实例时传递的用户数据。 内容需要限制在16KB以内,无需Base64转码,特殊字符需要使用反斜杠转义。
InstanceTypes List 多实例规格参数。如果使用了本参数,InstanceType,将被忽略。 一个伸缩配置内最多可以设置10种实例规格,优先级按列表元素的顺序依次降低。当无法根据优先级较高的实例规格创建出实例时,弹性伸缩服务会自动选择下一优先级的实例规格来创建实例。
PasswordInherit Boolean 是否使用镜像预设的密码。 使用此参数时,您需要确保所用镜像已经预设了密码。
TagList List 实例标签。 标签以键值对方式传入,最多可以使用5组标签,格式为{"key1": "value1", "key2": "value2", ... "key5": "value5"}。键最多支持64个字符,不支持以aliyunhttp://https://开头。如果使用标签,键不允许为空字符串。值的长度为0~128个字符。
SpotStrategy String 后付费实例的抢占策略。 取值范围:
  • NoSpot(正常按量付费实例)
  • SpotWithPriceLimit(设置上限价格的抢占式实例)
  • SpotAsPriceGo(系统自动出价,跟随当前市场实际价格)。

默认值:NoSpot。

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。 无。

DiskMappings语法

"DiskMappings": [
  {
    "Category": String,
    "DiskName": String,
    "Description": String,
    "AutoSnapshotPolicyId": String,
    "Encrypted": String,
    "KMSKeyId": String,
    "Device": String,
    "SnapshotId": String,
    "Size": String
  }
]

DiskMappings属性

属性名称 类型 必须 允许更新 描述 约束
Size String 数据盘磁盘大小。 取值范围:
  • cloud:5~2000
  • cloud_efficiency:20~32768
  • cloud_ssd:20~32768
  • cloud_essd:20~32768
  • ephemeral_ssd:5~800

指定此参数后,磁盘大小必须大于等于快照大小(快照通过SnapshotId指定)。

单位:GiB。

Category String 数据盘类型。 取值范围:cloud、cloud_efficiency、cloud_ssd、ephemeral_ssd、cloud_essd。对于I/O优化实例,默认值为cloud_efficiency;对于非I/O优化实例,默认值为cloud。
DiskName String 数据盘名称。 长度为2~128个字符。可以包含数字、半角冒号(:)、下划线(_)或者连字符(-),必须以英文字母或中文开头,不能以http://https:// 开头。
Description String 数据盘描述。 长度为2~256个字符。不能以http://https://开头。
Device String 数据盘挂载点。 如果此参数值未指定,则默认将在自动创建ECS实例时由系统分配,取值从/dev/xvdb开始,到/dev/xvdz结束。
SnapshotId String 创建数据盘时使用的快照。 指定此参数后,Size会被忽略,实际创建的磁盘大小为指定快照的大小。如果快照创建于2013年7月15日或之前,调用快照会被拒绝,返回参数中会提示InvalidSnapshot.TooOld。
Encrypted String 数据盘是否加密。 默认值:false。
KMSKeyId String 数据盘对应的KMS密钥ID。 无。
AutoSnapshotPolicyId String 数据盘使用的自动快照策略ID。 无。

TagList语法

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

TagList属性

属性名称 类型 必须 允许更新 描述 约束
Key String 标签键。 长度为1~64个字符,不能以aliyunacs:https://http://开头。
Value String 标签值。 长度为0~63个字符,不能以aliyunacs:https://http://开头。

返回值

Fn::GetAtt

ScalingConfigurationId:伸缩配置的ID。由系统生成,全局唯一。

示例

{
  "ROSTemplateFormatVersion": "2015-09-01",
  "Resources": {
    "ScalingConfiguration": {
      "Type": "ALIYUN::ESS::ScalingConfiguration",
      "Properties": {
        "ImageId": "ubuntu1404_64_20G_aliaegis_2015****.vhd",
        "InstanceType": "ecs.t1.small",
        "InstanceId": "i-25xhh****",
        "InternetChargeType": "PayByTraffic",
        "InternetMaxBandwidthIn": 1,
        "InternetMaxBandwidthOut": 20,
        "SystemDisk_Category": "cloud",
        "ScalingGroupId": "bwhtvpcBcKYac9fe3vd0****",
        "SecurityGroupId": "sg-25zwc****",
        "DiskMappings": [
          {
            "Size": 10
          },
          {
            "Category": "cloud",
            "Size": 10
          }
        ]
      }
    }
  },
  "Outputs": {
    "ScalingConfiguration": {
      "Value": {"get_attr": ["ScalingConfigurationId"]}
    }
  }
}