ALIYUN::ECS::LaunchTemplate类型用于创建ECS实例启动模板。

语法

{
  "Type": "ALIYUN::ECS::LaunchTemplate",
  "Properties": {
    "LaunchTemplateName": String,
    "VersionDescription": String,
    "ImageId": String,
    "InstanceType": String,
    "SecurityGroupId": String,
    "NetworkType": String,
    "VSwitchId": String,
    "InstanceName": String,
    "Description": String,
    "InternetMaxBandwidthOut": Integer,
    "HostName": String,
    "ZoneId": String,
    "SystemDiskCategory": String,
    "SystemDiskSize": Number,
    "SystemDiskDiskName": String,
    "SystemDiskDescription": String,
    "IoOptimized": String,
    "InternetChargeType": String,
    "UserData": String,
    "KeyPairName": String,
    "RamRoleName": String,
    "AutoReleaseTime": String,
    "SpotStrategy": String,
    "SpotPriceLimit": String,
    "SecurityEnhancementStrategy": String,
    "DiskMappings": List,
    "NetworkInterfaces": List,
    "Tags": List,
    "TemplateTags": List,
    "TemplateResourceGroupId": String,
    "SecurityGroupIds": List,
    "ResourceGroupId": String,
    "SpotDuration": Integer,
    "ImageOwnerAlias": String,
    "Period": Integer,
    "Ipv6AddressCount": Integer,
    "PrivateIpAddress": String,
    "PasswordInherit": Boolean,
    "SystemDiskDeleteWithInstance": Boolean,
    "DeploymentSetId": String,
    "InstanceChargeType": String,
    "SystemDiskPerformanceLevel": String
  }
}

属性

属性名称类型必须允许更新描述约束
LaunchTemplateNameString实例启动模板名称。长度为2~128个字符。必须以英文字母或汉字开头,不能以http://https://开头。可包含英文字母、汉字、数字、半角冒号(:)、下划线(_)和短划线(-)。
VersionDescriptionString实例启动模板版本描述。长度为2~128个字符。必须以英文字母或汉字开头,不能以http://https://开头。
ImageIdString镜像ID。
InstanceTypeString实例类型。
SecurityGroupIdString安全组ID。
NetworkTypeString实例网络类型。取值:
  • classic:经典网络。
  • vpc:专有网络。
VSwitchIdString交换机ID。当NetworkType取值为vpc时该参数有效。
InstanceNameString实例名称。长度为2~128个字符。必须以英文字母或汉字开头,不能以http://https://开头。
DescriptionString实例描述。长度为2~128个字符。必须以英文字母或汉字开头,不能以http://https://开头。
InternetMaxBandwidthOutInteger公网出网带宽最大值。取值范围:0~100。

单位:Mbps。

HostNameString实例主机名。

英文句点(.)和短划线(-)不能作为首尾字符,也不能连续使用。

取值要求:
  • Windows实例:长度为2~15个字符。 不能全是数字。可包含英文字母、数字和短划线(-)。
  • 其他类型实例(Linux等):长度为2~64个字符。 可包含英文字母、数字和短划线(-)。
ZoneIdString实例所属的可用区ID。
SystemDiskCategoryString系统盘类型。取值:
  • cloud:普通云盘。
  • cloud_efficiency:高效云盘。
  • cloud_ssd:SSD云盘。
  • ephemeral_ssd:本地SSD盘。
SystemDiskSizeNumber系统盘大小。取值范围:20~500。

单位:GB。

SystemDiskDiskNameString系统盘名称。长度为2~128个字符。必须以英文字母或汉字开头,不能以http://https://开头。可包含英文字母、汉字、数字、半角冒号(:)、下划线(_)和短划线(-)。
SystemDiskDescriptionString系统盘描述。长度为2~256个字符,不能以http://https://开头。
IoOptimizedString是否为I/O优化实例。取值:
  • none:非I/O优化实例。
  • optimized:I/O优化实例。
