Amazon EC2 Spot 執行個體入門

Amazon EC2 Spot 執行個體可提供 AWS 雲端中的備用運算容量,相較於隨需執行個體折扣更高。

使用 Spot 執行個體,您可以在大數據、容器、CI/CD、HPC 和其他容錯工作負載上節省高達 90% 的成本。或者,將工作負載輸送量擴展最多 10 倍,也不會超出現有預算範圍。

什麼是 Spot 執行個體?

如何開始使用

開始使用 Spot 執行個體很簡單。首先,找出最適合在 Spot 執行個體上執行的關鍵工作負載。然後透過 AWS 管理主控台,整合的 AWS 服務 (例如 Amazon EMR、Amazon ECS、AWS Batch 和 EC2 Auto Scaling 或 EC2 叢集 API),在幾分鐘內啟動 Spot 執行個體。瀏覽 Amazon EC2 使用者指南,並閱讀以下最佳實務和資源。

1. 啟動 Spot 之前的注意事項

  1. 觀看這段影片,了解哪些工作負載最適合在 Spot 執行個體上執行。
  2. 了解 Spot 定價模式如何運作,提供可預測的低價格,相較於隨需執行個體定價平均節省 70% 至 90% 的成本

2.建立您的第一個 Spot 執行個體

product-icon_Amazon_EC2_SpotInstances_icon_squid_ink_125
  1. 了解 Spot 執行個體如何運作,從 AWS 管理主控台AWS SDK/CLI 或透過 AWS API,啟動您的第一個 Spot 執行個體
  2. 了解如何為 CI/CD大數據容器轉譯等工作負載啟動 Spot 執行個體。

3.實作最佳實務

  1. 觀看這段影片,了解啟動 Spot 執行個體時要遵循的一些簡單規則,最大限度地節省運算成本。進一步了解
  2. 這裡了解如何將中斷的影響降到最低。

Spot 執行個體的運作方式

product-page-diagram_EC2-Spot-Instances

使用案例範例

使用 Spot 執行個體容器化工作負載

容器無狀態且具有容錯能力,非常適合 Amazon EC2 Spot 執行個體。觀看這場網絡研討會,了解如何使用 Kubernetes 有效部署容器化工作負載,並以非常低的成本輕鬆管理任何規模的叢集。Spot 執行個體可與 Amazon Elatic Container ServiceAmazon Elastic Kubernetes Service 或 Kubernetes 搭配使用,執行任何容器化工作負載,從分散式系統到每天勘測數百萬英里的應用程式。進一步了解。

使用 EC2 Spot 執行個體執行 Kubernetes 叢集節省成本

在 EC2 Spot 執行個體上執行 Amazon EMR

Spot 執行個體上的大數據工作負載

Spot 執行個體可為執行時間要求苛刻的超大規模工作負載,提供加速、擴展和深度的成本節省,以實現快速數據分析。將 Spot 執行個體與 Amazon EMR、Hadoop 或 Spark 一起使用來處理大量資料。觀看這段影片並開始使用 Amazon EC2 Spot 和 Amazon EMR,以輕鬆、快速、經濟實惠的方式處理資料。如需有關如何使用 Amazon EMR 和 Spot 執行個體執行大數據工作負載的額外資源,請參閱 Amazon EMR on Spot Instances 頁面。 


Spot 執行個體上的 CI/CD 工作負載

使用 EC2 Spot 附加元件根據要完成的任務數量來設定 Jenkins 以自動擴展 Spot 執行個體叢集。運用較舊一代的 CI 執行個體來提升成本的節省,因為這些程序不需要許多能源來進行測試。載入、整合、Canary 和安全測試都能受益於 Spot 執行個體帶來的彈性和低價優勢。進一步了解

Did You Know That There Is an Amazon EC2 Spot Fleet Plugin for Jenkins?

雲端工作室

在 Spot 執行個體上轉譯工作負載

