为了更方便的实现弹性的资源创建,方便用户一次运行多台ECS按量实例来完成应用的开发和部署,阿里云开放了ECS的批量创建实例接口RunInstances,可以单次最多创建100台实例,避免重复调用和创建。创建成功后可以自动启动、提供公网访问能力、自动分配公网带宽以及可以预约自动释放。
功能特性
RunInstances 批量创建实例接口可以帮助用户一次创建多台 ECS 按量付费实例来完成应用的开发和部署,方便实现弹性的资源创建。和目前提供的CreateInstance 接口相比,RunInstances 接口有下面的优点:
1. 单次可以最多创建 100 台实例,避免重复调用;2. 实例创建之后,实例会自动变成
Starting
状态,然后变成
Running
状态,无需用户调用
StartInstance 的操作;
3. 创建实例的时候指定了
InternetMaxBandwidthOut
,自动为用户分配公网
IP,不需要再调用分配 IP 的额外操作;
4. 用户可以一次创建 100 台 竞价实例,充分满足业务的弹性需求;
5. 创建的参数保持和 CreateInstance 保持兼容,增加了
Amount
参数来设定创建的个数,以及
AutoReleaseTime
参数来设定自动释放时间,不需要再额外设置自动释放时间;
6. 创建返回一个 InstanceIdSets
会记录相关的 InstanceIds
,用户只需要根据实例 ID 轮询实例状态即可。
前提条件
调用 API 前,用户需要 创建 AccessKey。
注意:优先建议选用子账号进行授权和操作,避免主账号泄露带来的系统风险。
实践步骤
1. 安装 ECS Python SDK : 确保已经具备 Python 的 Runtime,本文使用的 Python 版本为 2.7+。 其他的版本 SDK 大于 4.4.3 即可。2. 批量创建实例: 创建 RunInstancesRequest 的实例,填入相关需要的参数即可。
3. 批量创建实例并自动分配公网 IP: 相比批量创建实例的代码,只需要添加一行属性,指定公网的带宽即可。
4. 批量创建实例并自动设置自动释放时间:相比批量创建实例,只需要添加一行属性,指定实例的自动释放时间即可。自动释放时间按照 ISO8601 标准表示,并需要使用 UTC 时间,格式为 yyyy-MM-ddTHH:mm:ssZ
。最短在当前时间之后半小时,最长不能超过当前时间起三年。
API参考链接