RunInstances_云服务器 ECS_API文档

插件下载了解更多
VS Code 插件
安装插件之前,确保已安装 VS Code安装插件之前,确保已安装 VS Code
Alibaba Cloud Developer Toolkit is a collection of extensions that can help access Alibaba Cloud services in Visual Studio Code.
JetBrains 插件
安装插件之前,确保已安装 JetBrains IDE安装插件之前,确保已安装 JetBrains IDE
The Alibaba Cloud Developer Toolkit for JetBrains makes it easier to access Alibaba Cloud services.

接口说明

请确保在使用该接口前,已充分了解 ECS 产品的收费方式和价格

本接口为异步接口,当前创建实例请求发送成功后会返回实例 ID,实例的创建和启动不是立即完成的,需要调用 DescribeInstanceStatus 查看实例信息,当返回信息中的状态为Running时代表创建并启动成功。

使用须知

  • 请确保您的账号已通过实名认证。更多信息,请参见账号实名认证相关文档

  • 请确保您创建的实例总数或者全实例规格 vCPU 不会超出系统配额。更多信息,请参见配额中心

  • 创建专有网络 VPC 类型实例前,请预先在相应的阿里云地域创建 VPC

注意事项

  • 若实例计费方式为包年包月(PrePaid),在付款时默认会使用您可用的优惠券。
  • 单次最多能创建 100 台实例,超出 100 台,建议您分批或并发调用。
  • 如果参数InternetMaxBandwidthOut的值大于 0,则自动为实例分配公网 IP。
说明 单个地域下,单个阿里云账号按固定带宽计费的公网带宽峰值总和存在限制,请参见公网带宽限制

使用建议

  • 测试场景:可以通过设置DryRun=true发送预检请求。
  • 释放实例:您可以通过参数AutoReleaseTime设置实例自动释放时间,或者调用 DeleteInstances 进行手动释放。
  • 管理与检索:建议您为每批次启动的实例指定标签(Tag.N.KeyTag.N.Value),并且为主机名(HostName)和实例名称(InstanceName)添加有序后缀(UniqueSuffix)。具体操作,请参见批量设置有序的实例名称或主机名称
  • 启动模板:利用实例启动模板能为您免除每次创建实例时都需要填入大量配置参数的麻烦,您可以通过 CreateLaunchTemplate 创建实例启动模板后,在RunInstances请求中指定LaunchTemplateIdLaunchTemplateVersion使用启动模板。
  • 关闭超线程:在内存密集型业务场景,可以通过设置CpuOptions.ThreadsPerCore=1关闭超线程来提高内存配比。
  • 开启巨型帧:可以指定 NetworkOptions.EnableJumboFrame=true在创建时开启Jumbo frame特性。 更多信息,请参见 ECS 实例 MTU

请求示例

假设您需要在华东 1(杭州)地域创建一些 ECS 实例。期望使用特定的镜像、实例规格、安全组和虚拟交换机,同时配置一定容量的系统盘和数据盘,并分配公网 IP 和设定实例名称与密码。相关配置请求参数如下:

RegionId:"cn-hangzhou", //设置华东 1(杭州)地域
ImageId:"aliyun_3_x64_20G_alibase_20221102.vhd", //设置镜像 ID
InstanceType:"ecs.g7.large", //设置实例规格
SecurityGroupId:"sg-bp150uqocpf9jj70****", //设置安全组 ID
VSwitchId:"vsw-bp1qo7s91cbch5i4l****", //设置虚拟交换机 ID
SystemDisk:{
  Category:"cloud_essd", //设置系统盘类别为 ESSD 云盘
  Size:40, //设置系统盘大小为 40GiB
},
DataDisk:[
  {
    Category:"cloud_essd", //设置数据盘类别为 ESSD 云盘
    Size:100, //设置数据盘大小为 100GiB
  }
],
HostName:"ECS-test", //设置实例主机名称
Password:"ECS@test1234", //设置实例登录密码
InternetMaxBandwidthOut:10 //设置公网出带宽为 10Mbit/s

