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种实例规格,优先级按列表元素的顺序依次降低。当无法根据优先级较高的实例规格创建出实例时,弹性伸缩服务会自动选择下一优先级的实例规格来创建实例。 | 
| 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的所有实例规格。弹性伸缩会结合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 | 否 | 是 | 系统盘的多磁盘类型。 | 当无法使用高优先级的磁盘类型时,弹性伸缩自动尝试下一优先级的磁盘类型创建系统盘。取值范围: 
 | 
| Memory | Integer | 否 | 是 | 内存大小。 | 单位:GiB。 同时指定CPU和Memory可以定义实例规格范围。例如,CPU=2且Memory=16可以定义配置为2 vCPU和16 GiB的所有实例规格。弹性伸缩会结合IO优化、可用区等因素确定可用实例规格集合,并根据价格排序为您创建价格最低的实例。 | 
| InstanceDescription | String | 否 | 是 | ECS实例的描述。 | 长度为2~256个英文或中文字符,不能以 | 
| SecurityGroupIds | List | 否 | 是 | 将ECS实例同时加入多个安全组。 | 说明  不支持同时指定SecurityGroupId和SecurityGroupIds。 | 
| SpotDuration | Integer | 否 | 是 | 抢占式实例的保留时长。 | 单位为小时。取值范围: 
 | 
| SecurityEnhancementStrategy | String | 否 | 否 | 是否开启安全加固。 | 取值范围: 
 | 
| Affinity | String | 否 | 是 | 专有宿主机实例是否与专有宿主机关联。 | 取值范围: 
 | 
| Tenancy | String | 否 | 是 | 是否在专有宿主机上创建实例。 | 取值范围: 
 | 
| PrivatePoolOptions | Map | 否 | 是 | 实例启动的私有池配置 | 更多信息,请参见PrivatePoolOptions属性 | 
| DedicatedHostId | String | 否 | 是 | 是否在专有宿主机上创建ECS实例。 | 由于专有宿主机不支持创建抢占式实例,指定DedicatedHostId参数后,会自动忽略请求中的SpotStrategy和SpotPriceLimit设置。 您可以调用DescribeDedicatedHosts 接口查询专有宿主机ID列表。 | 
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 个数,表示块存储处理读写(输出/输入)的能力,单位为次。 | 
| Categories | List | 否 | 否 | 数据盘的多磁盘类型。 | 第一个磁盘类型优先级最高,其他磁盘类型的优先级依次递减。当无法使用高优先级的磁盘类型时,弹性伸缩自动尝试下一优先级的磁盘类型创建数据盘。取值范围: 
 | 
| 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: {}