取得 Spot 執行個體請求的狀態 - Amazon Elastic Compute Cloud

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

取得 Spot 執行個體請求的狀態

為了協助您追蹤競價型執行個體請求並規劃使用 Spot 執行個體,請使用 Amazon 提供的請求狀態EC2。例如,請求狀態可提供 Spot 請求尚未完成的理由,或列出阻礙完成 Spot 請求的限制。

在程序的每個步驟中— (此程序也稱為 Spot 請求生命週期)—,特定的事件會決定相繼請求的狀態。

下圖顯示了 Spot 執行個體請求的運作方式。請注意,請求類型 (一次性或永久性) 會決定當 Amazon EC2 中斷 Spot 執行個體或停止 Spot 執行個體時是否再次開啟請求。如果是持久性請求,則會在 Spot 執行個體中斷之後再次開啟。如果是持久性請求,而且您停止 Spot 執行個體,只會在您啟動 Spot 執行個體後開啟請求。

Spot 執行個體請求的運作方式。

取得請求狀態資訊

您可以使用 AWS Management Console 或命令列工具取得要求狀態資訊。

使用主控台取得要求狀態資訊
  1. 在打開 Amazon EC2 控制台https://console.aws.amazon.com/ec2/

  2. 在瀏覽窗格中,選取 Spot 請求 ,然後選取 Spot 請求。

  3. 若要檢查狀態,請在描述索引標籤上檢查狀態欄位。

使用命令列來取得請求狀態資訊

您可以使用下列其中一個命令。如需有關這些命令列介面的詳細資訊,請參閱訪問 Amazon EC2

Spot 請求狀態碼

Spot 請求狀態資訊包含狀態碼、更新時間和狀態訊息。綜合這些資訊,可協助您決定 Spot 請求的處理方式。

下列是 Spot 請求的狀態碼:

az-group-constraint

Amazon EC2 無法在相同可用區域中啟動您請求的所有執行個體。

bad-parameters

Spot 請求的一個或多個參數無效 (例如,AMI您指定的不存在)。狀態訊息會顯示哪個參數無效。

canceled-before-fulfillment

Spot 請求在完成之前已遭到使用者取消。

capacity-not-available

您所請求的執行個體沒有足夠的可用容量。

constraint-not-fulfillable

無法完成 Spot 請求,因為有一個或多個限制條件無效 (例如,可用區域不存在)。狀態訊息會顯示哪個限制條件無效。

fulfilled

競價型請求是active,Amazon EC2 正在啟動您的競價型執行個體。

instance-stopped-by-price

您的執行個體已停止,因為 Spot 價格超過您的最高價格。

instance-stopped-by-user

您的執行個體已停止,因為使用者已停止該執行個體或從該執行個體執行關機命令。

instance-stopped-no-capacity

您的執行個體因為EC2容量管理需求而停止。

instance-terminated-by-price

您的執行個體已終止,因為 Spot 價格超過您的最高價格。如果請求為永久性,程序會重新開始執行,因此請求會處於等待評估的狀態。

instance-terminated-by-schedule

您的 Spot 執行個體已在排程持續時間結束時終止。

instance-terminated-by-service

執行個體會從停止狀態終止。

instance-terminated-by-userspot-instance-terminated-by-user

您終止了已完成的 Spot 執行個體,因此請求狀態為 closed (除非為持久性請求),而執行個體狀態為 terminated

instance-terminated-launch-group-constraint

啟動群組中的一個或多個執行個體已終止,因此不再滿足啟動群組的限制條件。

instance-terminated-no-capacity

由於標準容量管理程序,您的執行個體已終止。

launch-group-constraint

Amazon EC2 無法同時啟動您要求的所有執行個體。啟動群組中的所有執行個體會同時啟動和終止。

limit-exceeded

超過磁碟區數量或總EBS磁碟區儲存的限制。如需詳細資訊,請參閱 Amazon EBS使用者指南EBS中的 Amazon 配額

marked-for-stop

Spot 執行個體已標記停止。

marked-for-termination

Spot 執行個體已標記終止。

not-scheduled-yet

在尚未達到排程日期之前,將不會評估 Spot 請求。

pending-evaluation

在您發出 Spot 執行個體請求後,在系統評估請求的參數時,該請求會進入 pending-evaluation 狀態。

pending-fulfillment

Amazon EC2 正在嘗試佈建您的競價型執行個體。

placement-group-constraint

尚無法完成 Spot 請求,因為目前無法將 Spot 執行個體加入置放群組。

price-too-low

尚無法完成 Spot 請求,因為最高價格低於 Spot 價格。在這種情況中,不會啟動任何執行個體,而請求的狀態仍為 open

request-canceled-and-instance-running

您在 競價型執行個體仍在執行時取消了 Spot 請求。請求已 cancelled,但執行個體仍處於 running 狀態。

schedule-expired

Spot 請求已過期,因為未在指定日期之前完成。

system-error

出現未預期的系統錯誤。如果這是一個經常性的問題,請聯繫 AWS Support 尋求幫助。

EC2競價型執行個體請求履行

完成競價型執行個體請求後,Amazon EC2 會將EC2競價型執行個體請求履行事件傳送給 Amazon EventBridge。您可以建立規則以在發生此事件時採取動作,例如叫用 Lambda 函數或通知 Amazon SNS 主題。

以下是此事件的範例資料。

{ "version": "0", "id": "01234567-1234-0123-1234-012345678901", "detail-type": "EC2 Spot Instance Request Fulfillment", "source": "aws.ec2", "account": "123456789012", "time": "yyyy-mm-ddThh:mm:ssZ", "region": "us-east-2", "resources": ["arn:aws:ec2:us-east-2:123456789012:instance/i-1234567890abcdef0"], "detail": { "spot-instance-request-id": "sir-1a2b3c4d", "instance-id": "i-1234567890abcdef0" } }

如需詳細資訊,請參閱 Amazon EventBridge 使用者指南