在上述配置的基础上,创建不同类型实例:

示例:创建 5 台自动续费的包年包月实例
Amount:5, //创建数量为 5 台
InstanceChargeType:"PrePaid", //表示包年包月
PeriodUnit:"Month", //设置时长单位为"月"
Period:1, //设置时长为 1 个月
AutoRenew:true, //表示自动续费
AutoRenewPeriod:1 //续费时长为 1 个月
示例:创建 10 台按量付费实例
Amount:10, //创建数量为 10 台
InstanceChargeType:"PostPaid", //表示按量付费
SpotStrategy:"NoSpot" //默认值,表示正常按量付费
示例:创建 20 台抢占式实例,并设置竞价策略和保留时长
Amount:20, //创建数量为 20 台
InstanceChargeType:"PostPaid",
SpotStrategy:"SpotAsPriceGo", //表示抢占式实例的竞价策略为根据市场价格自动出价
SpotDuration:1 //设置抢占式实例的保留时长为 1 小时

假设您已通过 CreateLaunchTemplate 创建了一个实例启动模版,现在需要使用该模版在华东 1(杭州)地域创建一些 ECS 实例。示例如下:

示例:根据实例启动模版创建 10 台 ECS 实例
RegionId:"cn-hangzhou", //设置华东 1(杭州)地域
Amount:10, //创建数量为 10 台
LaunchTemplateId:"lt-bp14xczpoxvb6rre****" //设置实例启动模版 ID

注意 实例的参数和模版内的参数同时指定时,优先以实例参数创建。例如:模版内的付费方式是包年包月,同时InstanceChargeType设定为PostPaid,创建的即为按量付费类型实例。

流控信息

请求速率为100/60(s)。更多流控信息,请前往配额中心查看

授权信息

如下是此API对应的授权信息,用于RAM权限策略语句的Action元素中,为RAM用户或RAM角色授予调用此API的权限。请通过 RAM 访问控制设置,使用方法可参考访问控制帮助文档

具体说明如下:展开详情

操作访问级别资源类型条件关键字关联操作
ecs:RunInstances
Create
全部资源
*
vpc:IsDefaultVSwitch
vpc:IsDefaultVpc
vpc:VPC
ecs:IsDiskEncrypted
ecs:InstanceTypeFamily
ecs:InstanceType
ecs:ImageOwnerId
ecs:ImageSource
ecs:NotSpecifySecurityGroupId
ecs:LoginAsNonRoot
ecs:IsSystemDiskByokEncrypted
ecs:IsDiskByokEncrypted
ecs:PasswordInherit
ecs:PasswordCustomized
ecs:IsSystemDiskEncrypted
ecs:ImagePlatform
ecs:IsDiskEncrypted
ecs:SecurityHardeningMode

请求参数

字段名称字段详情
RegionIdstring

实例所属的地域 ID。您可以调用 DescribeRegions 查看最新的阿里云地域列表。

示例值:cn-hangzhou参考取值来源:
    DescribeRegions
ImageIdstring

镜像 ID,启动实例时选择的镜像资源。您可以通过 DescribeImages 查询您可以使用的镜像资源。如果您不指定LaunchTemplateIdLaunchTemplateName以确定启动模板,也不通过指定ImageFamily选用镜像族系最新可用镜像,则ImageId为必选参数。

示例值:aliyun_2_1903_x64_20G_alibase_20200324.vhd参考取值来源:
    ImportImage
    CopyImage
    CreateImage
    ExportImage
    DescribeImages
ImageFamilystring

镜像族系名称,通过设置该参数来获取当前镜像族系内最新可用镜像来创建实例。展开详情

示例值:hangzhou-daily-update参考取值来源:
    DescribeImages
InstanceTypestring

