阿里云
阿里云多端小程序中小企业获客首选
发表主题 回复主题
  • 14184阅读
  • 1回复

[免费公测]手把手教你玩转阿里云命令行工具之ECS篇

发帖
46
云币
141
— 本帖被 千鸟 设置为精华(2015-07-20) —
kP|!!N  
上一篇帖子, 给大家介绍了阿里命令行工具的基本架构. http://bbs.aliyun.com/read/249804.html?spm=0.0.0.0.yJpJFm
今天改一下题目, 玩点别的. 一直以来都在控制台做各种操作, 创建实例, 启动停止,  删除, 查询, 用着还不错. 不过对于键盘党和Linux党来说, 这并不是一个很嗨皮的体验. 总是缺乏在键盘上敲击的快感, 以及在女朋友/基友面前装X的兴奋感.
阿里云的这个命令行工具, 似乎能在这方面小小的满足一下键盘党们和Linux党们. 今天就用纯键盘的方式, 为大家演示一下, 如何创建一个实例, 启动, 停止, 删除的过程.
之前就介绍过, 阿里云命令行工具是基于openAPI, 所以, 创建实例的方法还是调用的open API的方法. 那我们先查询一下, 必要参数是什么:
:@p`E}1r{  
a@X'oV`(2b  
sO*6F`eiZ  
$M><K  
下面是必要的参数, RegionId , ImageId , InstanceType , SecurityGroupId. y_nh~&  
先假设, 我们在美丽的青岛机房创建一个最基本的实例(我演示, 当然用最便宜的..). 完全不用任何其他查询的情况下, 如何完成? Vt&I[osC  
!P;qc  
查询RegionId: %:/;R_  
用下面的命令查询RegionId: Z BYmAD  
$ aliyuncli Ecs DescribeRegions 6v1j*'  
vD*KJ3(c  
I/(`<s p  
IEA[]eik>  
好了, 现在我能看到, 青岛的RegionId cn-qingdao. v:+se6HY?p  
u|Ai<2b$  
获取当前所有可用的ImageId (thzW r6;  
ImageId 是指启动镜像, 需要选择的镜像ID. 控制台是可以手动选择的. 我们来看看命令行是怎么查询的: +I')>6  
$ aliyuncli Ecs DescribeImages --outputtable i44`$ps  
cEN^H  
yWs/~5[F  
9*x9sfCv9  
%AJdtJ@0H  
B^OhL!*tI  
因为内容很多, 所以, 这里只展示一部分. 我选择win2012_64_dataCtr_R2_cn_40G_alibase_20150429.vhd 作为我的启动镜像. HS2)vd@)  
8?(4E 'vf  
查询InstanceType M5q7` }>G  
实例的规格可能是动态变化的, 在启动实例时, 需要查询到当前可用的实例规格. ;m\(fW*ii  
$ aliyuncli Ecs DescribeInstanceTypes --outputtable aJfW75C  
#8(@a Y  
U@*z#T#"m  
选择一个规格: ecs.t1.small ':fVb3A[*d  
+Y \#'KrA  
dW=]|t&  
查询青岛这个Region下所有的SecurityGroupId Io:xG6yG  
启动一个实例必须加入到一个特定的安全组里面, 安全组是跟区域紧密相关的, 因此需要指定RegionId 查询, 青岛的RegionId cn-qingdao, 因此: 4RK^efnp  
$ aliyuncli Ecs DescribeSecurityGroups--RegionId cn-qingdao QM$?}>:  
Rk'pymap  
h;Bol  
我们得到一个安全组的id: sg-28y0uoo07  R` N-^x  
'Kq%t M26!  
万事具备, 只需要创建了 )QKZI))G0  
启动一个实例, 其实非常简单, 只是准备过程略显复杂, 信息准备好以后, 创建实例开始: +XQS -=  
$ aliyuncli Ecs CreateInstance --RegionIdcn-qingdao --ImageId [k.<x'#  
win2012_64_dataCtr_R2_cn_40G_alibase_20150429.vhd Hu;#uAnxQ  
--InstanceType ecs.t1.small--SecurityGroupId sg-28y0uoo07 :JOF!Q  
_qGkTiP  
LsLsSV  
ed617J  
此时, 我们创建的实例就已经成功了. ;MO %))  
*f,EDSN1@d  
查询一下这个实例 rSa 3u*xB  
有了实例ID , 我们可以查询一下这个实例信息, 运行状态等信息. K}* s^*X  
$ aliyuncli Ecs DescribeInstanceAttribute--InstanceId i-2818hr0xz PB`94W  
9 Z4H5!:(  
PsTwJLY   
H*!E*_  
-ERDWY  
U/TF,JUI  
可以看到, 各种信息, 都匹配我们刚才传下去的. `M|fwlAJQ  
-()CgtSR  
查询青岛区域所有的实例 "EA%!P:d,  
接着, 我来查询一下, 所有青岛区域下的实例信息: _RAPXU~ 6-  
$ aliyuncli Ecs DescribeInstances "zYlddh  
&'i>5Y  
?a(ApD\  
$_NVy>\&  
好了, 看到两个. 其中一个是刚创建的. [ibnI2I]`  
状态是stop. )f,iey\-  
Fd0R?d  
启动实例 )$Mgp *?  
$ aliyuncli Ecs StartInstance --InstanceId i-2818hr0xz "*<9)vQ6|  
iz& )FuOr  
QYDSE  
jsjH.O  
K&\xbT  
确认一下状态: 7]62=p2R  
$ aliyuncli Ecs DescribeInstanceAttribute--InstanceId i-2818hr0xz MoavA 3`  
截图略. 3N[t2Y1r  
实例状态会从Stopped Starting Running, 大约需要等待1分钟左右. r 1nl!  
'0lX;z1  
停止实例 Ic P]EgB  
$ aliyuncli Ecs StopInstance --InstanceId i-2818hr0xz bU7n1pzW,o  
t*iKkV^aE  
2ntL7F<ow  
4v_<<l  
1pg&?L.MA  
tDJtsOL  
% tTL  
同样确认状态: il|e5TD^  
实例状态会从Running à Stopping à Stop做转换. uD4on}  
 At @H  
删除实例 {CdQ)|  
演示结束, 我应该删除实例了. \!x~FVA  
$ aliyuncli Ecs DeleteInstance --InstanceIdi-2818hr0xz dG2k4 O  
AY<(`J{  
zmB6Y t  
fh,kbn==r?  
G)t_;iNL|  
B]iPixA6  
XYj!nx{k,  
再次用DescribeInstances确认: ]Dec/Nnj  
M#Kke9%2  
K2|2Ks_CS  
lY -2e>  
`1 A,sXfa  
ok成功删除. <hkSbJF  
+Np[m$Z *  
说在最后, 其实前面关于键盘党和Linux党的话是搞笑的, 这一套的操作看似简单, 在控制台我可以点点鼠标轻松搞定, 可是不要忘了, 加入, 你有100ECS或者99ECS? 你也打算一个个用鼠标点? 作为新手来说, 通过这个工具, 可以当做字典一样的查阅open API, 对熟悉阿里云的开放API来说, 也是非常有价值的. ,Pi!%an w  
阿里云命令行工具一个是方便对open API进行查询和调试, 另一方面, 就是在运维效率上, 可以通过二次开发, 得到一定的提升. 这也是我当前在做的工作. _@2}zT  
板砖轻拍 `xv2,Z9<  
顺便给一下下载地址: Bm"-X:='  
http://market.aliyun.com/products/53690006/cmgj000314.html?spm=5176.900004.4.2.OVGOQ8 C-)mP- |8  
xbqFek$/r  
fab. %$  
00SYNG!  
WoV"&9y  
T3wQRn  
本帖最近评分记录: 1 条评分 云币 +5
千鸟 云币 +5 不顶不舒服斯基 2015-07-20
级别: 分析狮
发帖
1559
云币
5022
只看该作者 沙发  发表于: 2015-07-20
不顶不舒服斯基
发表主题 回复主题
« 返回列表上一主题下一主题

限100 字节
如果您在写长篇帖子又不马上发表,建议存为草稿
 
验证问题: 27 - 26 = ?
上一个 下一个
      ×
      全新阿里云开发者社区, 去探索开发者的新世界吧!
      一站式的体验,更多的精彩!
      通过下面领域大门,一起探索新的技术世界吧~ (点击图标进入)