快速玩轉阿裏雲競價實例
快速玩轉阿裏雲競價實例
什麼是競價實例
競價實例是一種按照供需關係變化價格波動的一種後付費類型實例,相對於按量付費實例價格有較低的折扣。
競價型實例使您可以對 ECS 實例出價,這可以大幅降低您的 ECS 成本。阿裏雲會對每個可用區中的每種實例類型設置基礎價格,競價型實例會根據市場供需關係在基礎價格上進行一定的上下浮動(目前價格波動是按量付費價格的1~10折),如果您的出價高於當前實際的成交價,則可正常創建出實例,否則出價失敗,不進行生產。
當然低價的ECS服務也存在一定的風險,當市場成交價格高於您的出價時,或市場供需關係嚴重不均衡時,阿裏雲有權終止您的ECS實例,當然在終止前5分鍾,阿裏雲會進行meta信息的通知,您可以訂閱阿裏雲metasdata的信息以在ECS終止前進行數據的保存和清理工作,以避免數據的丟失。
競價型實例和按需實例的主要差別在於:競價型實例每小時價格會根據需求變動,並且阿裏雲可以根據競價型實例每小時價格或可用情況的變化終止單個競價型實例。
合理的使用阿裏雲ECS競價實例,最高可以為您降低50%
–90%
的運營成本(相比按量付費的實例),可以用相同的預算,將計算容量提升 2
–10
倍。
什麼樣的業務適合使用競價型實例呢?
由於受市場供需關係和價格波動影響,競價型實例可能存在被ECS釋放的可能,因此有狀態的,需要磁盤落地的應用可能無法使用,否則可能存在數據丟失的風險,目前來看以下幾種類型最適合競價型實例:
- 能進行彈性擴展和自由伸縮的業務,如無狀態 Web 服務、圖像渲染、大數據分析、視頻編解碼,批量計算等
- 阿裏雲新一代規格測試。新一代的ECS服務意味著更加強勁的性能,但也意味著更高的價格,可在推廣初期使用較低的價格購買競價,以進行評測看是否能使用新機型提升性能降低部署節點來縮減成本。
玩法解密
出價模式
目前阿裏雲主要提供一次性競價請求,後續會推出持久性競價請求和連續時間段競價請求,當前主要在售的為一次性競價請求。
一次性競價請求主要有2種出價模式:
-
用戶出能接受的最高價(SpotWithPriceLimit)
用戶可以在控製台看到指定可用區指定規格的曆史價格,以推算自己應該的出價,還有一個重要指標,目前競價實例的最高價為按量付費的價格,用戶在控製台購買時可以看到一個價格選項區間,如下圖所示,您在對應的區間直接出一個價格即可。當然,最好是出一個合理的價格,否則您的實例可能會很快被釋放哦。需要說明的是這裏的出價是指實例規格的出價,不包含磁盤、帶寬,隻有計算部分有競價優惠哦。
不出價,隨低價波動,使用低價(SpotAsPriceGo)
目前open api可采用不出價,指定SpotStrategy為SpotAsPriceGo(API文檔地址:https://help.aliyun.com/document_detail/25499.html?spm=5176.doc25484.6.798.eAtJoe)則表示使用隨低價波動
快速購買
目前和阿裏雲ECS其他付費方式一樣,可以通過控製台
和openAPI
兩種方式購買
-
控製台購買
-
openAPI購買
- openAPI對應文檔地址:https://help.aliyun.com/document_detail/25499.html?spm=5176.doc25484.6.798.eAtJoe
- openAPI購買競價實例重要參數:
- InstanceChargeType 需要選擇:PostPaid,默認值:PostPaid
- SpotStrategy 需要選擇
SpotWithPriceLimit:設置上限價格
或SpotAsPriceGo:係統自動出價,最高按量付費價格
其中一種。 - SpotPriceLimit,隻有SpotStrategy選擇為SpotWithPriceLimit才生效,支持最大3 位小數。
- 哪些集群能買到競價實例呢?可使用openAPI接口
DescribeZones
查詢,對應文檔地址:https://help.aliyun.com/document_detail/25610.html?spm=5176.doc25484.6.880.Lx2li9
處理中斷
對競價型實例的需求在不同時間可能有顯著的差異,競價型實例的可用性也會因為未使用 ECS 實例的數量而差別巨大。此外,不論您的出價有多高,您的競價型實例仍有可能會中斷。因此,必須確保應用程序針對競價型實例中斷做好準備。**我們強烈建議您不要為不能中斷的應用程序使用競價型實例。**
下麵列出了阿裏雲終止您的競價型實例的可能原因:
- 價格 – 現貨價格高於您的出價。
- 容量 – 如果沒有足夠的未用 ECS 實例來滿足對競價型實例的需求,阿裏雲將從出價最低的實例開始終止競價型實例。如果多個競價型實例的出價相同,則隨機確定實例的終止順序。
下麵提供了在您使用競價型實例時可以遵循的最佳實踐:
- 選擇一個合理的出價。您的出價應該足夠高,這樣您的請求才有機會完成,但又不能高於您願意支付的價格。這非常重要,因為在長時間供應不足的情況下,現貨價格可能會在這段時間內居高不下,因為此時價格依據的是最高出價。我們強烈建議您的出價高於按需實例的價格。
- 使用包含所需軟件配置的鏡像,確保您的實例在請求完成時隨時可以啟動。您還可以使用用戶數據在啟動時運行命令。
- 在不會受競價型實例終止影響的位置例行存儲重要數據。例如,您可以使用 獨立雲盤 、OSS、RDS等作為數據存儲節點。
- 將工作拆分為小的任務 (使用網格、Hadoop 或基於隊列的架構) 或者使用檢查點,以便您經常保存工作。
- 使用競價型實例終止通知監控您的競價型實例的狀態。您可以通過metadata接口1分鍾獲取一次實例的狀態,阿裏雲ECS會在終止前5分鍾通知metadata,最壞情況下你有4分鍾的時間處理善後。
- 測試您的應用程序,確保它很好地處理了意外終止的實例。您可以使用按量付費實例來運行應用程序,然後自行終止該按需實例,以便確認這一點。
收費策略
目前競價實例
采用小時收費製,每個小時整點出一次賬單,計費策略中分2中場景:
-
由於阿裏雲價格或市場供需關係導致的釋放,最少保證用戶使用1小時,超過1小時最後一個賬單周期不計費
- 出價太低1小時內實際成交價就高於用戶出價的,至少保證實際使用1小時,收1小時費用,費用單價為購買時的實時成交價
- 實際使用超過1小時的按照賬單周期(整點出賬單)計費,最後一個賬單周期不計費,首個賬單周期為用戶購買時的實時成交價,後續每個賬單周期為對應賬單周期的起始實時成交價
- 示例2:如下圖所示,用戶小B在8:40出價20元/小時購買了某實例,受價格波動影響,10:20時實時成交價28元/小時高於用戶的出價20元/小時,由於小B實際使用時長已經超過1小時,因此直接標記釋放,用戶共存在3個賬單周期內,8:00~9:00、9:00~10:00、10:00~11:00,由於最後一個賬單周期是由於阿裏雲價格因素導致,因此不收費,最終用戶賬單周期為8:00~9:00 1小時 10元,9:00~10:00 1小時 16元 合計2小時 26元 實際使用時長1小時40分鍾
- 示例3:如下圖所示,用戶小C在8:40出價25元/小時購買某實例規格,受價格波動影響,在10:50時實際成交價格31元/小時高於用戶的出價25元/小時,由於小C實際使用時長超過1小時,因此標記釋放,用戶共存在3個賬單周期內,8:00~9:00、9:00~10:00、10:00~11:00,由於最後一個賬單周期是由於阿裏雲價格因素導致,因此不收費,最終用戶賬單周期為8:00~9:00 1小時 10元,9:00~10:00 1小時 16元 合計2小時 26元 實際使用時長2小時10分鍾
- 示例2:如下圖所示,用戶小B在8:40出價20元/小時購買了某實例,受價格波動影響,10:20時實時成交價28元/小時高於用戶的出價20元/小時,由於小B實際使用時長已經超過1小時,因此直接標記釋放,用戶共存在3個賬單周期內,8:00~9:00、9:00~10:00、10:00~11:00,由於最後一個賬單周期是由於阿裏雲價格因素導致,因此不收費,最終用戶賬單周期為8:00~9:00 1小時 10元,9:00~10:00 1小時 16元 合計2小時 26元 實際使用時長1小時40分鍾
-
用戶自行釋放,按照實際賬單周期收費,如果賬單周期數大於實際使用小時數(不足1小時按1小時計算),則最後一個賬單周期不計費
- 用戶短時間內創建釋放,實際使用時間不足1小時,如果在一個賬單周期內收費1小時,超過1個賬單周期,最後一個周期不收費,依舊收費1小時
-
用戶實際使用時間超過1小時,按照實際賬單周期收費,如果賬單周期數大於實際使用小時數(不足1小時按1小時計算),則最後一個賬單周期不計費,其中首個賬單周期單價為創建時的實時成交價,後續的賬單周期按照周期開始時的實時價格計算。
- 示例6:用戶小F在8:40出價35元/小時購買了某規格ECS,在10:50進行了釋放操作,用戶共占用3個賬單周期8:00~9:00、9:00~10:00、10:00~11:00,實際使用小時3小時(2小時10分鍾,不足1小時按1小時計算),賬單周期=實際小時數,最後一個賬單周期計費,實際計費如下:
- 8:00~9:00 10元 1小時
- 9:00~10:00 16元 1小時
- 10:00~11:00 15元 1小時
- 示例6:用戶小F在8:40出價35元/小時購買了某規格ECS,在10:50進行了釋放操作,用戶共占用3個賬單周期8:00~9:00、9:00~10:00、10:00~11:00,實際使用小時3小時(2小時10分鍾,不足1小時按1小時計算),賬單周期=實際小時數,最後一個賬單周期計費,實際計費如下:
使用小技巧
- 盡量避免整點開始購買,以避免庫存急劇下降,引發價格飆升,導致實際賬單計費較高
- 選擇一個合理的出價。您的出價應該足夠高,這樣您的請求才有機會完成,但又不能高於您願意支付的價格。對於不想關注價格趨勢變化,又希望使用較低的價格時,可使用SpotAsPriceGo按照係統低價計費。
最後更新:2017-09-18 21:34:05