实例的资源规格。如果您不指定LaunchTemplateIdLaunchTemplateName以确定启动模板,InstanceType为必选参数。 展开详情

示例值:ecs.g6.large参考取值来源:
    DescribeInstanceTypes
    CreateInstance
SecurityGroupIdstring

新创建实例所属于的安全组 ID。同一个安全组内的实例之间可以互相访问,一个安全组能容纳的实例数量视安全组类型而定,具体请参见使用限制的安全组章节。展开详情

示例值:sg-bp15ed6xe1yxeycg7****参考取值来源:
    CreateSecurityGroup
    DescribeSecurityGroups
VSwitchIdstring

虚拟交换机 ID。如果您创建的是 VPC 类型 ECS 实例,必须指定虚拟交换机 ID,且安全组和虚拟交换机在同一个专有网络 VPC 中。您可以调用 DescribeVSwitches 查询已创建的交换机的相关信息。展开详情

示例值:vsw-bp1s5fnvk4gn2tws0****
InstanceNamestring

实例名称。长度为 2~128 个字符,支持 Unicode 中 letter 分类下的字符(其中包括英文、中文等)和数字。可以包含半角冒号(:)、下划线(_)、半角句号(.)或者短划线(-)。默认值为实例的InstanceId展开详情

示例值:k8s-node-[1,4]-alibabacloud参考取值来源:
    DescribeInstances
    ModifyManagedInstance
    DeregisterManagedInstance
Descriptionstring

实例的描述。长度为 2~256 个英文或中文字符,不能以http://https://开头。

示例值:Instance_Description
InternetMaxBandwidthIninteger<int32>

公网入带宽最大值,单位为 Mbit/s。取值范围:展开详情

示例值:10
InternetMaxBandwidthOutinteger<int32>

公网出带宽最大值,单位为 Mbit/s。取值范围:0~100。展开详情

示例值:10
HostNamestring

实例主机名称。限制说明如下:展开详情

示例值:k8s-node-[1,4]-ecshost
UniqueSuffixboolean

当创建多台实例时,是否为HostNameInstanceName自动添加有序后缀。有序后缀从 001 开始递增,最大不能超过 999。取值范围:展开详情

示例值:true
Passwordstring

实例的密码。长度为 8 至 30 个字符,必须同时包含大小写英文字母、数字和特殊符号中的三类字符。特殊符号可以是:展开详情

示例值:EcsV587!
PasswordInheritboolean

是否使用镜像预设的密码。取值范围:展开详情

示例值:false
ZoneIdstring

实例所属的可用区 ID,您可以调用 DescribeZones 获取可用区列表。展开详情

示例值:cn-hangzhou-g参考取值来源:
    DescribeZones
InternetChargeTypestring

网络计费类型。取值范围:展开详情

示例值:PayByTraffic
SystemDisk.Sizestring

系统盘大小,单位为 GiB。取值范围:展开详情

示例值:40
SystemDisk.Categorystring

系统盘的云盘种类。取值范围:展开详情

示例值:cloud_ssd
SystemDisk.DiskNamestring

系统盘名称。长度为 2~128 个字符,支持 Unicode 中 letter 分类下的字符(其中包括英文、中文和数字等)。可以包含半角冒号(:)、下划线(_)、半角句号(.)或者短划线(-)。

示例值:cloud_ssdSystem参考取值来源:
    DescribeDisks
SystemDisk.Descriptionstring

系统盘的描述。长度为 2~256 个英文或中文字符,不能以http://https://开头。

示例值:SystemDisk_Description
SystemDisk.PerformanceLevelstring

创建 ESSD 云盘作为系统盘使用时,设置云盘的性能等级。取值范围:展开详情

示例值:PL0
SystemDisk.AutoSnapshotPolicyIdstring

系统盘采用的自动快照策略 ID。

示例值:sp-bp67acfmxazb4p****参考取值来源:
    DescribeAutoSnapshotPolicyEx
    CreateAutoSnapshotPolicy
