EAS提供了公共資源組和專屬資源組,當您使用公共資源部署EAS服務時,您可以選用競價實例(搶占式實例),降低運行成本。本文為您介紹如何配置EAS服務使用競價實例。
背景信息
競價實例簡介
EAS支持部署服務時選擇使用成本更低的競價實例,EAS使用的是指定價格上限的搶占模式,競價實例的詳細介紹請參見搶占式實例概述。
使用競價實例的最大優勢在于價格便宜,其價格隨市場和庫存的供需關系實時變化,相對于公共資源組按量付費的普通實例,價格有較大的優惠。同時競價實例也分為有保護期實例與無保護期實例,價格從低到高順序為:
無保護期價格 < 有保護期價格 < 普通實例
說明競價實例受庫存和市場價格的影響,可能被釋放回收,如果被釋放,EAS會根據配置文件中的資源規格重新進行遍歷,拉起當前指定的最高優先級資源。
如何才能購買到競價實例
在部署服務時,您可以在配置文件中指定是否使用競價實例,并設置搶占實例時的出價上限。后續在部署EAS服務時,會根據配置文件的配置結果,自動競價搶占資源。
當滿足如下條件時可成功搶占資源:
競價實例庫存充足。
您配置的出價上限不低于當前競價實例的市場價。
使用競價實例
成功搶占到競價實例后,默認至少可以使用1小時,即搶占成功后有1小時的保護期,保護期內可以保障您能夠使用資源。
超過1小時的保護期后,如果競價實例庫存充足,且您之前設置出價上限不低于當前競價實例市場價,您也可以繼續使用競價實例。
如果不滿足上述條件,超過1小時的保護期后,您的搶占資源實例可能會被釋放。
釋放競價實例
超出1小時保護期,競價實例庫存不足。
超出1小時保護期,您設置的出價上限低于當前競價實例市場價。
無保護期,競價實例庫存不足或您設置的出價上限低于當前競價實例市場價。
競價實例計費
競價實例為按量計費的計費模式,按照實時的市場價進行計費。
多實例部署時,實例使用順序
創建或更新服務時,您可以在配置文件中同時配置多個實例規格,例如同時配置了競價實例和常規型實例,后續實際部署時會根據配置文件中的實例順序依次使用實例,當實例規格競價失敗或庫存不足時,按照配置順序依次使用下一個實例規格。
前提條件
如果您使用本地客戶端方式使用競價實例,則需要下載EASCMD客戶端工具并認證成功,具體操作,請參見下載并認證客戶端。
創建服務時使用競價實例
通過控制臺
登錄PAI控制臺,在頁面上方選擇目標地域,并在右側選擇目標工作空間,然后單擊進入EAS。
單擊部署服務,然后在自定義模型部署區域,單擊自定義部署。
在自定義部署頁面,配置以下關鍵參數,其他參數配置詳情,請參見服務部署:控制臺。
參數
描述
資源類型
選擇公共資源。
部署資源
資源規格:選擇支持競價的資源規格。
競價:打開競價開關,表示使用競價實例。
出價:設置出價用來自動競價搶占資源。如果競價實例庫存充足,且出價不低于當前競價實例市場價,可以使用競價實例。
配置多規格實例:
您可以單擊添加按鈕,來配置多個競價實例,最多支持添加10個資源類型。配置多個實例時,實例的生效邏輯請參見多規格實例選擇。
說明建議您同時配置常規型實例,避免競價實例搶占失敗導致服務部署失敗。
競價型保留時長
支持以下兩種配置方式:
設定實例使用1小時:您可以為競價實例設置1小時保護期,即實例搶占成功后,默認至少可以使用1小時。
無確定保護期:表示禁用保護期。
單擊部署。待服務狀態變為運行中時,表明服務部署成功。
通過本地客戶端
下載并認證客戶端,以Windows 64版本為例。
在客戶端文件所在目錄新建JSON格式的文件,命名為
service.json
,文件內容示例如下。{ "name": "service_example", "model_path": "http://examplebucket.aliyuncs.com/models%2Fmnist_saved_model.tar.gz", "processor": "tensorflow_cpu_1.12", "metadata": { "instance": 1, } "cloud": { "computing": { "instances": [ {"type": "ecs.g7.2xlarge", "spot_price_limit": 2.00}, {"type": "ecs.g7.4xlarge", "spot_price_limit": 4.00}, {"type": "ecs.g7.2xlarge"}, {"type": "ecs.g7.4xlarge"} ], "disable_spot_protection_period": true } } }
其中關鍵參數說明如下。其他參數說明,詳情請參見命令使用說明。
參數
描述
instance
服務啟動的實例數量。上述JSON文件中表示啟動1個實例。
instances
表示允許的實例規格,支持配置多個。當實例規格競價失敗或庫存不足時,按照配置順序依次嘗試使用下一個實例規格創建服務。
type:表示配置的實例規格。
spot_price_limit為可選參數:
當配置該參數時:表示對應實例規格使用競價實例,并指明價格上限。單位為CNY,支持按量付費。
當不配置該參數時:表示對應實例規格為普通的按量付費實例。
disable_spot_protection_period
支持以下取值:
false(默認值):表示在競價實例創建成功后,默認有1小時保護期。在保護期內即使市場價格超過了出價,實例也不會被釋放。
true:表示禁用保護期,無保護期實例會始終比有保護期實例優惠10%左右。
打開終端工具,在JSON文件所在目錄,使用以下命令創建服務。更多操作說明,請參見命令使用說明。
eascmdwin64.exe create <service.json>
其中:<service.json>需要替換為您創建的JSON文件名稱。
修改服務配置使用競價實例
通過控制臺
進入資源配置頁面。
在模型在線服務(EAS)頁面,單擊目標服務名稱。
在概覽頁簽的資源信息區域,單擊更改配置。
在性價比資源配置頁簽,設置搶占型保留時長,添加搶占型資源類型,并單擊確定。
說明建議您同時配置常規型實例,避免競價實例搶占失敗導致服務運行失敗。
其他參數配置方法,請參見通過控制臺。
通過本地客戶端
下載并認證客戶端,以Windows 64版本為例。
在客戶端文件所在目錄新建JSON格式的文件,命名為
instances.json
,文件內容示例如下。{ "cloud": { "computing": { "instances": [ {"type": "ecs.g7.2xlarge", "spot_price_limit": 2.00}, {"type": "ecs.g7.4xlarge", "spot_price_limit": 4.00}, {"type": "ecs.g7.2xlarge"}, {"type": "ecs.g7.4xlarge"} ], "disable_spot_protection_period": true } } }
其中關鍵參數說明,詳情請參見創建服務時使用競價實例。
打開終端工具,在JSON文件所在目錄,使用以下命令修改EAS服務使用競價實例。更多操作說明,請參見命令使用說明。
eascmdwin64.exe modify <service_name> -s <instances.json>
其中:<service_name>需要替換為EAS服務名稱;<instances.json>需要替換為新建的JSON文件名稱。
相關文檔
關于服務部署的更多高級配置,詳情請參見特殊部署場景與高級配置。
關于公共資源組,詳情請參見EAS資源組概述。