一个帮你自动建立阿里云抢占式实例并开启网络加速的脚本

支持做者,从这里购买阿里云!

参考

概述

目前阿里云海外节点的抢占式实例性价比至关高,服务器使用费用平均在0.01~0.02元/小时,外加流量费0.5~1.0元/G,特别适合上班族尤为是程序员平常使用。
上班来了启动脚本,下班了自动释放,一点不浪费,不看太多视频的话,一天的成本能够控制在2毛钱之内
经过启动GoogleBBR加速,经speedtest.net实测,上下行速度都可以跑满建立实例时设定的带宽上限。
测速html

本脚本实现的功能:node

  1. 在指定的阿里云地域上自动建立阿里云抢占式实例
  2. 启用GoogleBBR网络加速,这须要升级操做系统内核而后重启

注意,本人仅在Windows10 x64上测试过,其它平台未测试。linux

前提

  • 在阿里云有个帐号
  • 在阿里云充值至少120元人民币。这是由于阿里云要求帐户余额必须在100以上才能建立抢占式实例。剩下20用来平常消费,只要不常常看视频应该够用挺长时间了。不要担忧100元打水漂,经过支付宝/网银的充值,可在支付后的3个月内申请原路提现。
  • 在阿里云控制台"访问控制"里面,添加一个RAM子用户,此帐户专门用来支持API调用。
  • 给该RAM用户添加AliyunECSFullAccess和AliyunVPCFullAccess权限。由于脚本须要建立虚拟专网和ECS服务器。
  • 给该RAM用户建立一个AccessKey,而后把AccessKey ID和AccessKey Secret记住。注意:为了安全起见,阿里云不会保存Secret,所以Secret只会显示一次,必定立刻复制保存好!!不然就得建立个新的AccessKey。
  • 本地安装了node.js。我只在node12上测试过,但估计node8以上都应该没问题。

访问控制
<center>访问控制</center>git

RAM用户1
<center>建立RAM用户1</center>程序员

RAM用户2
<center>建立RAM用户2</center>github

RAM权限1
<center>添加RAM权限1</center>shell

RAM权限2
<center>添加RAM权限1</center>npm

RAM用户3
<center>获取AccessKeyID和AccessKeySecret</center>json

阿里云抢占式实例和流量计费规则

  • 抢占式实例有原价和市场价,你还能够设定出价,出价比市场价高才能建立成功,可是计费老是按照市场价的。
  • 目前这个脚本使用自动出价,这样理论是能够100%建立成功的。
  • 若是不设定自动释放时间,一般是1小时后实例会被自动释放。
  • 不满1小时按实际使用分钟数计费,不到1分钱则免费,不用担忧阿里云蚕食你的费用。
  • 本脚本建立的实例按实际使用流量计费,这个费用不一样区域不一样,目前大部分海外区域是1元/G之内。
  • 阿里云仅对流出流量计费,所以不用担忧被收两份钱。
  • 流量是每小时结算一次,不到1分钱则免费,所以要是一小时内浏览网页仅产生几M流量的话,就免单了。

脚本说明

  • 脚本会SSH连上服务器,并下载执行本项目中的bbr.sh脚原本启用GoogleBBR。关于BBR的原理和脚本介绍,请见参考。
  • GoogleBBR会升级CentOS操做系统内核,并重启服务器。
  • 有时由于网络缘由脚本会执行中断或失败,能够再次运行。但别忘了自行登陆阿里云后台释放掉未成功的实例,省1毛是一毛。

安装

配置

  • 以下修改配置文件 config.json
  • 在RAM配置段,把前面保存的AccessKeyID和AccessKeySecret填入。
  • 在ECS配置段,在地域即RegionId中填入目标地域ID。这个取决于从你本地链接的速度和价格,我的推荐新加坡,从我这里Ping值大约80ms,性价比最高。
  • 推荐设置一个自动释放时间AutoReleaseTime,不然1小时后服务器可能会被自动回收。
  • 带宽上限InternetMaxBandwidthOut预设值是10(M),你能够根据需求调整。
  • ECS的其它配置保持默认便可。
  • 阿里云海外节点地域对应表:
RegionId 地域名称
cn-hongkong 香港
ap-northeast-1 亚太东北 1 (东京)
ap-southeast-1 亚太东南 1 (新加坡)
ap-southeast-2 亚太东南 2 (悉尼)
ap-southeast-3 亚太东南 3 (吉隆坡)
ap-southeast-5 亚太东南 5 (雅加达)
ap-south-1 亚太南部 1 (孟买)
us-east-1 美国东部 1 (弗吉尼亚)
us-west-1 美国西部 1 (硅谷)
eu-west-1 英国 (伦敦)
me-east-1 中东东部 1 (迪拜)
eu-central-1 欧洲中部 1 (法兰克福)

ECS配置项详解

配置项 说明
RegionId 服务器目标地域ID,见上表
AutoReleaseTime 自动释放时间,HH:mm:ss格式
ImageId 操做系统镜像ID,这里使用CentOS 7.6,不要修改
InstanceType 实例类型,这是最便宜的1核1G
InternetMaxBandwidthOut 出网流量带宽上限,单位M;默认10,想要嗨起来的能够增长
InternetChargeType 流量计费类型,默认按实际使用流量,不要改
SystemDisk.Size 系统盘大小,单位G;默认最小值20G,足够用了
SystemDisk.Category 系统盘类型,不要改
SpotStrategy 抢占式实例出价类型,默认按市场价,建议不要改

启动

  • 执行 npm start,而后等待便可。
  • 命令是按照windows配置的,linux/mac上能够这样手动执行脚本:<br/>
    node index.js | ./node_modules/.bin/bunyan<br/>
    bunyan是日志过滤工具,不用也能够
  • 整个脚本运行大概须要3 ~ 5分钟,最后会打印出SSH链接信息,能够远程管理服务器。
相关文章
相关标签/搜索