IoOptimizedstring

是否为 I/O 优化实例。已停售的实例规格实例默认值是 none,其他实例规格默认值是 optimized。取值范围:展开详情

示例值:optimized
UserDatastring

实例自定义数据。必须填写已采用 Base64 编码后的数据,且在进行 Base64 编码前自定义数据内容的大小不能超过 32 KB。展开详情

示例值:ZWNobyBoZWxsbyBlY3Mh参考取值来源:
    DescribeUserData
KeyPairNamestring

密钥对名称。展开详情

示例值:KeyPair_Name参考取值来源:
    DetachKeyPair
    CreateKeyPair
    AttachKeyPair
    ImportKeyPair
    DescribeKeyPairs
RamRoleNamestring

实例 RAM 角色名称。您可以使用 RAM API ListRoles 查询您已创建的实例 RAM 角色。

示例值:RAM_Name参考取值来源:
    AttachInstanceRamRole
    DetachInstanceRamRole
    DescribeInstanceRamRole
Amountinteger<int32>

指定创建 ECS 实例的数量。取值范围:1~100。展开详情

示例值:3取值 <= 1000
MinAmountinteger<int32>

指定 ECS 实例最小购买数量。取值范围:1~100。展开详情

示例值:2取值 <= 100
AutoReleaseTimestring

按量付费实例的自动释放时间。按照ISO 8601标准表示,使用 UTC+0 时间。格式为:yyyy-MM-ddTHH:mm:ssZ展开详情

示例值:2018-01-01T12:05:00Z
SpotStrategystring

按量付费实例的竞价策略。当参数InstanceChargeType取值为PostPaid时生效。取值范围:展开详情

示例值:NoSpot
SpotDurationinteger<int32>

抢占式实例的保留时长,单位为小时。 默认值:1。取值范围:展开详情

示例值:1取值 <= 720
SpotPriceLimitnumber<float>

设置实例的每小时最高价格。支持最大 3 位小数,参数SpotStrategy取值为SpotWithPriceLimit时生效。

示例值:0.97取值 <= 999999
SpotInterruptionBehaviorstring

抢占实例中断模式。取值范围:展开详情

示例值:Terminate
SecurityEnhancementStrategystring

是否开启安全加固。取值范围:展开详情

示例值:Active
ClientTokenstring

保证请求幂等性。从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken 只支持 ASCII 字符,且不能超过 64 个字符。更多信息,请参见如何保证幂等性

示例值:123e4567-e89b-12d3-a456-426655440000
HpcClusterIdstring

实例所属的 HPC 集群 ID。 展开详情

示例值:hpc-bp67acfmxazb4p****参考取值来源:
    CreateHpcCluster
    DescribeHpcClusters
DryRunboolean

是否只预检此次请求。取值范围:展开详情

示例值:false
DedicatedHostIdstring

是否在专有宿主机上创建 ECS 实例。由于专有宿主机不支持创建抢占式实例,指定DedicatedHostId参数后,会自动忽略请求中的SpotStrategySpotPriceLimit设置。展开详情

示例值:dh-bp67acfmxazb4p****参考取值来源:
    AllocateDedicatedHosts
    DescribeDedicatedHosts
LaunchTemplateIdstring

启动模板 ID。更多信息,请调用 DescribeLaunchTemplates展开详情

示例值:lt-bp1apo0bbbkuy0rj****参考取值来源:
    CreateLaunchTemplate
    DescribeLaunchTemplates
    ModifyLaunchTemplateDefaultVersion
LaunchTemplateNamestring

启动模板名称。展开详情

示例值:LaunchTemplate_Name参考取值来源:
    CreateLaunchTemplate
    DescribeLaunchTemplates
LaunchTemplateVersioninteger<int64>

启动模板版本。如果您指定了LaunchTemplateIdLaunchTemplateName而不指定启动模板版本号,则采用默认版本。

