开始想通过 aliyuncli 的 golang 源码进行编译安装(注:python 版的 aliyuncli 已不再维护),但没成功,详见 通过 golang 源码编译阿里云命令行工具 aliyuncli 出错

后来改为直接下载编译好的 aliyuncli

wget -qO- http://aliyun-cli.oss-cn-hangzhou.aliyuncs.com/aliyun-cli-linux-3.0.0-amd64.tgz | tar xvz -C /usr/local/bin

使用前通过 aliyun configure 命令配置 access key

# aliyun configure
Configuring profile '' in '' authenticate mode...
Access Key Id []: xxx
Access Key Secret []: yyy
Default Region Id []: cn-hangzhou
Default Output Format [json]: json (Only support json))
Default Language [zh|en] en:
Saving profile[] ...Done.

启用自动补全

echo 'complete -C /usr/local/bin/aliyun aliyun' >> .bash_profile

然后使用下面的命令购买按量付费的服务器

aliyun ecs CreateInstance \
--RegionId cn-hangzhou(地域) \
--ZoneId cn-hangzhou-b(可用区) \
--InstanceChargeType PostPaid(按量付费) \
--IoOptimized optimized(IO优化) \
--InstanceType ecs.n4.xlarge(实例规格) \
--ImageId m-xxx(镜像ID) \
--VSwitchId vsw-xxx(VPC交换机ID) \
--InternetChargeType PayByTraffic(公网按使用流量计费) \
--InternetMaxBandwidthOut 1(公网最大带宽) \
--SecurityGroupId sg-xxx(安全组ID) \
--HostName webserver-temp(主机名) \
--InstanceName webserver-temp(实例名称)

执行上面的命令可以完成购买,但目前存在的问题:

1)虽然指定了 InternetChargeType 与 InternetMaxBandwidthOut ,但创建的服务器没有分配公网 IP

2)服务器创建后处于停止状态,不能自动启动

3)缺少知道释放时间的参数

。。。

后来知道了:

1)分配公网IP需要执行 aliyun ecs AllocatePublicIpAddress 命令

2)启动服务器需要执行 aliyun ecs StartInstance 命令

3)设置自动释放时间需要执行 aliyun ecs ModifyInstanceAutoReleaseTime 命令

改进后的 shell 脚本如下

Result=`aliyun ecs CreateInstance \
--RegionId cn-hangzhou(地域) \
--ZoneId cn-hangzhou-b(可用区) \
--InstanceChargeType PostPaid(按量付费) \
--IoOptimized optimized(IO优化) \
--InstanceType ecs.n4.xlarge(实例规格) \
--ImageId m-xxx(镜像ID) \
--VSwitchId vsw-xxx(VPC交换机ID) \
--InternetChargeType PayByTraffic(公网按使用流量计费) \
--InternetMaxBandwidthOut 1(公网最大带宽) \
--SecurityGroupId sg-xxx(安全组ID) \
--HostName webserver-temp(主机名) \
--InstanceName webserver-temp(实例名称)`
InstanceId=`echo "$Result" | grep -Po "(i-[^\"]+)"`
sleep 30s
aliyun ecs AllocatePublicIpAddress --InstanceId $InstanceId
aliyun ecs StartInstance --InstanceId $InstanceId
aliyun ecs ModifyInstanceAutoReleaseTime --InstanceId $InstanceId --AutoReleaseTime $1

实测有效。

