ALIYUN::ECS::InstanceGroup类型用于创建一组ECS实例。

语法

{
  "Type": "ALIYUN::ECS::InstanceGroup",
  "Properties": {
    "SystemDiskAutoSnapshotPolicyId": String,
    "DedicatedHostId": String,
    "Period": Number,
    "LaunchTemplateName": String,
    "AutoRenew": String,
    "RamRoleName": String,
    "IoOptimized": String,
    "InternetChargeType": String,
    "PrivateIpAddress": String,
    "KeyPairName": String,
    "SystemDiskDiskName": String,
    "PeriodUnit": String,
    "Description": String,
    "Tags": List,
    "HostName": String,
    "AutoRenewPeriod": Number,
    "ImageId": String,
    "ResourceGroupId": String,
    "InstanceChargeType": String,
    "VSwitchId": String,
    "EniMappings": List,
    "Password": String,
    "InstanceType": String,
    "MaxAmount": Integer,
    "AutoReleaseTime": String,
    "SystemDiskCategory": String,
    "UserData": String,
    "LaunchTemplateId": String,
    "LaunchTemplateVersion": String,
    "SystemDiskSize": Number,
    "ZoneId": String,
    "InternetMaxBandwidthOut": Integer,
    "VpcId": String,
    "SpotStrategy": String,
    "InstanceName": String,
    "InternetMaxBandwidthIn": Integer,
    "DeletionProtection": Boolean,
    "DeploymentSetId": String,
    "Ipv6AddressCount": Integer,
    "SecurityGroupId": String,
    "SpotPriceLimit": String,
    "HpcClusterId": String,
    "AllocatePublicIP": Boolean,
    "SystemDiskDescription": String,
    "Ipv6Addresses": List,
    "NetworkType": String,
    "DiskMappings": List,
    "SystemDiskPerformanceLevel": String
  }
}

属性