InternetChargeTypeString网络付费类型。取值:
  • PayByBandwidth:按带宽计费。
  • PayByTraffic:按流量计费。
UserDataString实例自定义数据。需要以Base64方式编码,原始数据不超过16KB。
KeyPairNameString密钥对名称。仅Linux实例需要指定该参数,此时密码登录方式会被初始化为禁止。
RamRoleNameString实例RAM角色名称。
AutoReleaseTimeString实例自动释放时间。按照ISO8601标准表示。需要使用UTC时间,格式为yyyy-MM-ddTHH:mm:ssZ
SpotStrategyString后付费实例的抢占策略。

当InstanceChargeType参数取值为PostPaid时该参数生效。

取值:

  • NoSpot:正常按量付费实例。
  • SpotWithPriceLimit:设置上限价格的抢占式实例。
  • SpotAsPriceGo:系统自动出价,最高按量付费价格。
SpotPriceLimitString设置实例的每小时最高价格。支持最多3位小数。
SecurityEnhancementStrategyString是否开启安全加固。取值:
  • Active:开启。
  • Deactive:关闭。
DiskMappingsList数据盘列表。最多支持16个数据盘。

更多信息,请参见DiskMappings属性

NetworkInterfacesList弹性网卡列表。最多支持8个弹性网卡。

更多信息,请参见NetworkInterfaces属性

TagsList实例、安全组、磁盘和网卡的标签列表。最多支持20个标签。

更多信息,请参见Tags属性

TemplateTagsList启动模板的标签列表。最多支持20个标签。

更多信息,请参见TemplateTags属性

TemplateResourceGroupIdString启动模板所在的资源组ID。
SecurityGroupIdsList实例加入的一个或多个安全组。取值与实例能够加入的安全组配额有关。
说明 不支持同时指定SecurityGroupId和SecurityGroupIds。
ResourceGroupIdString实例、块存储和弹性网卡所在的资源组ID。
SpotDurationInteger抢占式实例的保留时长。取值范围:0~6。

默认值:1。

单位:小时。

说明 如需设置取值为2~6,请提交工单。
ImageOwnerAliasString镜像来源。取值范围:
  • system:阿里云提供的公共镜像。
  • self:您创建的自定义镜像。
  • others:其他阿里云用户共享给您的镜像。
  • marketplace:镜像市场。
PeriodInteger购买资源的时长。InstanceChargeType取值为PrePaid时该参数有效,且必须指定。

取值:1~9、12、24、36、48、60。

单位:月。

Ipv6AddressCountInteger为主网卡指定随机生成的IPv6地址数量。取值范围:1~10。
PrivateIpAddressString实例私网IP地址。专有网络VPC类型ECS实例设置私网IP地址时,必须从交换机的空闲网段中选择。
PasswordInheritBoolean是否使用镜像预设的密码。取值:
  • true:使用。
  • false:不使用。
说明 PasswordInherit和Password必须且只能指定其中一个参数。
SystemDiskDeleteWithInstanceBoolean系统盘是否随实例释放。取值:
  • true(默认):释放。
  • false:不释放。
DeploymentSetIdString部署集ID。
InstanceChargeTypeString实例的计费方式。取值:
  • PrePaid:预付费,包年包月。
  • PostPaid:后付费,按实际使用量付费。
SystemDiskPerformanceLevelString创建ESSD云盘作为系统盘使用时,云盘的性能等级。取值:
  • PL0(默认):单盘最高随机读写IOPS 1万。
  • PL1:单盘最高随机读写IOPS 5万。
  • PL2:单盘最高随机读写IOPS 10万。
  • PL3:单盘最高随机读写IOPS 100万。

DiskMappings语法

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

DiskMappings属性

属性名称类型必须允许更新描述约束
CategoryString数据盘类型。取值:
  • cloud:普通云盘。
  • cloud_efficiency:高效云盘。
  • cloud_ssd:SSD云盘。
  • ephemeral_ssd:本地SSD盘。
