參考
概述
目前阿里雲海外節點的搶佔式實例性價比至關高,服務器使用費用平均在0.01~0.02元/小時,外加流量費0.5~1.0元/G,特別適合上班族尤爲是程序員平常使用。
上班來了啓動腳本,下班了自動釋放,一點不浪費,不看太多視頻的話,一天的成本能夠控制在2毛錢之內!
經過啓動GoogleBBR加速,經speedtest.net實測,上下行速度都可以跑滿建立實例時設定的帶寬上限。
html
本腳本實現的功能:node
- 在指定的阿里雲地域上自動建立阿里雲搶佔式實例
- 啓用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

<center>建立RAM用戶1</center>程序員

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

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

<center>添加RAM權限1</center>npm

<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鏈接信息,能夠遠程管理服務器。