管理您的 Spot 執行個體 - Amazon Elastic Compute Cloud

管理您的 Spot 執行個體

當有容量可用時,Amazon EC2 會啟動 Spot 執行個體。Spot 執行個體會執行,直到它中斷或您自己終止它。

尋找您的 Spot 執行個體

Spot 執行個體與隨需執行個體會出現在主控台的執行個體頁面中。使用下列程序,尋找您的 Spot 執行個體。

Console
使用主控台尋找您的 Spot 執行個體
  1. https://console.aws.amazon.com/ec2/ 開啟 Amazon EC2 主控台。

  2. 在導覽窗格中,選擇 Instances (執行個體)。

  3. 若要尋找所有 Spot 執行個體,請在搜尋窗格中,選擇執行個體 lifecycle=spot

  4. 若要驗證執行個體是否為 Spot 執行個體,請選取執行個體,選擇詳細資訊索引標籤,然後檢查生命週期的值。Spot 執行個體的值為 spot,隨需執行個體的值為 normal

AWS CLI
使用 AWS CLI 尋找您的 Spot 執行個體

使用 --filters 選項並搭配 describe-instances 命令。

aws ec2 describe-instances \ --filters "Name=instance-lifecycle,Values=spot"
判斷執行個體是否為 Spot 執行個體

使用 describe-instances 命令,使用 --query 選項來檢查生命週期值。

aws ec2 describe-instances \ --instance-ids i-0123a456700123456 \ --query "Reservations[*].Instances[*].InstanceLifecycle" \ --output text

若該輸出為 spot,表示該執行個體為 Spot 執行個體。如果沒有輸出,執行個體即為隨需執行個體。

使用下列程序來尋找從特定 Spot 執行個體或 Spot 機群請求啟動的 Spot 執行個體。

Console
若要使用主控台尋找請求的 Spot 執行個體
  1. https://console.aws.amazon.com/ec2/ 開啟 Amazon EC2 主控台。

  2. 在瀏覽窗格中,選擇 Spot 請求。包含 Spot 執行個體請求和 Spot 機群請求的清單。

  3. 如果已完成 Spot 執行個體請求,容量就是 Spot 執行個體的 ID。對於 Spot Fleet ,容量表示已完成所請求容量的程度。若要檢視 Spot Fleet 中的執行個體 ID,請選取展開箭頭,或選取該機群並選取 Instances (執行個體)。

  4. 對於 Spot 機群,容量表示已完成所請求容量的程度。若要檢視 Spot 機群中執行個體 ID,請選擇機群 ID 以開啟其詳細資訊頁面,並尋找執行個體窗格。

AWS CLI
使用 尋找請求的 Spot 執行個體 AWS CLI

搭配 --query 選項使用 describe-spot-instance-requests 命令搭配。

aws ec2 describe-spot-instance-requests \ --query "SpotInstanceRequests[*].{ID:InstanceId}"

下列為範例輸出:

[ { "ID": "i-1234567890abcdef0" }, { "ID": "i-0598c7d356eba48d7" } ]

停止 Spot 執行個體

如果您現在不需要您的 競價型執行個體,但想稍後重新啟動它們,而不會遺失 Amazon EBS 磁碟區中保留的資料,您可以停止它們。停止 Spot 執行個體的步驟與停止隨需執行個體的步驟類似。

注意

停止 Spot 執行個體時,您可以修改其某些執行個體屬性,但無法修改執行個體類型。

我們不會對已停止的 Spot 執行個體計費,也不會收取數據傳輸費,但是會收取任何 Amazon EBS 磁碟區的儲存費用。

限制
  • 如果從 persistent Spot 執行個體請求中啟動 Spot 執行個體,則只能停止 Spot 執行個體。

  • 如果已取消關聯的 Spot 執行個體請求,則無法停止 Spot 執行個體。當 Spot 執行個體請求被取消時,您只能終止 Spot 執行個體。

  • 如果 Spot 執行個體屬於某個機群或啟動群組或可用區域群組,則無法停止它。