DiskNameString数据盘名称。长度为2~128个字符。必须以英文字母或汉字开头,不能以http://https://开头。可包含英文字母、汉字、数字、半角冒号(:)、下划线(_)和短划线(-)。
DescriptionString数据盘描述。长度为2~256个字符,不能以http://https://开头。
SnapshotIdString创建数据盘使用的快照。
SizeString系统盘大小。

取值范围:

  • cloud:5~2000。
  • cloud_efficiency:20~32768。
  • cloud_ssd:20~32768。
  • ephemeral_ssd:5~800。

单位:GB。

EncryptedBoolean是否加密数据盘。取值:
  • true:加密。
  • false:不加密。
DeleteWithInstanceBoolean数据盘是否随实例释放而释放。取值:
  • true:释放。
  • false:不释放。
PerformanceLevelString创建ESSD云盘作为数据盘使用时,云盘的性能等级。取值:
  • PL0(默认):单盘最高随机读写IOPS 1万。
  • PL1:单盘最高随机读写IOPS 5万。
  • PL2:单盘最高随机读写IOPS 10万。
  • PL3:单盘最高随机读写IOPS 100万。

NetworkInterfaces语法

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

NetworkInterfaces属性

属性名称类型必须允许更新描述约束
PrimaryIpAddressString弹性网卡的主私有IP地址。
VSwitchIdString弹性网卡所属的交换机ID。
SecurityGroupIdString弹性网卡所属的安全组ID。
NetworkInterfaceNameString弹性网卡名称。
DescriptionString弹性网卡描述信息。长度为2~256个字符,不能以http://https://开头。

Tags语法

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

Tags属性

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

TemplateTags语法

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

TemplateTags属性

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

返回值

Fn::GetAtt

  • LaunchTemplateId:实例启动模板ID。
  • LaunchTemplateName:实例启动模板名称。
  • DefaultVersionNumber:实例启动模板默认版本号。
  • LatestVersionNumber:实例启动模板最新版本号。

示例

  • YAML格式

    ROSTemplateFormatVersion: '2015-09-01'
    Description: Test ECS LaunchTemplate
    Parameters:
      VSwitchId:
        Type: String
        AssociationProperty: ALIYUN::ECS::VSwitch::VSwitchId
      SecurityGroupId:
        AssociationProperty: ALIYUN::ECS::SecurityGroup::SecurityGroupId
        Type: String
    Resources:
      LaunchTemplate:
        Type: ALIYUN::ECS::LaunchTemplate
        Properties:
          LaunchTemplateName: mytest
          VersionDescription: Test create LaunchTemplate
          ImageId: centos_7
          InstanceType: ecs.c5.large
          SystemDiskCategory: cloud_essd
          SecurityGroupId:
            Ref: SecurityGroupId
          VSwitchId:
            Ref: VSwitchId
    Outputs: {}
  • JSON格式

    {
      "ROSTemplateFormatVersion": "2015-09-01",
      "Description": "Test ECS LaunchTemplate",
      "Parameters": {
        "VSwitchId": {
          "Type": "String",
          "AssociationProperty": "ALIYUN::ECS::VSwitch::VSwitchId"
        },
        "SecurityGroupId": {
          "AssociationProperty": "ALIYUN::ECS::SecurityGroup::SecurityGroupId",
          "Type": "String"
        }
      },
      "Resources": {
        "LaunchTemplate": {
          "Type": "ALIYUN::ECS::LaunchTemplate",
          "Properties": {
            "LaunchTemplateName": "mytest",
            "VersionDescription": "Test create LaunchTemplate",
            "ImageId": "centos_7",
            "InstanceType": "ecs.c5.large",
            "SystemDiskCategory": "cloud_essd",
            "SecurityGroupId": {
              "Ref": "SecurityGroupId"
            },
            "VSwitchId": {
              "Ref": "VSwitchId"
            }
          }
        }
      },
      "Outputs": {
      }
    }

更多示例,请参见创建ECS实例启动模板和创建弹性供应组的组合示例:JSON示例YAML示例