背景
除了可以在ECS控制台或者售卖页创建ECS之外,您可以使用OpenApi代码来弹性的创建和管理ECS。RunInstances支持按量批量创建,此处介绍ECS新功能——包年包月批量创建。
ECS创建
-
您可以了解更多批量按量创建及创建云服务器说明。
-
可以查询API介绍
- 也可以选择ECS控制台购买操作。
包年包月批量创建
下文以Aliyun CLI为例介绍包年包月批量创建
安装Aliyun CLI
CLI官网链接
首先确保您已经具备Python的Runtime,本文中使用的Python版本为2.7+。
- pip install aliyuncli
如果提示您没有权限,请切换sudo 继续执行。
- sudo pip install aliyuncli
系统显示如下类似信息,则表明安装成功.
- Successfully installed pip-10.0.1。
升级aliyun-python-sdk-ecs 版本为4.9.3及以上
- sudo pip --upgrade install aliyun-python-sdk-ecs
配置命令行工具
#在 Linux/UNIX 和 Mac OS 环境下,执行如下命令,打开并填写所列参数。
$ sudo aliyuncli configure
Aliyun Access Key ID [None]: <输入 Access Key ID>
Aliyun Access Key Secret [None]: <输入 Access Key Secret>
Default Region Id [None]: <输入您购买的阿里云产品的 Region Id>
Default output format [None]: <输入您需要的输出格式>
场景事例
-
InstanceChargeType:实例的计费方式。 默认值:PostPaid。取值范围:
- PrePaid:预付费,即包年包月。此时,您必须确认自己的账号支持余额支付或者信用支付,否则将报错 InvalidPayMethod。
- PostPaid:按量付费。
-
PeriodUnit:购买资源的时长单位。默认值:Month 。取值范围:
- Week:周
- Month:月
-
AutoRenew:预付费实例到期后是否自动续费,当参数 InstanceChargeType 取值 PrePaid 时生效。默认值:False。 取值范围:
- True:自动续费
- False:手动续费
-
AutoRenewPeriod:单次自动续费的续费时长。默认值:1。取值范围:
- PeriodUnit=Week 时:{“1”, “2”, “3”}
- PeriodUnit=Month 时:{“1”, “2”, “3”, “6”, “12”}
-
PrePaid:购买周期。
- PeriodUnit=Week 时:1, 2, 3, 4
- PeriodUnit=Month 时:1-9,12,24,36,48,60
此处只针对接口做最简单的例子。
# SecurityGroupId: 安全组Id sg-xxx 换成你要创建加入的安全组ID
# VSwitchId: vsw-xxxxx your_vswtich_id
# InstanceType: 实例规格 此处用:ecs.g5.large
# ImageId: 镜像Id 此处用:centos_7_03_64_20G_alibase_20170818.vhd
# 获取完整命令向右移
aliyuncli ecs RunInstances --RegionId cn-hangzhou --ImageId centos_7_03_64_20G_alibase_20170818.vhd --SecurityGroupId sg-xxx --VSwitchId vsw-xxxxx --Amount 2 --InstanceType ecs.g5.large --PeriodUnit Week --AutoRenew True --InstanceChargeType PrePaid --Period 3
返回结果
{
"InstanceIdSets": {
"InstanceIdSet": [
"i-xxxx",
"i-xxxx"
]
},
"RequestId": "68506B64-8410-49E4-A33A-0E71D741AAD1"
}