最新消息:

使用Python API创建阿里云ECS主机

Linux ipcpu 418浏览

使用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主机