通过阿里云命令行工具 aliyuncli 购买服务器的更多相关文章

  1. 分享阿里云推荐码 IC1L2A,购买服务器可以直接打9折,另附阿里云服务器部署ASP.NET MVC5关键教程

    阿里云推荐码为:IC1L2A 阿里云还是不错滴. 以windows server 2008 R2为例,介绍如何从全新的服务器部署MVC5 站点. 新购买的阿里云服务器是没有IIS的,要安装IIS: 控 ...

  2. [原创]用命令行工具删除TFS2010服务器上的工作区信息

    下面的示例显示有关所有计算机上的所有用户已在地址 http://myserver:8080/tfs/DefaultCollection 上的以下团队项目集合中创建的所有工作区的列表. c:\proje ...

  3. 云存储命令行工具---libs3

    ceph 的客户端有很多,有s3cmd.cloudberryExplorer等,今天介绍另一个libs3 一. 安装 Libs3是RGW s3接口的命令行工具,与s3cmd类似,使用C++生成. 1. ...

  4. 命令行工具解析Crash文件,dSYM文件进行符号化

    备份   文/爱掏蜂窝的熊(简书作者)原文链接:http://www.jianshu.com/p/0b6f5148dab8著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”. 序 在日常开发 ...

  5. 从零开始打造个人专属命令行工具集——yargs完全指南

    前言 使用命令行程序对程序员来说很常见,就算是前端工程师或者开发gui的,也需要使用命令行来编译程序或者打包程序 熟练使用命令行工具能极大的提高开发效率,linux自带的命令行工具都非常的有用,但是这 ...

  6. 微软开放技术发布针对 Mac 和 Linux 的更新版 Azure Node.JS SDK 和命令行工具

    发布于 2013-12-04 作者 Eduard Koller 这次为我们使用Linux 的朋友带来了更多关于部署云上虚拟机的消息.今天,微软开放技术有限公司 (MS Open Tech),想与大家分 ...

  7. OpenStack命令行工具与API

    Openstack命令行工具 我们推荐Openstack命令行工具和Openstack的Dashboard两者结合使用.一些用户由于使用过其他云技术背景的,可能会使用EC2兼容的API,相对于我们需要 ...

  8. GO实现简单(命令行)工具:sftp,文檔压解,RDS备份,RDS备份下载

    GO实现简单(命令行)工具:sftp,文檔压解,RDS备份,RDS备份下载 轉載請註明出處:https://www.cnblogs.com/funnyzpc/p/11721978.html 内容提要: ...

  9. windows安装 阿里云的Fun工具

    由于项目使用到了 函数计算,特此了解到了需要安装 阿里云的Fun工具 Fun 是一个用于支持 Serverless 应用部署的工具,能帮助您便捷地管理函数计算.API 网关.日志服务等资源.它通过一个 ...

随机推荐

  1. 夯实基础之php学习-2提高篇

    1,Jpgraph, 详见Php图形化jpgraph 2,文件系统 文件的操作步骤:打开文件->操作文件->关闭文件 打开文件fopen(filename,mode) 关闭文件fclose ...

  2. textarea输入框限制字数(JS)

    第一种: <textarea onkeyup="checkLen(this)"></textarea> <div>您还可以输入 <span ...

  3. Java 集合系列 04 LinkedList详细介绍(源码解析)和使用示例

    java 集合系列目录: Java 集合系列 01 总体框架 Java 集合系列 02 Collection架构 Java 集合系列 03 ArrayList详细介绍(源码解析)和使用示例 Java ...

  4. mysql死锁,等待资源,事务锁,Lock wait timeout exceeded; try restarting transaction解决

    前面已经了解了InnoDB关于在出现锁等待的时候,会根据参数innodb_lock_wait_timeout的配置,判断是否需要进行timeout的操作,本文档介绍在出现锁等待时候的查看及分析处理: ...

  5. Core Java 学习笔记——2.基本数据类型&类型转换

    数据类型(8种基本类型:int/short/long/byte/float/double/char/boolean) 整型 int 4字节 -2 147 483 648~2 147 483 647 s ...

  6. hdu 1024

    参考了一下 http://moxi466839201.blog.163.com/blog/static/18003841620110220374942/ 滚动数组   状态转移方程不太好理解 .... ...

  7. 1602A液晶

    液晶显示屏中,1602型算是比较简单的一种,据说和12864还是全兼容的.这两天学习的结果如下.一.1602里的存储器有三种:CGROM.CGRAM.DDRAM.CGROM保存了厂家生产时固化在LCM ...

  8. javac 小记

    javac 到底是什么? javac 就是一个编译器,它把 Java 源代码编译成 Java 字节码,即 JVM 能够识别的二进制形式的文件. javac 由什么构成? 词法分析器:识别源代码中的 J ...

  9. luogu 1966 火柴排队 离散化+逆序对

    题意:找到最小改变对数使a数组的第i大和b数组的第i大相等 则先将a,b,数组编号再排序,则数组显示的就是排名第i的数的编号 再关键一步:c[a[i].id]=b[i].id 实质上就是新建一个数组, ...

  10. 通俗理解cookies,sessionStorage,localStorage的区别

    sessionStorage .localStorage 和 cookie 之间的区别共同点:都是保存在浏览器端,且同源的. 区别:cookie数据始终在同源的http请求中携带(即使不需要),即co ...