自动创建阿里云抢占式实例
旧博文,搬到 csdn
原文:http://rebootcat.com/2020/08/24/auto_run_aliyun_spot/
aliyun_spot
自动创建阿里云抢占式实例。
支持一下作者,购买阿里云
背景
阿里云抢占式实例应该属于阿里云的一种闲置资源利用,性价比非常高,每小时的价格在 0.01 ~ 0.05 每小时,具体根据不同的配置和地域有差别,流量价格小于 1元/G.
抢占式实例最高可以以一折的价格购买 ECS 实例,并能稳定持有该实例至少一个小时。一个小时后,当市场价格高于您的出价或资源供需关系变化时,抢占式实例会被自动释放,请做好数据备份工作。
非常适合爬虫
非常适合爬虫
非常适合爬虫
也适合程序员个人日常开发使用,上班来创建,下班释放,开销基本可以控制在在 1毛 ~ 2 毛。
对于我来说,最近在写一个爬虫,看了很多代理都很贵,免费的又不稳定,正好了解到阿里云的抢占式实例,所以非常满足我的需求。
但是要注意,这个实例是有可能被释放的,但是不用担心,比如香港地区的释放率最近(2020-08-19)小于 3%. 另外,每个人可以最大创建 100 个实例,所以还是不用太担心。
脚本功能
脚本仓库: https://github.com/smaugx/aliyun_spot
自动创建阿里云抢占式实例
支持以下一些参数:
- 实例所属地域
- 创建的实例数量
- 公网出口带宽最大值
- 实例付费的策略和每小时最大价格
- 系统盘大小
- 释放时间(hours)
- 实例规格(cpu/mem/localdisk/net/ipv6)
手动释放一个或者多个实例
可以使用脚本提前释放一个或者多个实例。
创建的时候可以设置自动释放时间,当然也支持随时手动释放。
如何使用
$ python run_aliyunspot.py
usage: run_aliyunspot.py [-h] [-c [CREATE]] [-r [RELEASE]] [-l [LIST]] [-s [SPOTID [SPOTID ...]]]aliyunspot, 自动创建阿里云抢占式实例,支持自动/手动释放optional arguments:-h, --help show this help message and exit-c [CREATE], --create [CREATE]create aliyun spot instance and run instance-r [RELEASE], --release [RELEASE]release aliyun spot instance-l [LIST], --list [LIST]list local record aliyun spot instance-s [SPOTID [SPOTID ...]], --spotid [SPOTID [SPOTID ...]]aliyun spot instance_id for release, you can give more than one
1 克隆仓库
$ git clone https://github.com/smaugx/aliyun_spot.git
$ cd aliyun_spot
$ virtualenv -p python3 vv
$ source vv/bin/activate
$ pip install -r requirements.txt
2 调整配置
$ cp test_config.py config.py
# 打开配置文件,根据你自己的需求修改里面的配置选项
$ vim config.py
当然你也可以不用修改其他配置,只需要把你的 access_id 和 access_secret 填进去就可以,以及 key_pair_name 填进去。(见后文章节 #阿里云官网操作# )
默认创建的是香港地区的抢占式实例,内存 500MB, 1 CPU, 系统盘 20GB, 按流量计费(1元/G), 公网出口带宽 10Mbps, 1 小时候自动释放。
2020-08-19 上述默认配置的实例价格在 ¥ 0.018 /时。
如果你觉得这个配置(cpu/mem)无法满足你的要求,那么可以调整 instance_type 这个参数,表示实例规格,详细可以查看阿里云官网页面 云服务器 ECS > 实例 > 实例规格族
3 创建实例
$ python run_aliyunspot.py -c
will create and run aliyun spot instance, please wait...
Success. Instance creation succeed. InstanceIds: i-j6cfhcbb3o2pepduwgfk
Instance boot successfully: i-j6cfhcbb3o2pepduwgfk
Instances all boot successfullyInstanceId:i-j6cfhcbb3o2pepduwgfk
InstanceName:smaug-000-aliyun-8242148
HostName:smaug-000-aliyun-8242148
PublicIp:47.242.33.179
KeyPairName:aliyunspot
CreationTime:2020-08-24T13:48Z
AutoReleaseTime:2020-08-24T22:48Zinstance info saved in file:./ecs/ecs.i-j6cfhcbb3o2pepduwgfk
now you can use ssh: ssh -i ~/.ssh/aliyunspot.pem root@47.242.33.179
如上,创建成功。然后接下来就可以使用 ssh 登录:
$ ssh -i ~/.ssh/~/.ssh/aliyunspot.pem root@8.210.245.226
4 列出实例
$ python run_aliyunspot.py -l
list all local record instance:
['i-j6caz353cisgl3fzenwi', 'i-j6cbyis12fb1fpzk59fv', 'i-j6cfhcbb3o2pepduwgfk']
注意,上面仅仅是把之前创建并保存的实例信息从文件当中读取出来,并没有与 aliyun 交互。
5 释放实例
$ python run_aliyunspot.py -r -s i-j6caz353cisgl3fzenwi i-j6cbyis12fb1fpzk59fv
will release aliyun spot instance:
['i-j6caz353cisgl3fzenwi', 'i-j6cbyis12fb1fpzk59fv']
please wait...release instance:["i-j6caz353cisgl3fzenwi", "i-j6cbyis12fb1fpzk59fv"] done
阿里云官网操作
上面提到了几个配置是需要在阿里云官网操作的。
阿里云官网的使用还是挺复杂的,因为功能太多了,花费了我至少一个上午的时间才熟悉了整个操作,完成了整个脚本
所以整理了这个脚本方便大家使用,对阿里云的操作只需要下面几个:
- 注册一个阿里云账号,这个不用说了吧
- 充值 100 元以上,比如 130 元。因为创建实例账号里至少要 100 元
- 点击 https://ram.console.aliyun.com/overview 创建一个用户组,分配权限 AliyunECSFullAccess 和 AliyunVPCFullAccess
- 还是上一步的页面,添加 ram 子账号,添加到刚才创建的用户组,这个账号会用来编程访问 aliyun API
- 还是上一步的页面,为这个ram 子账号创建 AccessKey。记得保存好。
- 在 https://ecs.console.aliyun.com/ 页面选择 网络与安全-密钥对,创建密钥对 aliyunspot (名字任意),会自动下载这个私钥,记得保存好,一般要放到 ~/.ssh 目录下,并且记得
chmod 600 aliyunspot.pem
OK, 到这里基本上得到了我们脚本里需要的几个配置:
- access_id
- access_secret
- key_pair_name
把上述几个配置填到 config.py 中即可。
然后开始创建和管理你的实例吧!!
然后开始创建和管理你的实例吧!!
然后开始创建和管理你的实例吧!!
Blog:
rebootcat.com
email: linuxcode2niki@gmail.com
2020-08-24 于杭州
By 史矛革
附
- 阿里云官网
- Aliyun OpenAPI Explorer
相关文章:
What?! Python一行代码,能玩这么多童年的游戏?
来源 | 早起 Python责编 | Carol封图 | CSDN 下载自视觉中国儿童节就要来了,虽然秃头程序员没有头发,但是童心还是一直都在的,今天就分享一个私藏的GitHub项目——free-python-games,一行代码就能进入使用Python开发的小游戏快乐…

McAfee可能要收购NitroSecurity?
近日,根据国外媒体报道和业界人士的坊间传闻,有传闻指McAfee可能将在近期收购SIEM厂商NitroSecurity。最近,NitroSecurity正在准备IPO,去年年收入约4000万美元,在Gartner的MQ中位于Leader阵营。 NitroSecurity的SIEM技…

进程间通信IPC之--共享内存
每个进程各自有不同的用户地址空间,任何一个进 程的全局变量在另一个进程中都看不到,所以进程之间要交换数据必须通过内核,在内核中开辟一块缓冲 区,进程1把数据从用户空间拷到内核缓冲区,进程2再从内核缓冲区把数据读…

Scons构建C++项目
旧博文,搬到 csdn 原文:http://rebootcat.com/2020/08/30/scons/ 前言 我是一个 linux c 开发者,但是一直对 Makefile 的语法很是头痛,每次都记不住,所以每次写 Makefile 都很痛苦,Makefile 里需要你自己编…
2020 AI产业图谱启动,勾勒中国AI技术与行业生态
《2020年国务院政府工作报告》提出,重点支持「两新一重」建设。其中「两新一重」中的第一个「新」,就是新基建,而人工智能是新基建的重要组成部分。新基建首次被纳入政府工作报告后,各大科技厂商纷纷押注,重金投向「新…

Windows Phone 7 SDK 7.1 Beta2 发布
早上看到消息,有Marketplace账号的筒子们注意了,可以去下载芒果的ROM了,一个开发者账号只能更新一个WP7,以下是App hub上的消息:来自http://create.msdn.com/en-US/news/Mango_Beta。关于开发工具的更新,可…

javascript基础语法——表达式
前面的话 一般地,关于javascript基础语法,人们听得比较多的术语是操作符和语句。但是,其实还有一个术语经常使用,却很少被提到,这就是javascript表达式(expression)。本文将详细介绍javascript表达式,表达式…

Hexo Next 博客添加相册瀑布流
原文:https://rebootcat.com/2020/09/19/nextphotowall/ 前言 一直没有时间来整理下博客搭建的一些事情,现在补上一篇,给 Hexo Next 博客添加一个相册功能,使用瀑布流的方式。 原理说明 使用 github 作为仓库存储图片文件&…

【分享几个日常巡检 监控数据库的语句】
查看数据库表空间语句 select df.tablespace_name "表空间名",totalspace "总空间M",freespace "剩余空间M",round((1-freespace/totalspace)*100,2) "使用率%" from (select tablespace_name,round(sum(bytes)/1024/1024) totalspa…
AI换脸、声音篡改等,明确写入新版《民法典》
来源 | HyperAI超神经5 月 28 日,十三届全国人大三次会议表决通过了《中华人民共和国民法典》(以下简称《民法典》)第四编人格权中的第四章肖像权,明确提出了以信息技术手段,对于他人肖像、声音等权益的侵害认定。《民…

awk: (FILENAME=- FNR=1) 致命错误: 试图访问字段 -2
执行:awk {print $(NF-2)} aa.log出现错误:awk: (FILENAMEaa.log FNR1) 致命错误: 试图访问字段 -2可能和aa.log中数据有关系:改为:awk NF>1{print $(NF-2)} aa.log转载于:https://blog.51cto.com/henly/1786692

迁移博客到香港虚拟空间
原文: https://rebootcat.com/2020/09/20/virtual_space_blog/ 缘起 我的博客一直采用的是 github pages 来托管,中间断断续续的也没怎么管理过,偶尔写几篇博客,所以也就没怎么关心过访问速度,搜索引擎收录等问题。 …
自动化神经网络理论进展缓慢,AutoML算法的边界到底在哪?
作者 | 夕颜出品 | CSDN(ID:CSDNnews)「AI 技术生态论」 人物访谈栏目是 CSDN 发起的百万人学 AI 倡议下的重要组成部分。通过对 AI 生态顶级大咖、创业者、行业 KOL 的访谈,反映其对于行业的思考、未来趋势判断、技术实践,以及成…

让电脑通过gns3里的路由器上网
题目我感觉写的不好,反正就是这个意思,看下文 头几天有网友问cisco2811路由器怎么用ACL封掉QQ,当时就想帮他,但是手里又没有cisco路由器,只有GNS3 cisco模拟器。 现在的问题就是要用gns3模拟器的路由器充当真实工作中的…

文件上传的渐进式增强
文件上传是最古老的互联网操作之一。 20多年了,它几乎没变,还是原来的样子:操作麻烦、缺乏交互、用户体验不佳。在这个新技术日新月异的时代,显得非常落伍。 网页开发者们想了很多办法,试图提升文件上传的功能和操作体…

使用 mkdocs 搭建个人 wiki 站点
原文: https://rebootcat.com/2020/09/20/wiki/ why wiki 博客通常是用来记录一些完整的文章,每篇文章有一个主题。但是我想把平日里的一些笔记也记录到我的博客里,但笔记是零散的,随时的,不是完整的一个主题。所以打…
追忆童年,教你用Python画出儿时卡通人物
作者 | 张同学来源 | 凹凸数据大家好,我是张同学。又到一年一度的国际儿童节,作为逢节必过的程序猿,怎么可以放过这个学习技能的机会呢?于是,今天我们来学习 Python 的 Turtle 库绘制童年的卡通人物,一起做…

xx学OD -- 消息断点 RUN跟踪(上)
这一篇讲的是 消息断点和RUN跟踪的简单知识这一篇没怎么看明白 大概使用知道了 怎么用不太清楚。介绍本次软件特点输入后木有反应(纱布垃圾的。。哈哈)启动OllyDBG载入这个程序,F9让它运行。这个程序按我们前面讲的采用字串参考或函数参考的方法都很容易断下来。…

iOS-UIWebView添加头部和尾部
2019独角兽企业重金招聘Python工程师标准>>> 前言 项目中使用UIWebView显示本地或者是服务器上的页面很容易,但是仅限于显示页面,可控性并不高,如果有需要在头部和尾部加上原生的view,显示部分信息相对于全部使用UIWeb…

epoll 入门例子 tcp server/client
原文: https://rebootcat.com/2020/09/26/epoll_examples/ 复习一下 上一篇博文 epoll原理深入分析 详细分析了 epoll 底层的实现原理,如果对 epoll 原理有模糊的建议先看一下这篇文章。那么本文就开始用 epoll 实现一个简单的 tcp server/client。 本…
张红忠:智慧化时代,如何通吃5G模组、AIoT?
受访者 | 张红忠,日海智能副总裁、云AIoT创新中心总经理记者 | Aholiab,编辑 | 邓晓娟出品 | AI科技大本营(ID:rgznai100)日海智能是目前国内AIoT领域的头部企业,以AIoT为核心,形成了5G&AI物联网终端、…

JQUERY打造隐藏在左侧的弹性弹出菜单
代码简介: 隐藏在左侧的弹性弹出菜单,从淘宝扣下来的,也可作为JAvaScript缓冲动画的典型教程。本弹性菜单可扩展性强,实际上不光可以做成菜单,也可布局一些图文混排的内容或一段视频,总之被弹出的内容是在一…

Num55 boss09(activiti安装以及API)
2019独角兽企业重金招聘Python工程师标准>>> 安装流程设计器插件: 使用框架提供的方式创建23张表: 流程部署,定义,启动&查询,办理任务: 流程的部署,查询,删除 & …

模仿nginx修改进程名
个人博客原文: https://rebootcat.com/2020/10/25/setproctitle/ nginx 进程名 使用 nginx 的过程中,我们经常看到 nginx 的进程名是不同的,如下: $ ps -ef |grep nginx smaug 1183 1115 0 05:46 pts/2 00:00:00 grep …
机器学习模型的超参数优化 | 原力计划
作者 | deephub责编 | 王晓曼出品 | CSDN博客头图 | CSDN付费下载自东方IC引言模型优化是机器学习算法实现中最困难的挑战之一。机器学习和深度学习理论的所有分支都致力于模型的优化。机器学习中的超参数优化旨在寻找使得机器学习算法在验证数据集上表现性能最佳的超参数。超参…

准备IE--复习NP,NP从头开始,每天学一点,就多一点收获
2011-07-07 今天开始重新开始NP!每天一实验,加油!写下心路历程,为自己加油!转载于:https://blog.51cto.com/sunchangsheng/605482

[20160608]自治事务引起死锁.txt
[20160608]自治事务引起死锁.txt --链接http://www.itpub.net/thread-2060966-2-1.html上的讨论,很久以前也遇到过 --(http://blog.itpub.net/267265/viewspace-721262/),时间有点久远,自己重复测试看看: 1.环境: SCOTTtest> &r/ver1 PORT_STRING V…

动感效果的TAB选项卡 jquery 插件
动感效果的TAB选项卡 jquery 插件 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns"http://www.w3.org/1999/xhtml"><head><me…

Linux上隐藏进程名(初级版)
缘起 上一篇博文 模仿nginx修改进程名 中提到了一种修改进程名的方法,就像 nginx 一样,给不同进程命名为 master 以及 worker 等。那么能不能把新进程名设置为空字符串呢?如果能,又会有哪些应用场景呢? 答案可能是能…
神操作!一行Python代码搞定一款游戏?给力!
来源:pypl编程榜一直以来Python长期霸占编程语言排行榜前三位,其简洁,功能强大的特性使越来越多的小伙伴开始学习Python 。甚至K12的同学都开始学习Python 编程。新手入门的时候趣味性其实最重要的。那么一行Python 代码到底能玩出什么花样&a…