由於轉譯工作負載的容錯特性,它們非常適合在 Spot 執行個體上執行,且可從 Spot 執行個體提供的大量成本節省中受益。觀看 2019 SIGGRAPH 上的此簡報,了解您如何開始使用 AWS Thinkbox和 Spot 執行個體來擴展轉譯工作負載,而成本僅為雲端的一小部分。在此處了解 Scripps Networks Interactive 如何利用 Spot 執行個體和 AWS ThinkBox 將 CGI 轉譯時間縮減 95%。


Spot 執行個體上的 Web 應用程式和服務

尋找節省成本的新舉措,或針對從廣告伺服器到即時競價伺服器的不同 Web 服務和應用程式,擴展到數以萬計的執行個體。觀看此網路研討會,了解如何透過使用 EC2 Auto Scaling 大規模部署 Web 應用程式。了解如何使用 EC2 啟動範本,在負載平衡器背後結合隨需和 Spot 執行個體來增強和部署 EC2 Auto Scaling 群組。若要進一步了解在 Spot 執行個體上執行 Web 應用程式的資訊,請閱讀此部落格。 

如何使用 Amazon EC2 Spot 執行個體以更少的成本建置可擴展 Web 應用程式

EC2 Spot 執行個體上的 AWS Batch:如何以更少的成本加快批次處理

Spot 執行個體上的批次處理

使用 Spot 執行個體以少量成本處理批次工作負載。觀看此影片,了解如何在 AWS Batch 上使用 Spot 執行個體開始執行批次處理工作負載。若要進一步優化 Spot 執行個體上執行的批次工作負載,請在此部落格中了解 Spot 容量優化分配策略。如需額外的資源,請瀏覽 AWS Batch with Spot Instances 頁面。 


Spot 執行個體上的機器學習

使用 Spot 執行個體以更少的成本更快培訓 AI/ML。觀看此影片,了解如何使用 Elastic Inference 執行推論培訓任務,且利用 Spot 執行個體,運算成本最高可節省 90%。了解有關如何設定 Cloudformation 和啟動範本打造自動化作業的最佳實務。若要了解如何在 Amazon SageMaker 上使用受管 Spot 培訓以更少的成本更快執行 AI/ML 工作負載,請遵循此自學教學課程。 

搭配使用 Amazon Elastic Inference 和 Amazon EC2 Spot 執行個體,將推論成本最高降低 90%

Spot 最佳實務

您的執行個體類型需求、預算需求以及應用程式設計將決定如何為應用程式運用最佳實務。以下是一些建議。

1.Spot 規則

學習兩個簡單的規則,最大限度地節省運算成本:
  1. Spot 容量集區的價格另外計算而且很少變動
  2. 當我們需要回收容量時,Amazon EC2 會發出 2 分鐘的警告

2.執行個體彈性

盡可能在不同的執行個體類型上測試您的應用程式。因為在可用區域內的執行個體類型與價格波動無關,所以當執行個體類型更有彈性時,您通常可以用相同的價格取得更多運算容量。觀賞此影片以進一步了解。

 

3.叢集 API

在 EC2 Auto Scaling 群組中執行 Spot 執行個體中時,請使用容量優化分配策略,存取具有最大容量的 Spot 容量集區。容量優化指示 EC2 Auto Scaling 群組透過最深的容量集區啟動 Spot 執行個體,從而降低中斷的可能性。 


處理中斷

Automating 2 min Notifications (4:11)

當 EC2 即將回收 Spot 執行個體時,這些執行個體會收到兩分鐘通知,因為 EC2 需要回收容量。為了減少中斷所帶來的影響,請遵循上述最佳實務。

觀看這段影片,自動執行當 Amazon EC2 中斷 Spot 執行個體時,您會收到的 2 分鐘通知。您也可以查看 Spot Instance Advisor,了解不同 Spot 集區的平均中斷頻率。