创建一个ECS实例启动模板,简称模板。实例启动模板能免除每次创建实例时都需要填入大量配置参数。
接口说明
调用 CreateLaunchTemplate 创建模板后,会自动生成该模板的一个默认版本,版本号为 1,您后续可以基于该模板创建多个版本(CreateLaunchTemplateVersion
),版本号从 1 开始顺序递增。如果您在创建实例( RunInstances )时不指定模板版本号,会采用默认版本。
实例启动模板的版本中包含用于创建实例的相关配置,例如实例所属地域、镜像 ID、实例规格、安全组 ID 和公网带宽等。如果版本中没有指定某一实例配置,您需要在创建实例时为实例指定该配置。
调用该接口时,您需要注意:
-
每个账号在一个地域最多能创建 30 个实例启动模板,且每个模板最多能有 30 个版本。
-
实例启动模板的参数大多数为可选参数。创建模板时,阿里云不会验证模板中参数取值的存在性和有效性。只会在真正创建实例时校验参数取值的有效性。
-
如果实例启动模板中设置了某一配置,创建实例( RunInstances )时就无法过滤掉该配置。例如,如果模板设置了
HostName=LocalHost
,RunInstances
中HostName
取值为空时,实例的主机名依然是LocalHost
。如果您想覆盖HostName=LocalHost
这一配置,可以在RunInstances
中取HostName=MyHost
或其他参数值。
调试
您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。
授权信息
下表是API对应的授权信息,可以在RAM权限策略语句的Action
元素中使用,用来给RAM用户或RAM角色授予调用此API的权限。具体说明如下:
- 操作:是指具体的权限点。
- 访问级别:是指每个操作的访问级别,取值为写入(Write)、读取(Read)或列出(List)。
- 资源类型:是指操作中支持授权的资源类型。具体说明如下:
- 对于必选的资源类型,用背景高亮的方式表示。
- 对于不支持资源级授权的操作,用
全部资源
表示。
- 条件关键字:是指云产品自身定义的条件关键字。
- 关联操作:是指成功执行操作所需要的其他权限。操作者必须同时具备关联操作的权限,操作才能成功。
操作 | 访问级别 | 资源类型 | 条件关键字 | 关联操作 |
---|---|---|---|---|
ecs:CreateLaunchTemplate | create |
|
| 无 |
请求参数
名称 | 类型 | 必填 | 描述 | 示例值 |
---|---|---|---|---|
RegionId | string | 是 | 地域 ID。您可以调用 DescribeRegions 查看最新的阿里云地域列表。 | cn-hangzhou |
TemplateTag | array<object> | 否 | 启动模版自身的标签对信息。 说明
当前仅支持通过 API 创建和查询启动模板的标签,控制台无法创建或查看。
| |
object | 否 | 启动模版自身的标签对信息。 | ||
Key | string | 否 | 启动模板的标签键。N 的取值范围:1~20。一旦传入该值,则不允许为空字符串。最多支持 128 个字符,不能以 | TestKey |
Value | string | 否 | 启动模板的标签值。N 的取值范围:1~20。一旦传入该值,可以为空字符串。最多支持 128 个字符,不能以 | TestValue |
LaunchTemplateName | string | 是 | 实例启动模板名称。长度为 2~128 个英文或中文字符。必须以大小写字母或中文开头,不能以 | testLaunchTemplateName |
VersionDescription | string | 否 | 实例启动模板的版本描述。长度为 2~256 个英文或中文字符,不能以 | testVersionDescription |
ImageId | string | 否 | 镜像 ID,启动实例时选择的镜像资源。您可以通过 DescribeImages 查询您可以使用的镜像资源。 | win2008r2_64_ent_sp1_en-us_40G_alibase_20170915.vhd |
ImageOwnerAlias | string | 否 | 镜像来源。取值范围:
| system |
PasswordInherit | boolean | 否 | 是否使用镜像预设的密码。 说明
使用该参数时,Password 参数必须为空,同时您需要确保使用的镜像已经设置了密码。
| false |
InstanceType | string | 否 | 实例的资源规格。更多信息,请参见实例规格族,也可以调用 DescribeInstanceTypes 接口获得最新的规格表。 | ecs.g5.large |
SecurityGroupId | string | 否 | 指定新创建实例所属于的安全组 ID。同一个安全组内的实例之间可以互相访问,一个安全组最多能管理 1000 台实例。 说明
不支持同时指定 SecurityGroupId 和SecurityGroupIds.N 。
| sg-bp15ed6xe1yxeycg**** |
VpcId | string | 否 | 专有网络 VPC ID。 | vpc-bp12433upq1y5scen**** |
VSwitchId | string | 否 | 创建 VPC 类型实例时需要指定虚拟交换机 ID。 | vsw-bp1s5fnvk4gn2tws0**** |
InstanceName | string | 否 | 实例名称。长度为 2~128 个字符,支持 Unicode 中 letter 分类下的字符(其中包括英文、中文和数字等)。可以包含半角冒号(:)、下划线(_)、半角句号(.)或者短划线(-)。默认值为实例的 创建多台 ECS 实例时,您可以批量设置有序的实例名称,并且可以包含方括号([])和逗号(,)。具体操作,请参见批量设置有序的实例名称或主机名称。 | k8s-node-[1,4]-alibabacloud |
Description | string | 否 | 实例描述。长度为 2~256 个英文或中文字符,不能以 | testECSDescription |
InternetMaxBandwidthIn | integer | 否 | 公网入带宽最大值,单位为 Mbit/s。取值范围:
| 10 |
InternetMaxBandwidthOut | integer | 否 | 公网出带宽最大值,单位为 Mbit/s。取值范围为 0~100。 | 10 |
HostName | string | 否 | 云服务器的主机名。
| testHostName |
ZoneId | string | 否 | 实例所属的可用区 ID。 | cn-hangzhou-g |
SystemDisk.Category | string | 否 | 系统盘的云盘种类。取值范围:
已停售的实例规格且非 I/O 优化实例默认值为 cloud,否则默认值为 cloud_efficiency。 | cloud_ssd |
SystemDisk.Size | integer | 否 | 系统盘大小,单位为 GiB。取值范围:
该参数的取值必须大于或者等于 max{20, ImageSize}。 | 40 |
SystemDisk.DiskName | string | 否 | 系统盘名称。长度为 2~128 个英文或中文字符。必须以大小写字母或中文开头,不能以 | testSystemDiskName |
SystemDisk.Description | string | 否 | 系统盘描述。长度为 2~256 个英文或中文字符,不能以 | testSystemDiskDescription |
SystemDisk.Iops | integer | 否 | 说明
该参数正在邀测中,暂未开放使用。
| null |
SystemDisk.PerformanceLevel | string | 否 | 创建 ESSD 云盘作为系统盘使用时,设置云盘的性能等级。取值范围:
有关如何选择 ESSD 性能等级,请参见 ESSD 云盘。 | PL0 |
SystemDisk.DeleteWithInstance | boolean | 否 | 系统盘是否随实例释放。取值范围:
默认值:true。 | true |
SystemDisk.AutoSnapshotPolicyId | string | 否 | 系统盘采用的自动快照策略 ID。 | sp-gc7c37d4ylw7mtnk**** |
SystemDisk.ProvisionedIops | long | 否 | ESSD AutoPL 云盘预配置读写 IOPS。取值范围:0~min{50000, 1000*容量-基准性能}。 基准性能=min{1,800+50*容量, 50,000} 说明
当 DiskCategory 取值为 cloud_auto 时才支持设置该参数。更多信息,请参见ESSD AutoPL 云盘和修改 ESSD AutoPL 云盘预配置信息。
| 50000 |
SystemDisk.BurstingEnabled | boolean | 否 | 是否开启 Burst(性能突发)。取值范围:
| true |
IoOptimized | string | 否 | 是否为 I/O 优化实例。取值范围:
| optimized |
InstanceChargeType | string | 否 | 实例的计费方式。取值范围:
| PrePaid |
Period | integer | 否 | 购买资源的时长,单位为:月。当创建实例时,参数 | 1 |
InternetChargeType | string | 否 | 网络计费方式。取值范围:
说明
按使用流量计费模式下的出入带宽峰值都是带宽上限,不作为业务承诺指标。当出现资源争抢时,带宽峰值可能会受到限制。如果您的业务需要有带宽的保障,请使用按固定带宽计费模式。
| PayByTraffic |
EnableVmOsConfig | boolean | 否 | 是否启用实例操作系统配置。 说明
该参数即将被弃用,为提高兼容性,请尽量使用其他参数。
| false |
NetworkType | string | 否 | 实例网络类型。取值范围:
| vpc |
UserData | string | 否 | 实例自定义数据,需要以 Base64 方式编码,原始数据最多为 32 KB。 | ZWNobyBoZWxsbyBlY3Mh |
KeyPairName | string | 否 | 密钥对名称。
| testKeyPairName |
RamRoleName | string | 否 | 实例 RAM 角色名称。您可以使用 RAM API ListRoles 查询您已创建的实例 RAM 角色。 | testRamRoleName |
AutoReleaseTime | string | 否 | 自动释放时间。按照ISO 8601标准表示,并需要使用 UTC 时间。格式为:yyyy-MM-ddTHH:mm:ssZ。
| 2018-01-01T12:05:00Z |
SpotStrategy | string | 否 | 按量实例的抢占策略。当参数
| NoSpot |
SpotPriceLimit | float | 否 | 设置实例的每小时最高价格。支持最大 3 位小数,参数 | 0.97 |
SpotDuration | integer | 否 | 抢占式实例的保留时长,单位为小时。 默认值:1。取值范围:
实例回收前 5 分钟阿里云会通过 ECS 系统事件向您发送通知。抢占式实例按秒计费,建议您结合具体任务执行耗时来选择合适的保留时长。 说明
当 SpotStrategy 值为 SpotWithPriceLimit 或 SpotAsPriceGo 时该参数生效。
| 1 |
ResourceGroupId | string | 否 | 实例、块存储和弹性网卡所在的企业资源组 ID。 | rg-bp67acfmxazb4p**** |
TemplateResourceGroupId | string | 否 | 启动模板所在的企业资源组 ID。 | rg-bp67acfmxazb4p**** |
SecurityEnhancementStrategy | string | 否 | 是否为操作系统开启安全加固。取值范围:
| Deactive |
PrivateIpAddress | string | 否 | 实例私网 IP 地址。 专有网络 VPC 类型 ECS 实例设置私网 IP 地址时,必须从虚拟交换机( | 10.1.**.** |
DeploymentSetId | string | 否 | 部署集 ID。 | ds-bp1brhwhoqinyjd6**** |
Ipv6AddressCount | integer | 否 | 为主网卡指定随机生成的 IPv6 地址数量。取值范围为 1~10。 | 1 |
DataDisk | array<object> | 否 | 数据盘信息列表。 | |
object | 否 | 数据盘信息列表。 | ||
PerformanceLevel | string | 否 | 创建 ESSD 云盘作为数据盘使用时,设置云盘的性能等级。N 的取值必须和
有关如何选择 ESSD 性能等级,请参见 ESSD 云盘。 | PL1 |
Description | string | 否 | 数据盘描述。长度为 2~256 个英文或中文字符,不能以 | testDataDiskDescription |
SnapshotId | string | 否 | 创建数据盘 N 使用的快照。N 的取值范围为 1~16。指定参数 说明
不能使用早于 2013 年 7 月 15 日(含)创建的快照,请求会报错被拒绝。
| s-bp17441ohwka0yuh**** |
Size | integer | 否 | 第 N 个数据盘的容量大小,N 的取值范围为 1~16,内存单位为 GiB。取值范围:
该参数的取值必须大于等于参数 | 2000 |
Device | string | 否 | 数据盘的挂载点。挂载的数据盘数量不同,挂载点的命名不同:
说明
该参数仅用于全镜像(整机镜像)场景。您可以通过将此参数设置为全镜像中数据盘对应的挂载点,并修改对应的 DataDisk.N.Size 和DataDisk.N.Category 参数,达到修改全镜像中数据盘磁盘种类和大小的目的。
| /dev/xvdb |
DiskName | string | 否 | 数据盘名称。长度为 2~128 个英文或中文字符。必须以大小写字母或中文开头,不能以 | testDataDiskName |
Category | string | 否 | 数据盘 n 的云盘种类。取值范围:
I/O 优化实例的默认值为 cloud_efficiency,非 I/O 优化实例的默认值为 cloud。 | cloud_ssd |
DeleteWithInstance | boolean | 否 | 表示数据盘是否随实例释放。取值范围:
默认值:true。 | true |
Encrypted | string | 否 | 数据盘是否加密。 | false |
AutoSnapshotPolicyId | string | 否 | 数据盘采用的自动快照策略 ID。 | sp-m5e7fa9ute44ssa**** |
ProvisionedIops | long | 否 | ESSD AutoPL 云盘预配置读写 IOPS。取值范围:0~min{50000, 1000*容量-基准性能}。 基准性能=min{1,800+50*容量, 50,000} 说明
当 DiskCategory 取值为 cloud_auto 时才支持设置该参数。更多信息,请参见ESSD AutoPL 云盘和修改 ESSD AutoPL 云盘预配置信息。
| 50000 |
BurstingEnabled | boolean | 否 | 是否开启 Burst(性能突发)。取值范围:
| true |
NetworkInterface | array<object> | 否 | 弹性网卡信息。 | |
object | 否 | 弹性网卡信息。 | ||
VSwitchId | string | 否 | 弹性网卡所属的虚拟交换机 ID。 您需要注意:
| vsw-bp1s5fnvk4gn2tws0**** |
NetworkInterfaceName | string | 否 | 弹性网卡名称。 您需要注意:
| testEniName |
Description | string | 否 | 辅助弹性网卡描述信息。长度为 2~256 个英文或中文字符,不能以 | testEniDescription |
SecurityGroupId | string | 否 | 弹性网卡所属的安全组 ID。 您需要注意:
| sg-bp15ed6xe1yxeycg**** |
PrimaryIpAddress | string | 否 | 添加一张弹性网卡并设置主 IP 地址。 您需要注意:
说明
创建 ECS 实例时,您最多能添加一张辅助网卡。实例创建成功后,您可以调用 CreateNetworkInterface 和 AttachNetworkInterface 添加更多的辅助网卡。
| 192.168.**.** |
SecurityGroupIds | array | 否 | 弹性网卡所属的一个或多个安全组 ID。
您需要注意:
| |
string | 否 | 弹性网卡所属的一个或多个安全组 ID。
您需要注意:
| sg-bp67acfmxazb4p**** | |
InstanceType | string | 否 | 弹性网卡类型。N 的取值范围为 1~2,设置 1 个弹性网卡时,支持设置 1 个主网卡或 1 个辅助网卡;设置 2 个弹性网卡时,仅支持同时设置 1 个主网卡和 1 个辅助网卡。 参数取值范围:
默认值:Secondary。 | Secondary |
NetworkInterfaceTrafficMode | string | 否 | 主网卡的通讯模式。参数取值范围:
| Standard |
Tag | array<object> | 否 | 通过该模板的版本创建的实例、云盘和主网卡的标签信息。 使用场景 | |
object | 否 | 通过该模板的版本创建的实例、云盘和主网卡的标签信息。 | ||
Key | string | 否 | 通过该模板的版本创建的实例、云盘和主网卡的标签键。N 的取值范围:1~20。一旦传入该值,则不允许为空字符串。最多支持 128 个字符,不能以 aliyun 和 acs:开头,不能包含 http://或 https://。 | TestKey |
Value | string | 否 | 通过该模板的版本创建的实例、云盘和主网卡的标签值。N 的取值范围:1~20。一旦传入该值,可以为空字符串。最多支持 128 个字符,不能包含 http://或者 https://。 | TestValue |
SecurityGroupIds | array | 否 | 实例加入的一个或多个安全组。N 的取值范围与实例能够加入安全组配额有关,更多信息,请参见使用限制。 说明
不支持同时指定 SecurityGroupId 和SecurityGroupIds.N 。
| |
string | 否 | 实例加入的一个或多个安全组。N 的取值范围与实例能够加入安全组配额有关,更多信息,请参见使用限制。 说明
不支持同时指定 SecurityGroupId 和SecurityGroupIds.N 。
| sg-bp15ed6xe1yxeycg7**** | |
SystemDisk.Encrypted | string | 否 | 系统盘是否加密。取值范围:
默认值:false。 说明
中国香港 D 可用区、新加坡 A 可用区暂不支持在创建实例时加密系统盘。
| false |
DeletionProtection | boolean | 否 | 实例释放保护属性,指定是否支持通过控制台或 API( DeleteInstance )释放实例。取值范围:
默认值:false。 说明
该属性仅适用于按量付费实例,且只能限制手动释放操作,对系统释放操作不生效。
| false |
CreditSpecification | string | 否 | Standard | |
AutoRenew | boolean | 否 | 是否要自动续费。取值范围:
默认值:false。 说明
当参数 InstanceChargeType 取值PrePaid 时才生效。
| true |
AutoRenewPeriod | integer | 否 | 单次自动续费的续费时长。取值范围:
默认值:1。 | 1 |
PeriodUnit | string | 否 | 包年包月计费方式的时长单位。取值范围:
| Month |
HttpEndpoint | string | 否 | enabled | |
HttpTokens | string | 否 | 访问实例元数据时是否强制使用加固模式(IMDSv2)。取值范围:
默认值:optional。 说明
有关访问实例元数据的模式,请参见实例元数据概述。
| optional |
HttpPutResponseHopLimit | integer | 否 | 说明
该参数暂未开放使用。
| 3 |
返回参数
示例
正常返回示例
JSON
格式
{
"LaunchTemplateId": "lt-m5eiaupmvm2op9d****",
"RequestId": "473469C7-AA6F-4DC5-B3DB-A3DC0DE3****",
"LaunchTemplateVersionNumber": 20
}
错误码
HTTP status code | 错误码 | 错误信息 | 描述 |
---|---|---|---|
400 | InvalidRegion.NotExist | %s | 指定的地域不存在,请确认参数是否正确。 |
400 | MissingParameter | %s | 缺失参数,请检查参数是否完整。 |
400 | InvalidParameter | %s | 无效的参数。 |
400 | InvalidLaunchTemplateName.Malformed | The specified parameter LaunchTemplateName is not valid. | 指定的参数 LaunchTemplateName 无效。 |
400 | InvalidDescription.Malformed | The specified parameter "VersionDescription" is not valid. | - |
400 | InvalidUserData.SizeExceeded | %s | 您设置的数据大小超过了允许的最大值。 |
400 | InvalidUserData.Base64FormatInvalid | %s | 您设置的数据格式不正确,请选择规定的格式数据。 |
400 | Duplicate.TagKey | The Tag.N.Key contain duplicate key. | 标签中存在重复的键,请保持键的唯一性。 |
400 | InvalidTagKey.Malformed | The specified Tag.n.Key is not valid. | 指定的标签键参数有误。 |
400 | InvalidTagValue.Malformed | The specified Tag.n.Value is not valid. | 指定的标签值参数有误。 |
400 | InvalidHostName.Malformed | The specified parameter "HostName" is not valid. | - |
400 | InvalidParams.CreateEniParams | %s | - |
403 | LaunchTemplateLimitExceed | %s | 超出启动模版数量限制。 |
403 | LaunchTemplateName.Duplicated | %s | 指定的启动模版名称已经存在。 |
403 | QuotaExceed.Tags | %s | 标签数超过可以配置的最大数量。%s为变量,将根据调用API的实际情况动态返回错误信息。 |
404 | InvalidResourceGroup.NotFound | The ResourceGroup provided does not exist in our records. | 资源组并不在记录中。 |
500 | InternalError | The request processing has failed due to some unknown error. | 内部错误,请重试。 |
访问错误中心查看更多错误码。
变更历史
变更时间 | 变更内容概要 | 操作 |
---|---|---|
2024-10-12 | OpenAPI 错误码发生变更、OpenAPI 入参发生变更 | 查看变更详情 |
2024-05-28 | OpenAPI 错误码发生变更、OpenAPI 入参发生变更 | 查看变更详情 |
2023-10-18 | OpenAPI 错误码发生变更、OpenAPI 入参发生变更 | 查看变更详情 |
2023-10-16 | OpenAPI 错误码发生变更、OpenAPI 返回结构发生变更 | 查看变更详情 |
2023-08-01 | OpenAPI 错误码发生变更、OpenAPI 入参发生变更 | 查看变更详情 |
2022-07-11 | OpenAPI 描述信息更新、OpenAPI 错误码发生变更、OpenAPI 入参发生变更 | 查看变更详情 |
2021-12-20 | OpenAPI 错误码发生变更、OpenAPI 入参发生变更 | 查看变更详情 |