注意 该字段类型为 Long,在序列化/反序列化的过程中可能导致精度丢失,请注意数值不得大于 9007199254740991。
示例值:3参考取值来源:
    CreateLaunchTemplateVersion
    DescribeLaunchTemplateVersions
ResourceGroupIdstring

实例所在的企业资源组 ID。

示例值:rg-bp67acfmxazb4p****参考取值来源:
    ListResourceGroups
Periodinteger<int32>

购买资源的时长,单位由PeriodUnit指定。当参数InstanceChargeType取值为PrePaid时才生效且为必选值。一旦指定了DedicatedHostId,则取值范围不能超过专有宿主机的订阅时长。取值范围:展开详情

示例值:1
PeriodUnitstring

包年包月计费方式的时长单位。取值范围: 展开详情

示例值:Month
AutoRenewboolean

是否要自动续费。当参数InstanceChargeType取值PrePaid时才生效。取值范围:展开详情

示例值:true
AutoRenewPeriodinteger<int32>

单次自动续费的续费时长。取值范围: 展开详情

示例值:1
InstanceChargeTypestring

实例的付费方式。取值范围:展开详情

示例值:PrePaid参考取值来源:
    DescribeInstances
DeploymentSetIdstring

部署集 ID。

示例值:ds-bp1brhwhoqinyjd6****参考取值来源:
    CreateDeploymentSet
    DescribeDeploymentSets
DeploymentSetGroupNointeger<int32>

如果您设置的部署集对应的策略为部署集组高可用策略(AvailabilityGroup),可以通过该参数指定实例在部署集中的分组号。取值范围:1~7。

示例值:1
PrivateIpAddressstring

实例私网 IP 地址。专有网络 VPC 类型 ECS 实例设置私网 IP 地址时,必须从虚拟交换机(VSwitchId)的空闲网段中选择。展开详情

示例值:10.1.**.**参考取值来源:
    AssignPrivateIpAddresses
CreditSpecificationstring

设置突发性能实例的运行模式。取值范围:展开详情

示例值:Standard
Ipv6AddressCountinteger<int32>

为主网卡指定随机生成的 IPv6 地址数量。取值范围:1~10。展开详情

示例值:1
NetworkInterfaceQueueNumberinteger<int32>

主网卡队列数。您需要注意:展开详情

示例值:8取值 >= 1
DeletionProtectionboolean

实例释放保护属性,指定是否支持通过控制台或 API( DeleteInstance )释放实例。取值范围: 展开详情

示例值:false
HibernationOptions.Configuredboolean
说明 该参数正在邀测中,暂未开放使用。
示例值:false
Affinitystring

专有宿主机实例是否与专有宿主机关联。取值范围:展开详情

示例值:default
Tenancystring

是否在专有宿主机上创建实例。取值范围:展开详情

示例值:default
StorageSetIdstring

存储集 ID。

示例值:ss-bp67acfmxazb4p****
StorageSetPartitionNumberinteger<int32>

存储集中的最大分区数量。取值范围:大于等于 1。

示例值:2取值 >= 1
CpuOptions.Coreinteger<int32>

CPU 核心数。该参数不支持自定义设置,只能采用默认值。展开详情

示例值:2
CpuOptions.ThreadsPerCoreinteger<int32>

CPU 线程数。ECS 实例的 vCPU 数=CpuOptions.Core取值*CpuOptions.ThreadsPerCore取值。展开详情

示例值:2
CpuOptions.Numastring

该参数已弃用。

示例值:1
CpuOptions.TopologyTypestring

实例的 Cpu 拓扑类型。取值范围:展开详情

示例值:DiscreteCoreToHTMapping
SecurityOptions.TrustedSystemModestring

可信系统模式。取值:vTPM。展开详情

示例值:vTPM
SecurityOptions.ConfidentialComputingModestring

机密计算模式。取值:Enclave。展开详情

