ALIYUN::ECS::Instance类型用于创建ECS实例。

语法

{
  "Type": "ALIYUN::ECS::Instance",
  "Properties": {
    "DedicatedHostId": String,
    "Period": Number,
    "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,
    "Password": String,
    "InstanceType": String,
    "SystemDiskCategory": String,
    "UserData": String,
    "SystemDiskSize": Number,
    "ZoneId": String,
    "InternetMaxBandwidthOut": Integer,
    "VpcId": String,
    "SpotStrategy": String,
    "InstanceName": String,
    "InternetMaxBandwidthIn": Integer,
    "DeletionProtection": Boolean,
    "DeploymentSetId": String,
    "SecurityGroupId": String,
    "SpotPriceLimit": String,
    "HpcClusterId": String,
    "AllocatePublicIP": Boolean,
    "SystemDiskDescription": String,
    "SystemDiskPerformanceLevel": String,
    "DiskMappings": List
  }
}

属性

属性名称 类型 必须 允许更新 描述 约束
ResourceGroupId String 实例所在的资源组ID。 无。
ImageId String ECS实例的镜像ID,包括公共镜像、自定义镜像和云市场镜像。 当编辑模板时,您只需指定镜像类型或者镜像类型和版本,ROS会自动选择适配的公共镜像ID。星号通配符(*)可用于指代镜像ID的某一部分。以所有阿里云提供的Ubuntu的公共镜像为例,当为ECS实例指定公共镜像ID时,规则如下:
  • 指定ubuntu,最终会匹配ubuntu16_0402_64_20G_alibase_20170818.vhd。
  • 指定ubuntu_14,最终会匹配ubuntu_14_0405_64_20G_alibase_20170824.vhd。
  • 指定ubuntu*14*32,最终会匹配ubuntu_14_0405_32_40G_alibase_20170711.vhd。
  • 指定ubuntu_16_0402_32,最终会匹配ubuntu_16_0402_32_40G_alibase_20170711.vhd。
InstanceType String ECS实例规格。 详情请参见ECS实例规格
SecurityGroupId String 新建实例所属安全组。 无。
Description String 描述信息。 长度为2~256个字符。
InstanceName String 实例名称。 长度为2~128个英文或中文字符。必须以大小字母或中文开头,不能以http://https://开头。可以包含数字、半角冒号(:)、下划线(_)或者连字符(-)。如果没有指定该参数,默认值为实例的InstanceId。
Password String ECS实例登录密码。 长度为8~30个字符。必须同时包含大小写字母、数字和特殊字符,支持以下特殊字符:( ) ‘ ~ ! @ # $ % ^ & * - + = | { } [ ] : ; ‘ < > , . ? / - 。如果指定此参数,请使用HTTPS协议调用API,以避免密码泄露。
HostName String 云服务器的主机名。 最小长度为2个字符。点和连字符不能作为主机名的首尾字符,且不能连续使用。Windows平台支持最长15个字符,支持字母(不限制大小写)、数字和连字符,不支持点号,不能全是数字;其它(Linux等)平台支持最长30个字符,支持多个点号,点之间为一段,每段可以由大小写字母、数字和连字符组成。
AllocatePublicIP Boolean 指定是否创建公网IP。 如果InternetMaxBandwidthOut取值为0,则不会分配公网IP。默认值:true。
PrivateIpAddress String 在VPC网络环境下,指定的内网IP。 IP地址不能与VPC网络下的其它实例重复。
InternetChargeType String 访问公网计费方式。 取值:PayByBandwidth(按固定带宽计费)、PayByTraffic(按流量计费)。默认值: PayByTraffic。
InternetMaxBandwidthIn Integer 公网入带宽最大值。 单位:Mbps。取值范围:1~200。默认值:200。
InternetMaxBandwidthOut Integer 公网出带宽最大值。 单位:Mbps。取值范围:0~100,默认值:0。
IoOptimized String 是否创建I/O优化实例。 取值:none(非I/O优化)、optimized(I/O优化)。默认值:optimized。
DiskMappings List 需要挂载的磁盘。 最多支持16块磁盘。
SystemDiskCategory String 系统盘类型。 取值:
  • cloud:普通云盘
  • cloud_ssd:SSD云盘
  • cloud_efficiency:高效云盘