属性名称 类型 必须 允许更新 描述 约束
ResourceGroupId String 实例所在的企业资源组ID。 无。
HpcClusterId String 实例所属的HPC集群ID。 无。
MaxAmount Integer 一次性创建ECS实例的最大个数。 取值范围:1~100,必须大于等于MinAmount。
MinAmount String 一次性创建ECS实例的最小个数。 取值范围:1~100,必须小于等于MaxAmount。
Description String 描述信息。 最长256个字符。
InstanceType String ECS实例规格。 详情请参见ECS实例规格
ImageId String 用于启动ECS实例的镜像ID,包括公共镜像、自定义镜像和云市场镜像。 支持通过模糊的方式指定公共镜像ID,而不需要指定一个完整的公共镜像ID。例如,指定Ubuntu,最终会匹配ubuntu_16_0402_64_20G_alibase_20170818.vhd;指定ubuntu1432,最终会匹配ubuntu_14_0405_32_40G_alibase_20170711.vhd,详情请参见请求参数
SecurityGroupId String 指定创建实例所属安全组。 无。
InstanceName String 实例名称。 最长128个字符。可包含英文、中文、数字、下划线、点号和连字符。通过name_prefix[begin_number,bits]name_suffix格式为各个ECS实例指定不同的实例名,详情请参见请求参数
Password String ECS实例登录密码。
  • 长度为8~30个字符。
  • 必须同时包含三项(大、小写字母,数字和特殊符号)。
  • 支持以下特殊字符:( ) ` ~ ! @ # $ % ^ & * - + = | { } [ ] : ; ‘ < > , . ? /
如果传入Password参数,请使用HTTPS协议调用API,以免发生密码泄露。
HostName String 主机名。 长度最少2个字符。点号和连字符不能作为hostname的首尾字符,且不能连续使用,详情请参见请求参数
AllocatePublicIP Boolean 指定是否创建公网IP。 如果InternetMaxBandwidthOut为0,则不会分配公网IP。默认值:true。
AutoReleaseTime String ECS实例自动释放的时间。 时间格式必须遵守ISO8601规范,例如"yyyy-MM-ddTHH:mm:ssZ"。释放时间不能超过三年。
PrivateIpAddress String 在VPC网络环境下,指定的内网IP。 IP地址不能与VPC网络下的其它实例重复。
DiskMappings List 为ECS实例创建的数据盘。 无。
InternetChargeType String 公网访问带宽计费方式。 取值范围:
  • PayByBandwidth(按固定带宽计费)
  • PayByTraffic(按流量计费)
默认值:PayByTraffic(按流量付费)。
InternetMaxBandwidthIn Integer 公网最大入网带宽。 单位:Mbps。

取值范围:1~100。

默认值:100。

InternetMaxBandwidthOut Integer 公网出带宽最大值。 单位:Mbit/s。

取值范围:0~100。

默认值:0。

IoOptimized String 是否创建I/O优化实例。 取值范围:
  • none(非 I/O 优化)
  • optimized(I/O 优化)
默认值:none。
SystemDiskCategory String 系统盘类型。 取值范围:

cloud:普通云盘

cloud_efficiency:高效云盘

cloud_ssd:SSD云盘

cloud_essd:ESSD云盘

ephemeral_ssd:本地SSD盘

SystemDiskDescription String 系统盘描述信息。 无。
SystemDiskDiskName String 系统盘名称。 无。
SystemDiskSize Number 系统盘大小。 取值范围:40GB~500GB。如果使用自定义镜像创建系统盘,需要保证系统盘大于自定义镜像大小。
Tags List 用户自定义标签。 最多支持20个标签,格式:[{"Key":"tagKey","Value":"tagValue"},{"Key":"tagKey2","Value":"tagValue2"}]
UserData String 创建ECS实例时传递的用户数据。 内容需要限制在16KB以内。无需用Base64转码,特殊字符需要使用转义符。
ZoneId String 可用区ID。 无。
VpcId String 虚拟专有网络ID。 无。
VSwitchId String VSwitch ID。 无。
KeyPairName String ECS实例绑定的密钥对名称。 如果是Windows ECS实例,则忽略该参数。默认为空。如果已填写KeyPairName,Password的内容仍会被设置到实例中,但是Linux系统中的密码登录方式会被禁止。
RamRoleName String 实例RAM角色名称。 您可以调用ListRoles查询实例RAM角色名称,详情请参见CreateRoleListRoles
SpotPriceLimit String 实例的每小时最高价格。 最大支持3位小数。当SpotStrategy为SpotWithPriceLimit时,此参数生效。
SpotStrategy String 后付费实例的竞价策略。 当InstanceChargeType为PostPaid时,此参数生效。取值范围:
  • NoSpot(正常按量付费实例)
  • SpotWithPriceLimit(设置上限价格的竞价实例)
  • SpotAsPriceGo(系统自动出价,最高按量付费价格)
默认值:NoSpot。
DedicatedHostId String 专有宿主机ID。 无。
LaunchTemplateName String 启动模板名称。 无。
PeriodUnit String 购买资源的时长周期。 取值范围:
  • Week
  • Month

默认值:Month。

AutoRenewPeriod Number 每次自动续费的时长。 当AutoRenew为True时,此参数为必填参数。取值范围:1、2、3、6、12。默认值:1 。
AutoRenew Boolean 是否要自动续费。 当InstanceChargeType为PrePaid时,此参数生效。取值范围:
  • True(自动续费)
  • False(不自动续费)
默认值:False。
InstanceChargeType String 实例的付费方式。 取值范围:
  • PrePaid(预付费,包年包月)
  • PostPaid(按量付费)

默认值:PostPaid。

当取值为PrePaid时,您必须确认自己的账号支持余额支付/信用支付,否则将返回InvalidPayMethod错误消息提示。
EniMappings List 附加到实例的弹性网卡。 附加到实例的弹性网卡个数最多为1个。
LaunchTemplateId String 启动模板ID。 无。
LaunchTemplateVersion String 启动模板的版本。 如果没有指定版本,则使用默认版本。
Period Number 购买资源的时长。 当InstanceChargeType为PrePaid时,该参数生效且为必选参数。一旦指定了DedicatedHostId,则取值范围不能超过专有宿主机的订阅时长。
  • 当PeriodUnit为Week时,Period取值:1,2,3,4。
  • 当PeriodUnit为Month时,Period取值:1,2,3,4,5,6,7,8,9,12,24,36,48,60。
NetworkType String ECS实例网络类型。 取值范围:
  • vpc
  • classic

默认值:classic。

DeletionProtection Boolean 实例释放保护属性,指定是否支持通过控制台或API(DeleteInstance)释放实例。 取值范围:
  • true
  • false
DeploymentSetId String 部署集ID。 无。
Ipv6AddressCount Integer 为弹性网卡指定随机生成的IPv6地址数量。 不能同时指定参数Ipv6Addresses和Ipv6AddressCount。
Ipv6Addresses List 为弹性网卡指定一个或多个IPv6地址。 列表最大长度为1。属性的更改不影响现有实例。不能同时指定Ipv6Addresses和Ipv6AddressCount。
SystemDiskAutoSnapshotPolicyId String 系统盘自动快照策略ID。 无。
SystemDiskPerformanceLevel String 创建ESSD云盘作为系统盘使用时,设置云盘的性能等级。 取值范围:
  • PL1(默认):单盘最高随机读写IOPS为5万。
  • PL2:单盘最高随机读写IOPS为10万。
  • PL3:单盘最高随机读写IOPS为100万。
有关如何选择ESSD性能等级,请参见ESSD云盘

DiskMappings语法

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

DiskMappings属性

属性名称 类型 必须 允许更新 描述 约束
Size String 数据盘大小。 单位:GB。
Category String 数据盘的类型。 取值范围:
  • cloud
  • cloud_efficiency
  • cloud_ssd
  • cloud_essd
  • ephemeral_ssd
对于I/O优化实例,默认值为cloud_efficiency。对于非I/O优化实例,默认值为cloud。
DiskName String 数据盘的名称。 最长128个字符。可包含英文、中文、数字、下划线、点号和连字符。
Description String 数据盘的描述。 长度为2~256个英文或中文字符。不能以http://https://开头。
Device String 数据盘在ECS中的名称。 例如:/dev/xvd[a-z]。
SnapshotId String 快照ID。 无。
Encrypted Boolean 数据盘是否加密。 取值范围:
  • true
  • false
默认值:false。
KMSKeyId String 数据盘对应的KMS密钥ID。 无。
AutoSnapshotPolicyId String 自动快照策略ID。 无。
PerformanceLevel String 创建ESSD云盘作为数据盘使用时,设置云盘的性能等级。
  • PL1(默认):单盘最高随机读写IOPS为5万。
  • PL2:单盘最高随机读写IOPS为10万。
  • PL3:单盘最高随机读写IOPS为100万。
有关如何选择ESSD性能等级,请参见ESSD云盘

Tags语法

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

Tags属性

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

EniMappings语法

"EniMappings": [
  {
    "SecurityGroupId": String,
    "VSwitchId": String,
    "Description": String,
    "NetworkInterfaceName": String,
    "PrimaryIpAddress": String
  }
]

EniMappings属性

属性名称 类型 必须 允许更新 描述 约束
SecurityGroupId String 安全组ID。 所属的安全组ID必须是同一个VPC下的安全组。
VSwitchId String 交换机ID。 无。
Description String 弹性网卡的描述信息。 长度为2~256个英文或中文字符,不能以http://https://开头。
NetworkInterfaceName String 弹性网卡名称。
  • 长度为2~128个英文或中文字符。
  • 必须以大小字母或中文开头,不能以http://https://开头。
  • 可以包含数字、半角冒号(:)、下划线(_)或者连字符(-)。
PrimaryIpAddress String 弹性网卡的主私有IP地址。 指定的IP必须是在所属交换机的地址段内的空闲地址。如果不指定IP,则默认随机分配该交换机中的空闲地址。

返回值

Fn::GetAtt

  • InstanceIds:实例ID,是访问实例的唯一标识。由系统生成,全局唯一。
  • PrivateIps:VPC类型实例的私网IP列表。当NetworkType为VPC时,此参数生效。例如,一个带有格式的Json Array:["172.16.XX.XX", "172.16.XX.XX", … "172.16.XX.XX"],最多100个IP,用半角逗号字符隔开。
  • InnerIps:Classic类型实例的私网IP列表。当NetworkType为Classic时,此参数生效。例如,一个带有格式的Json Array:["10.1.XX.XX", "10.1.XX.XX", … "10.1.XX.XX"],最多100个IP,用半角逗号字符隔开。
  • PublicIps:Classic类型实例的公网IP列表。当NetworkType为Classic时,此参数生效。例如,一个带有格式的Json Array:["42.1.XX.XX", "42.1.XX.XX", … "42.1.XX.XX"],最多100个IP,用半角逗号字符隔开。
  • HostNames:所有实例的主机名称列表。
  • OrderId: 实例的订单ID列表。
  • ZoneIds: 可用区ID。
  • RelatedOrderIds: 已创建ECS实例的相关订单ID列表。

示例

{
  "ROSTemplateFormatVersion":"2015-09-01",
  "Resources":{
    "WebServer": {
      "Type": "ALIYUN::ECS::InstanceGroup",
      "Properties": {
        "ImageId":"m-25l0r****",
        "InstanceType": "ecs.t1.small",
        "SecurityGroupId": "sg-25zwc****",
        "ZoneId": "cn-beijing-b",
        "MaxAmount":1,
        "MinAmount":1,
        "Tags": [{
            "Key": "tiantt",
            "Value": "ros"
        },{
            "Key": "tiantt1",
            "Value": "ros1"
        }
        ]
      }
    }
  },
  "Outputs": {
    "InstanceIds": {
         "Value":{"get_attr": ["WebServer","InstanceIds"]}
    },
    "PublicIps": {
         "Value":{"get_attr": ["WebServer","PublicIps"]}
    }
  }
}