Console
若要使用主控台停止 Spot 執行個體
  1. https://console.aws.amazon.com/ec2/ 開啟 Amazon EC2 主控台。

  2. 在導覽窗格中,選擇 Instances (執行個體)。

  3. 選取 Spot 執行個體。如果您未儲存 Spot 執行個體的執行個體 ID,請參閱 尋找您的 Spot 執行個體

  4. 選擇 Instance state (執行個體狀態)Stop instance (停止執行個體)

  5. 出現確認提示時,請選擇 Stop (停止)

AWS CLI
使用 AWS CLI 停止 Spot 執行個體

使用 stop-instances 命令手動停止 Spot 執行個體。

aws ec2 stop-instances --instance-ids i-1234567890abcdef0

啟動 Spot 執行個體

您可以啟動之前已停止的 Spot 執行個體。

必要條件

只有在下列情況下,才能啟動 Spot 執行個體:

  • 您手動停止了 Spot 執行個體。

  • Spot 執行個體是 EBS 支援的執行個體。

  • Spot 執行個體容量可用。

  • Spot 價格低於您的最高價格。

限制
  • 如果 Spot 執行個體屬於某個機群或啟動群組或可用區域群組,則無法啟動它。

啟動 Spot 執行個體的步驟與啟動隨需執行個體的步驟類似。

Console
使用主控台啟動 Spot 執行個體
  1. https://console.aws.amazon.com/ec2/ 開啟 Amazon EC2 主控台。

  2. 在導覽窗格中,選擇 Instances (執行個體)。

  3. 選取 Spot 執行個體。如果您未儲存 Spot 執行個體的執行個體 ID,請參閱 尋找您的 Spot 執行個體

  4. 選擇 Instance state (執行個體狀態)Start instance (啟動執行個體)

AWS CLI
若要啟動 Spot 執行個體 AWS CLI

使用 start-instances 命令手動啟動 Spot 執行個體。

aws ec2 start-instances --instance-ids i-1234567890abcdef0

終止 Spot 執行個體

如果終止持久性 Spot 執行個體請求啟動的執行中或已停止的 Spot 執行個體,Spot 執行個體請求會轉變為 open 狀態,以便啟動新的 Spot 執行個體。若要確保沒有啟動新的 Spot 執行個體,您必須先取消 Spot 執行個體請求。

如果您取消具有執行中 Spot 執行個體的 active Spot 執行個體請求,則執行中的 Spot 執行個體不會自動終止;您必須手動終止 Spot 執行個體。

如果您取消具有已停止的 Spot 執行個體的 disabled Spot 執行個體請求,則 Amazon EC2 Spot 服務會自動終止已停止的 Spot 執行個體。取消 Spot 執行個體請求和 Spot 服務終止 Spot 執行個體之間可能有短暫延遲。

如需詳細資訊,請參閱若要取消 Spot 執行個體請求

Console
若要使用主控台手動終止 Spot 執行個體
  1. 終止執行個體前,請檢查您的 Amazon EBS 磁碟區不會在終止時被刪除,並確認已將執行個體存放區磁碟區上的所需資料複製到持久性儲存 (例如 Amazon EBS 或 Amazon S3),藉此確認您不會遺失任何資料。

  2. https://console.aws.amazon.com/ec2/ 開啟 Amazon EC2 主控台。

  3. 在導覽窗格中,選擇 Instances (執行個體)。

  4. 選取 Spot 執行個體。如果您未儲存 Spot 執行個體的執行個體 ID,請參閱 尋找您的 Spot 執行個體

  5. 選擇執行個體狀態終止 (刪除) 執行個體

  6. 出現確認提示時,請選擇終止 (刪除)

AWS CLI
若要使用 AWS CLI 手動終止 Spot 執行個體

使用 terminate-instances 命令手動終止 Spot 執行個體。

aws ec2 terminate-instances --instance-ids i-1234567890abcdef0 i-0598c7d356eba48d7