使用Python API创建阿里云ECS主机.md
概述
阿里云页面上批量创建主机是有500台限制的(可能跟账号级别有关)。
一般情况下是可以满足大家的需求的,但是要做运维系统建设的话,就需要使用API去调用了。好在阿里云提供了丰富的SDK可以使用,我们以Python为例,介绍下如何创建ECS主机。
SDK的安装
#@Python2.7版本为例
pip install aliyun-python-sdk-core
pip install aliyun-python-sdk-ecs
创建ECS
其中的
#!/usr/bin/env python
#coding=utf-8
from aliyunsdkcore import client
from aliyunsdkecs.request.v20140526 import CreateInstanceRequest
clt = client.AcsClient('<accessKeyId>','<accessSecret>','cn-hangzhou')
# 设置参数
request = CreateInstanceRequest.CreateInstanceRequest()
request.set_accept_format('json')
request.add_query_param('RegionId', 'cn-beijing')
request.add_query_param('ImageId', 'm-2ze372zb7i7qa0sisrw5')
request.add_query_param('InstanceType', 'ecs.sn1.xlarge')
request.add_query_param('SecurityGroupId', 'sg-2ze91qz7h3zhsca3ugee')
request.add_query_param('ZoneId', 'cn-beijing-d')
request.add_query_param('IoOptimized', 'optimized')
request.add_query_param('VSwitchId', 'vsw-2zebrmur8wn53zpss7bff')
# 发起请求
response = clt.do_action(request)
print response
看起来特别简单,设置参数,发起请求,然后就可以了。因此参数特别重要,下面慢慢解释:
RegionId 设置地域,比如华北2,华北3
ImageId 设置镜像
InstanceType 设置实例类型,比如8C16G的ecs.sn1.xlarge
SecurityGroupId 设置安全组
ZoneId 设置可用区AZ,比如华北2D区
VSwitchId 设置交换机ID
IoOptimized 选择是否采用IO优化实例
TIPS:这里需要注意的是VPC不需要单独指定,只需要指定VPC中的VSwitchId 交换机ID就可以了。
然后发送请求,如果成功的话,会返回实例ID。
默认开启的实例是按量付费类型,如果需要包月类型并且自动续费可以打开下面的选项
#@默认周期单位是:月
request.add_query_param('InstanceChargeType', 'PrePaid')
request.add_query_param('Period', 1)
request.add_query_param('AutoRenew', True)
request.add_query_param('AutoRenewPeriod', 1)
默认情况下创建的实例是关机状态,需要单独去启动实例。
# 设置参数
request = StartInstanceRequest.StartInstanceRequest()
request.set_accept_format('json')
request.add_query_param('InstanceId', 'i-123456789')
# 发起请求
response = clt.do_action(request)
print response
参考资料
https://bbs.aliyun.com/read/539836.html?spm=5176.10695662.1996646101.searchclickresult.1b4c25eatllZwI
https://api.aliyun.com/
转载请注明:IPCPU-网络之路 » 使用Python API创建阿里云ECS主机