為具備容錯能力和靈活性的應用程式請求 Spot 執行個體 - Amazon EC2 Auto Scaling

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

為具備容錯能力和靈活性的應用程式請求 Spot 執行個體

在啟動範本中,您可以選擇性請求沒有結束日期或持續時間的 Spot 執行個體。與 EC2 隨需價格相比,Amazon EC2 Spot 執行個體是以極低折扣提供的備用容量。如能彈性決定應用程式執行的時機以及應用程式是否可以中斷,則 競價型執行個體會是一項具成本效益的選擇。如需建立請求 Spot 執行個體之啟動範本的詳細資訊,請參閱 使用進階設定建立啟動範本

重要

Spot 執行個體通常用於補充隨需執行個體。針對這種情況,您可以在 Auto Scaling 群組的部分設定中,指定用來啟動 Spot 執行個體的相同設定。在將設定指定為 Auto Scaling 群組的一部分時,您僅能在啟動特定數量的隨需執行個體後請求啟動 Spot 執行個體。隨著群組擴展,您可以繼續啟動隨需執行個體和 Spot 執行個體的組合。如需詳細資訊,請參閱 具有多種執行個體類型和購買選項的 Auto Scaling 群組

本主題說明如何藉由在啟動範本中 (而非在 Auto Scaling 群組本身中) 指定設定來僅啟動 Auto Scaling 群組中的 Spot 執行個體。若有 Auto Scaling 群組請求具備啟動組態的 Spot 執行個體,則本主題中的資訊同樣適用。區別在於啟動組態需要最高價,但對於啟動範本,最高價格是可選的。

當您建立啟動範本,以僅啟動 Spot 執行個體時,請記住以下考量因素:

  • Spot 價格。您只需為您啟動的 Spot 執行個體支付目前的 Spot 價格。此定價會依據長期的供需趨勢隨時間慢慢改變。如需詳細資訊,請參閱《Amazon EC2 使用者指南》中的 Spot 執行個體定價和節省

  • 設定您的最高價。您可以選擇在啟動範本中包含 Spot 執行個體的每小時最高價。如果最高價超過了目前的 Spot 價格,則 Amazon EC2 Spot 服務會在有可用容量時立即完成您的請求。如果 Spot 執行個體的價格上漲超過您 Auto Scaling 群組執行中執行個體的最高價,則其會終止您的執行個體。

    警告

    如果您未收到 Spot 執行個體 (例如當您的最高價太低時),則您的應用程式可能不會執行。要儘可能長時間利用 Spot 執行個體,請將您的最高價設為接近隨需價格。

  • 達成可用區域間的平衡。若您指定多個可用區域,Amazon EC2 Auto Scaling 會將 Spot 請求分配至這些指定區域。若您在一個可用區域的最高價格過低以至於無法履行請求,Amazon EC2 Auto Scaling 會檢查其他區域是否已履行請求。若是如此,Amazon EC2 Auto Scaling 會取消失敗的請求,並將其重新分配至已履行請求的可用區域。若尚未履行請求的可用區域內價格下跌到足以使未來的請求成功時,則 Amazon EC2 Auto Scaling 會重新平衡所有可用區域。

  • Spot 執行個體終止。Spot 執行個體可以隨時終止。當 Spot 執行個體的可用性或價格改變時,Amazon EC2 Spot 服務可以終止 Auto Scaling 群組中的 Spot 執行個體。擴展或執行運作狀態檢查時,Amazon EC2 Auto Scaling 也能夠以終止隨需執行個體的相同方式終止 Spot 執行個體。當執行個體終止時,將會刪除所有儲存。

  • 保持所需的容量。當 Spot 執行個體終止時,Amazon EC2 Auto Scaling 群組會嘗試啟動其他 Spot 執行個體來維持群組的所需容量。如果目前 Spot 價格低於最高價,就會啟動 Spot 執行個體。如果 Spot 執行個體的請求失敗,則會繼續嘗試。

  • 變更您的最高價。要更改您的最高價,請建立新的啟動範本或使用新的最高價更新現有啟動範本,然後將其與 Auto Scaling 群組關聯。只要啟動範本中指定的最高價用於這些執行個體,且高於目前的 Spot 價格,則現有的 Spot 執行個體就會繼續執行。如果您未設定最高價,則預設的最高價是隨需價格。