已停售的实例规格且非I/O优化实例默认值为cloud,否则默认值为cloud_efficiency。
SystemDiskDescription String 系统盘描述信息。 无。
SystemDiskDiskName String 系统盘名称。 长度为2~128个英文或中文字符。必须以大小字母或中文开头,不能以http://https://开头。可以包含数字、半角冒号(:)、下划线(_)或者连字符(-)。
SystemDiskSize Number 系统盘大小。 单位:GB。取值范围:20~500。如果使用自定义镜像创建系统盘,需要保证系统盘大于自定义镜像大小。
Tags List 用户自定义标签。 最多支持20个标签,格式:[{"Key": "tagKey", "Value": "tagValue"},{"Key": "tagKey2", "Value": "tagValue2"}]
UserData String 创建ECS实例时传递的用户数据。 内容需要限制在16KB以内,不需要使用Base64转码,特殊字符需要使用反斜杠转义。
ZoneId String 可用区ID。 无。
HpcClusterId String 实例所属的HPC集群ID。 无。
VpcId String VPC ID。 无。
VSwitchId String VSwitch ID。 无。
InstanceChargeType String ECS实例付费类型。 取值:PrePaid(预付费)、PostPaid(按量付费)。默认值:PostPaid。如果指定PrePaid,则必须确保余额充足,否则会导致实例创建失败。
Period Number 付费周期。 单位:月。取值:1~9、12、24、36。当InstanceChargeType取值为PrePaid时,此参数为必选参数;当 InstanceChargeType取值为PostPaid时,此参数为可选参数。
KeyPairName String ECS实例绑定的密钥对名称。 当实例类型为Windows时,请忽略此参数;当实例类型为Linux时,密码登录方式会被初始化为禁止。为提高实例安全性,建议您使用密钥对的连接方式。
RamRoleName String 实例RAM角色名称。 详情请参见CreateRoleListRoles
SpotPriceLimit String 实例的每小时最高价格。 支持最多3位小数。当SpotStrategy取值为SpotWithPriceLimit时,此参数生效。
SpotStrategy String 按量付费实例的竞价策略。 当InstanceChargeType取值为PostPaid时,此参数为必选参数。取值:NoSpot(正常按量付费实例)、SpotWithPriceLimit(上限价格的竞价实例)、SpotAsPriceGo(系统自动出价,最高不超过按量付费价格)。默认值:NoSpot。
DedicatedHostId String ECS实例创建指定专有宿主机上。 您可以通过调用DescribeDedicatedHosts查询专有宿主机ID列表。由于专有宿主机不支持创建抢占式实例,指定DedicatedHostId后,请求中的SpotStrategy和SpotPriceLimit设置将被自动忽略。
PeriodUnit String 购买资源的时长。 取值:Week、Month。默认值:Month。PeriodUnit取值为Week时,Period取值为1、2、3、4,AutoRenewPeriod取值为1、2、3;PeriodUnit取值为Month时,Period取值为1~9、12、24、36、48、60,AutoRenewPeriod取值为1、2、3、6、12。
AutoRenewPeriod Number 每次自动续费的时长。 当AutoRenew取值为True时,此参数为必选参数。取值范围:1、2、3、6、12。
AutoRenew String 是否要自动续费。 取值: True(自动续费)、False(不自动续费)。默认值:False。当InstanceChargeType取值PrePaid时,此参数为必选参数。
DeletionProtection Boolean 实例释放保护属性,指定是否支持通过控制台或API(DeleteInstance)释放实例。 取值:true、false。
DeploymentSetId 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,
    "PerformanceLevel": String,
    "Size": Number
  }
]

DiskMappings属性

属性名称 类型 必须 允许更新 描述 约束
Size Number 数据盘大小。 取值范围:20~500。单位:GB。
Category String 数据盘类型。 取值:
  • cloud:普通云盘
  • cloud_ssd:SSD云盘
  • cloud_essd:ESSD云盘
  • cloud_efficiency:高效云盘
  • ephemeral_ssd:本地SSD盘
I/O优化实例的默认值为cloud_efficiency,非I/O优化实例的默认值为cloud。
DiskName String 数据盘名称。 长度为2~128个字符。必须以大小字母或中文开头,不能以http://https://开头,可包含数字、下划线(_)、半角冒号(:)、连字符(-)。
Description String 描述信息。 长度为2~256个英文或中文字符,不能以http://https://开头。
Device String 挂载点。
说明 该参数即将停止使用,为提高代码兼容性,建议您尽量不要使用该参数
无。
PerformanceLevel String 创建ESSD云盘作为数据盘使用时,设置云盘的性能等级。
  • PL1(默认):单盘最高随机读写IOPS为5万。
  • PL2:单盘最高随机读写IOPS为10万。
  • PL3:单盘最高随机读写IOPS为100万。
有关如何选择ESSD性能等级,请参见ESSD云盘
SnapshotId String 数据盘使用的快照ID。 无。

Tags语法

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

Tags属性

属性名称 类型 必须 允许更新 描述 约束
Key String 无。 无。
Value String 无。 无。

返回值

Fn::GetAtt

  • InstanceId:实例ID。由系统生成,实例的全局唯一标识。
  • PrivateIp:VPC类型实例的私网IP。当NetworkType取值为VPC时,此参数生效。
  • InnerIp:Classic类型实例的私网IP。当NetworkType取值为Classic时,此参数生效。
  • PublicIp:Classic类型实例的公网IP列表。当NetworkType取值为Classic时,此参数生效。
  • ZoneId:可用区ID。
  • HostName:实例的主机名称。

示例

{
  "ROSTemplateFormatVersion": "2015-09-01",
  "Resources": {
    "WebServer": {
      "Type": "ALIYUN::ECS::Instance",
      "Properties": {
        "ImageId": "m-25l0rc****",
        "InstanceType": "ecs.t1.small",
        "SecurityGroupId": "sg-25zwc****",
        "ZoneId": "cn-beijing-b",
        "Tags": [{
            "Key": "tiantt",
            "Value": "ros"
        },{
            "Key": "tiantt1",
            "Value": "ros1"
        }
        ]
      }
    }
  },
  "Outputs": {
    "InstanceId": {
         "Value": {"get_attr": ["WebServer","InstanceId"]}
    },
    "PublicIp": {
         "Value": {"get_attr": ["WebServer","PublicIp"]}
    }
  }
}