趣談預留例項券,一文搞懂雲上省錢最新玩法
摘要: 一文搞懂時髦的預留例項券(RI)
ECS近期推出了預留例項券(Reserved Instances),簡稱RI,這東西很cool,今天我們聊聊這個。
首先這篇Blog不是文件,讀完後想詳細瞭解文件的朋友請 點選
一個小故事
我來給大家講一個故事理解雲上的幾種付費方式:包年包月(預付費),按量付費(後付費),和預留例項券。
小明愛好游泳。一開始小明工作忙,去游泳的次數不固定,每次去都是鍛鍊完付款給老闆(後付費),好處是非常自由,想來就來,想偷懶就偷懶(按量付費在雲上隨時建立隨時釋放,按秒計費),但是每次的價格貴(請大家參見ECS價格表,按量付費價格是最貴的)。
後來,小明漸漸發現自己游泳非常規律,每天都去,想降低開銷。於是他和老闆談了一個合同,合同如下:小明先交錢(預付費),然後每次來都可以使用窗邊那條泳道,可以使用一年(包年),這樣可以得到比較大的折扣。有朋友會想,這合同好奇怪啊……大家淡定我只是想類比一下雲上的情況,大家想一想,雲上的預付費(包年月)是不是直接繫結優惠到一臺具體的機器(例項)的?
好,有一天小明因為種種原因不想用窗邊的泳道了,想換個大門邊的泳道鍛鍊,咋辦?因為違反合同了,小明應該把當前合同解除,再簽訂一個大門邊泳道的合同。大家想想,在雲上,如果包年月的使用者因為一些原因想釋放掉當前例項,再建立(這個過程常常發生,比如公司不同階段機器用途不一樣,或者業務配比不一樣),是不是要走退款流程,再下單購買,再建立……財務流程反覆,還需要一些人工運維參與。
最近,小明發現泳池推出了一種會員卡(雲上類比預留例項券),一次性購買會員卡後,可以隨便來免費游泳,哪個泳道都可以遊,甚至還能去兩條街以外的連鎖泳池使用,而且每次來游泳,都能保證小明有泳道可以用(資源預留)。會員卡花費和籤合同差不多,但是靈活性大大加強。
預留例項券(Reserved Instances)是什麼?
預留例項券就類似一張雲上的會員卡,或者說抵扣券。
會員卡上都有各自屬性吧,只有屬性匹配上了才能用,我們來看看這個預留例項券這個會員卡長啥樣?
這是一張小編從購買頁面抽象出來的圖,可以看到有5個重要資訊,分別是:
- 例項規格 ,例如圖上為ecs.g5.2xlarge
- 地理位置 ,例如圖上為華北2 可用區G
- 作業系統 ,例如圖上為Linux
- 有效期 ,例如圖上為3年
- 預留臺數 ,例如圖上為預留2臺
順便附上購買頁面裡的引數選擇視窗
地理位置選擇,有朋友可能會問這個有預留和無預留啥意思,別急後面會說到
例項規格和作業系統選擇,目前預留例項券暫時只支援Linux
有效期和預留臺數選擇
買了這個會員卡後怎麼用?答案是:搭配按量付費(後付費)例項用。
只要這個預留例項券在有效期(圖例中為3年),只要你的按量付費例項滿足券面屬性,你會發現,你的按量付費的計算部分(vCPU+記憶體)賬單直接被抵扣掉了,不需要對這部分費用再花錢!
例如,你有上圖例子中的預留例項券,你在華北2可用區G擁有一臺ecs.g5.2xlarge,作業系統為Linux的例項,這個例項計算部分的賬單是直接被完全抵扣掉的。不過,這個例子中,如果你的例項規格是ecs.c5.2xlarge,或者作業系統用的Windows,那抵扣會失敗,因為沒有和券的屬性完全符合。
當你的例項用完不想要了,釋放後再開一臺,只要還符合這些屬性,賬單仍然能被抵扣。不過請注意同時抵扣的按量付費例項不能超過券面的預留臺數(圖例中為2臺)。
明白了吧,預留例項券就是通過按量付費(後付費)的方式把靈活性保留的,同時客戶通過承諾使用時間(例如3年期,1年期),雲廠商可以為客戶大幅降低使用按量付費的成本(最高可以降低79%)。
預留例項券(Reserved Instances)的靈活變配
再來看看一些更有意思的玩法,首先看預留例項券的拆分。
假設您的例項券可抵扣臺數均為1臺,規格是ecs.g5.2xlarge(8核),那可以抵扣您一臺ecs.g5.2xlarge(8核)的按量付費例項。有一天,你覺得不需要單節點那麼大算力,於是想能不能讓券去抵扣兩臺ecs.g5.xlarge(4核),答案是:可以,只需要把券給拆分了就行。那麼能不能變成抵扣4臺ecs.g5.large(2核)?答案仍然是:可以,只需要再拆一次。
然後是預留例項券的合併。
剛剛這個過程逆向看,仍然成立。你有一堆小規格的券,通過合併,也可以合出大規格的券。具體的拆分合並規則請 參見
所以,預留例項券購買的是整個算力的折扣,在例項家族確定情況下,vCPU總數不變情況下,可以靈活調整你要的具體規格大小。
預留例項券(Reserved Instances)的種類
從有效期來看,目前線上的預留例項券有兩種:1年期,3年期。
從付費型別看,目前線上的預留例項券有三種:全預付(即一次性把會員卡費用付清),部分預付(先付一半費用,剩下的每小時出賬單),0預付(購買時不付任何費用,後面每小時出賬單)。詳情請 點選
從資源預留來看,目前線上的預留例項券有兩種:地域級,可用區級。下面我們說說這倆啥區別。
地域級RI和可用區級RI
首先,寫給不熟悉ECS的讀者一個概念:地域是一個區域的概念,可能包括多個可用區,比如下圖,華北2這個地域下面有7個可用區。您購買的例項地理位置上最後都會落到一個具體的可用區。
可用區級RI
如果你購買頁面選擇地理位置時,選了有預留,那麼你需要指定地域和具體的可用區,這時你購買的是可用區級RI。
對於可用區級RI,是不支援同地域下跨可用區抵扣的,比如你的RI券是華北2可用區G,那麼只能抵扣華北2可用區G的按量例項,不能抵扣華北2可用區F的例項。如果你需要抵扣的例項遷移去了另一個可用區,那麼你需要通過修改券屬性,把你券的地理位置屬性也改到另一個可用區。
另外,可用區級RI的抵扣必須和例項規格完全匹配才能抵扣,比如RI券是ecs.g5.2xlarge,那麼例項也必須是ecs.g5.2xlarge才能抵扣。如果你要支援ecs.g5家族下其他規格,可用在總vCPU不變情況下選擇拆分和合並。你可能會問,不是剛剛說了本來就要完全匹配麼,別急,一會兒你看看地域級RI是怎麼玩的。
可用區級RI有一個最大優勢,就是資源預留,當你購買了可用區級別RI時,ECS庫存系統會為你預留對應的按量付費例項。比如券面是ecs.g5.2xlarge,預留10臺,那麼在RI券有效期內,永遠有10臺ecs.g5.2xlarge例項是為你留著的,保證你隨時要服務,都能順利開出。很多朋友問,過年啊,春運啊,線上資源那麼緊張,大家怎麼100%保證自己的計算資源隨開隨有?小編偷偷告訴你,預留例項券是個好方法……這也是這個產品名字裡“預留”這個功能的直接體現。
地域級RI
如果你購買頁面選擇地理位置時,選了無預留,那麼你無需指定具體的可用區,只要選擇地域就好,這時你購買的是地域級RI。
地域級RI可以抵扣你在該地域任何一個可用區符合抵扣標準的按量付費例項,靈活性更好。
另外,地域級RI的抵扣條件更寬鬆,只要你的按量例項和券面的例項家族符合就能抵扣(當然作業系統這些還是要符合屬性哦)。比如,你的券面是1年期(即8760小時)ecs.c5.large(2核),你的按量例項只要滿足ecs.c5這個條件就能抵扣,假設你的按量例項是ecs.c5.xlarge(4核),沒關係,可以抵扣它跑半年。更多例子見下表。
剛剛說的是小券抵大例項,反過來,大券抵小例項也是OK的。假設你的券是1年期的ecs.c5.4xlarge(16核),可以抵扣1臺16核c5跑一年,或者抵扣2臺8核c5跑一年,或者抵扣4臺4核c5跑一年,或者抵扣8臺2核c5跑一年。
剛剛說的地域級RI跨核數抵扣,都是自動匹配的,無需手動拆分合並。
顯然,地域級RI靈活性更好,不過地域級RI是不保證資源預留的,庫存極度緊張時,開按量例項有可能需要等待。
說了這麼多,給大家看看預留例項券控制檯裡可用區級RI和地域級RI長啥樣。
上面的框是可用區級RI,可以看到可用區和例項規格是很明確的。下面的框是地域級RI,只有地域資訊,後面寫的是跨可用區,例項規格也只寫了例項家族資訊(例子是ecs.c5)和總vCPU核數。
順便說一下,地域級RI和可用區級RI是可以互相轉換的,不怕買錯,同時可用區級RI的具體可用區屬性也可以修改。
關於這兩種RI,詳情文件在這裡,請 點選
談談錢
現在談談錢吧,看看RI的購買成本。
我們對比一下華北2(北京)地域,ecs.c5.large例項的計算部分在三種計費規則下跑一個月的價格:預付費包月、預留例項券(1年期全預付)、按量付費
預付費包月 | 預留例項券(1年期全預付) | 按量付費 |
---|---|---|
179元 | 152.15元 | 446元 |
注:價格擷取自2019年4月17日的阿里雲官網
另外請注意,RI是用來抵扣按量例項賬單的計算部分,儲存網路部分並不覆蓋。另外,RI的1年期、3年期對比,3年期折扣更低;全預付、部分預付、0預付對比,全預付折扣最低。
如何購買?
當前預留例項券正在大規模邀測,你可以通過ECS控制檯看到預留例項券的入口,如圖,進去就能看到邀測頁面了。當然也可以直接 點選 提交邀測申請。
本文作者:雁鷹
本文為雲棲社群原創內容,未經允許不得轉載。