示例值:Enclave
HttpEndpointstring

是否启用实例元数据的访问通道。取值范围:展开详情

示例值:enabled
HttpTokensstring

访问实例元数据时是否强制使用加固模式(IMDSv2)。取值范围:展开详情

示例值:optional
HttpPutResponseHopLimitinteger<int32>
说明 该参数暂未开放使用。
示例值:0
PrivatePoolOptions.MatchCriteriastring

实例启动的私有池容量选项。弹性保障服务或容量预定服务在生效后会生成私有池容量,供实例启动时选择。取值范围:展开详情

示例值:Open
PrivatePoolOptions.Idstring

私有池 ID。即弹性保障服务 ID 或容量预定服务 ID。

示例值:eap-bp67acfmxazb4****
Ispstring
说明 该参数正在邀测中,暂未开放使用。
示例值:null
SchedulerOptions.DedicatedHostClusterIdstring

指定 ECS 实例所属的专有宿主机集群,系统会自动选择该专有宿主机集群中的一台专有宿主机部署 ECS 实例。展开详情

示例值:dc-bp12wlf6am0vz9v2****参考取值来源:
    DescribeDedicatedHostClusters
    CreateDedicatedHostCluster
SecurityGroupIdsarray<string>

将实例同时加入多个安全组。N 的取值范围与实例能够加入安全组配额有关。更多信息,请参见安全组限制展开详情

示例值:sg-bp15ed6xe1yxeycg7****子级条数 <= 51
HostNamesarray<string>

创建多台实例时,为每台实例指定不同的主机名。

示例值:ecs-host-01子级条数 <= 1000
DataDiskarray<object>

数据盘信息集合列表。

子级条数 <= 16
Arnarray<object>
说明 该参数暂未开放使用。
子级条数 <= 16
NetworkInterfacearray<object>

弹性网卡信息。

子级条数 <= 10
Tagarray<object>

实例、云盘和主网卡的标签信息。

子级条数 <= 71
Ipv6Addressarray<string>

为主网卡指定一个或多个 IPv6 地址。支持设置最多 10 个 IPv6 地址,即 N 的取值范围:1~10。展开详情

示例值:Ipv6Address.1=2001:db8:1234:1a00::***子级条数 <= 10
SystemDiskobject

系统盘相关参数,目前专属块存储集群 ID(StorageClusterId)需要通过该参数设置参数值。

ImageOptionsobject

镜像相关属性信息。

NetworkOptionsobject

网络相关属性参数。

AutoPayboolean

创建实例时,是否自动支付。取值范围:展开详情

示例值:true
PrivateDnsNameOptionsobject

实例的私网域名配置信息集合。展开详情

返回参数

字段名称字段详情
RequestIdstring

请求 ID。

示例值:473469C7-AA6F-4DC5-B3DB-A3DC0DE3****
OrderIdstring

订单 ID。该参数只有创建包年包月 ECS 实例(请求参数InstanceChargeType=PrePaid)时有返回值。

示例值:123456****
TradePricenumber<float>

订单成交价。

示例值:0.165
InstanceIdSetsobject

返回示例

变更历史

变更时间变更内容概要操作
2025-03-19
变更错误码400
变更错误码403
2025-03-18
变更错误码400
2025-02-19
变更请求参数SpotDuration
2025-02-10
变更错误码403
2025-01-17
变更错误码400
2024-12-26
变更错误码400
2024-12-25
变更错误码403

相关示例

创建实例(RunInstances)
2022-03-01
ECS云服务器 创建实例、重启实例以及状态查询
2022-03-24
本文介绍如何通过阿里云ECS SDK调用RunInstances创建一台或多台ECS实例。
2024-04-03
本文介绍如何通过阿里云ECS Java SDK调用DescribeRecommendInstanceType查询推荐或备选的实例规格信息,并提供了RunInstances与DescribeRecommendInstanceType搭配使用的最佳实践。
2024-04-03