建立 Spot 執行個體請求 - Amazon Elastic Compute Cloud

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

建立 Spot 執行個體請求

若要使用 Spot 執行個體,您可以建立 Spot 執行個體請求,其中包含所需的執行個體數量、執行個體類型,以及 Availability Zone (可用區域)。如果容量可用,Amazon 會立即EC2滿足您的要求。否則,Amazon 會EC2等待您的請求完成或取消請求為止。

您可以使用 Amazon EC2 主控台中的啟動執行個體精靈執行執行個體 AWS CLI 命令來請求競價型執行個體,方法與啟動隨需執行個體相同。僅出於下列原因,建議使用此方法:

  • 您已經在使用啟動執行個體精靈run-instances 命令來啟動隨需執行個體,而且您只想透過變更單一參數來變更為啟動 Spot 執行個體。

  • 您不需要具有不同執行個體類型的多個執行個體。

通常不建議在啟動 Spot 執行個體時使用此方法,因為您無法指定多個執行個體類型,並且無法在同一請求中同時啟動 Spot 執行個體和隨需執行個體。如需有關啟動 Spot 執行個體的慣用方法,其中包括啟動含有使用多個執行個體類型的 Spot 執行個體和隨需執行個體的機群,請參閱使用哪種 Spot 請求方法最好?

如果您一次申請多個 Spot 執行個體,Amazon EC2 會建立單獨的競價型執行個體請求,以便您可以分別追蹤每個請求的狀態。如需追蹤 Spot 執行個體請求的詳細資訊,請參閱 取得 Spot 執行個體請求的狀態

Console
使用啟動執行個體精靈建立 Spot 執行個體請求

步驟 1–9 與您用於啟動隨需執行個體的步驟相同。在步驟 10 中,您可以設定 Spot 執行個體請求。

  1. 在打開 Amazon EC2 控制台https://console.aws.amazon.com/ec2/

  2. 在螢幕上方的導覽列上,選取「區域」。

  3. 在 Amazon 主EC2控台儀表板中,選擇啟動執行個體

  4. (選用) 在 Name and tags (名稱和標籤) 下,您可以命名執行個體,並標記 Spot 執行個體請求、執行個體、磁碟區和彈性圖形。如需標籤的相關資訊,請參閱標記您的 Amazon EC2 資源

    1. 對於 Name (名稱),輸入執行個體的描述性名稱。

      執行個體名稱是一個標籤,其中鍵是 Name (名稱),而值是您指定的名稱。如果您未指定名稱,則可以透過其 ID 來標識執行個體,該 ID 將在您啟動執行個體時自動產生。

    2. 若要標記 Spot 執行個體請求、執行個體、磁碟區和彈性圖形,請選擇 Add additional tags (新增其他標籤)。選取 Add tag (新增標籤),然後輸入鍵和值,然後選取要標記的資源類型。為每個要新增的其他標籤重新選擇 Add tag (新增標籤)。

  5. 在 [應用程式和作業系統映像 (Amazon Machine Image)] 下,選擇執行個體的作業系統 (OS),然後選取一個AMI。如需詳細資訊,請參閱應用程式和作業系統映像 (Amazon Machine Image)

  6. Instance type (執行個體類型) 下,選取符合您執行個體硬體組態和大小要求的執行個體類型。如需詳細資訊,請參閱執行個體類型

  7. Key pair (login) (金鑰對 (登入)),選擇現有的金鑰對,或選擇 Create new key pair (建立新的金鑰對) 以建立新的金鑰對。如需詳細資訊,請參閱Amazon EC2 密鑰對和 Amazon EC2 實例

    重要

    如果您選擇不使用 key pair 繼續 (不建議) 選項,則除非您選擇設定為允許使用者以其他方式登入AMI的方式,否則您將無法連線至執行個體。

  8. Network settings (網路設定) 下,使用預設設定,或視需要選擇 Edit (編輯) 以便設定網路設定。

    安全群組構成網路設定的一部分,並定義執行個體的防火牆規則。這些規則會指定應交付至您執行個體的傳入網路流量。

    如需詳細資訊,請參閱Network settings (網路設定)

  9. AMI您選取的包括一或多個儲存磁碟區,包括根裝置磁碟區。在 Configure storage (設定儲存) 下,您可以透過選擇 Add new volume (新增新磁碟區),指定要連接到執行個體的額外磁碟區。如需詳細資訊,請參閱設定儲存

  10. Advanced details (進階詳細資訊),請設定 Spot 執行個體請求,如下所示:

    1. Purchasing option (購買選項),請選取 Request Spot Instances (請求 Spot 執行個體) 核取方塊。

    2. 您可以保留 Spot 執行個體請求的預設組態,也可以選擇右側的 Customize (自訂) 為您的 Spot 執行個體請求指定自訂設定。

      當您選擇 Customize (自訂) 時,會出現下列欄位。

      1. Maximum price (最高價格):您可以採用 Spot 價格 (以隨需價格為上限) 請求 Spot 執行個體,也可以指定您願意支付的最高金額。

        警告

        如果您指定最高價格,您的執行個體將會比選擇無最高價時更頻繁地遭到中斷。

        • No maximum price (無最高價格):您的 Spot 執行個體將以目前的 Spot 價格啟動。價格絕不會超過隨需價格。(建議)

        • Set your maximum price (per instance/hour) (設定您的最高價格 (每個執行個體/小時)):您可以指定您願意支付的最高金額。

          • 如果您指定的最高價小於目前的 Spot 價格,則不會啟動 Spot 執行個體。

          • 如果您指定的最高價格大於目前的 Spot 價格,Spot 執行個體將會啟動並按目前的 Spot 價格收費。執行競價型執行個體後,如果競價型價格上升到您的最高價格之上,Amazon 就EC2會中斷您的競價型執行個體。

          • 無論您指定的最高價格如何,都將始終按當前 Spot 價格向您收取費用。

          若要回顧 Spot 價格的趨勢,請參閱 Spot 執行個體定價歷史記錄

      2. Request type (請求類型):您選擇的 Spot 執行個體請求類型會決定 Spot 執行個體中斷時會發生什麼狀況。

        • 一次性:Amazon EC2 會為您的競價型執行個體提出一次性請求。如果您的 Spot 執行個體中斷,即不會重新提交請求。

        • 持續性請求:Amazon EC2 會為您的競價型執行個體提出持續性請求。如果您的 Spot 執行個體中斷,系統會重新提交請求以補充中斷的 Spot 執行個體。

        若未指定數值,則預設值為一次性請求。

      3. Valid to (有效至):持久性 Spot 執行個體請求的到期日期。

        一次性請求不支援此欄位。一次性請求在請求中的所有執行個體均啟動,或是您取消請求之前,都會繼續維持有效運作。

        • No request expiry date (無請求過期日期):請求會維持在有效狀態,直到您將其取消為止。

        • Set your request expiry date (設定您的請求過期日期):持久性請求在您指定的日期之前會維持在有效狀態,或者直到您將其取消為止。

      4. Interruption behavior (中斷行為):您選擇的行為會決定 Spot 執行個體中斷時會發生什麼狀況。

        • 針對持久性請求,有效值為 Stop (停止) 和 Hibernate (休眠)。執行個體停止時,會收取EBS磁碟區儲存的費用。

          注意

          Spot 執行個體現在使用與隨需執行個體相同的休眠功能。若要啟用休眠功能,您可以在此選擇休眠,也可以從停止 - 休眠行為欄位 (顯示於啟動執行個體精靈下半部) 中選擇啟用。如需休眠必要條件,請參閱Amazon EC2 執行個體休眠的先決條件

        • 針對一次性請求,有效值僅有 Terminate (終止)。

        若未指定值,則預設值為 Terminate (終止),這對於持久性 Spot 執行個體請求無效。如果您保留預設值,並嘗試啟動持久性 Spot 執行個體請求,則會出現錯誤。

        如需詳細資訊,請參閱Spot 執行個體中斷的行為

  11. Summary (摘要) 面板上,針對 Number of instances (執行個體的數量),輸入要啟動的執行個體數量。

    注意

    Amazon EC2 會為每個競價型執行個體建立個別的請求。

  12. Summary (摘要) 面板上,檢閱執行個體的詳細資訊,並進行任何必要的變更。提交 Spot 執行個體請求後,您就無法變更請求的參數。您可以直接導覽至啟動執行個體精靈中的某個區段,方法是在 Summary (摘要) 面板中選擇其連結。如需詳細資訊,請參閱Summary

  13. 當您準備好啟動執行個體時,請選擇 Launch instance (啟動執行個體)。

    如果執行個體無法啟動或狀態立即進入 terminated 而非 running,請參閱解決 Amazon EC2 執行個體啟動問題

AWS CLI
若要使用 run-instances 建立 Spot 執行個體請求

使用 run-instances 命令,並在 --instance-market-options 參數中指定 Spot 執行個體選項。

aws ec2 run-instances \ --image-id ami-0abcdef1234567890 \ --instance-type t2.micro \ --count 5 \ --subnet-id subnet-08fc749671b2d077c \ --key-name MyKeyPair \ --security-group-ids sg-0b0384b66d7d692f9 \ --instance-market-options file://spot-options.json

以下是要在JSON檔案中指定的資料結構--instance-market-options。您也可以指 ValidUntilInstanceInterruptionBehavior。如果您沒有在資料結構中指定欄位,則會使用預設值。

以下範例會建立 persistent 請求。

{ "MarketType": "spot", "SpotOptions": { "SpotInstanceType": "persistent" } }

 

若要使用建立競價型執行個體請求 request-spot-instances

注意

我們強烈建議使用該request-spot-instances命令請求競價型執行個體,因為它是沒API有計劃投資的舊版。如需詳細資訊,請參閱 使用哪種 Spot 請求方法最好?

使用指request-spot-instances令建立一次性要求。

aws ec2 request-spot-instances \ --instance-count 5 \ --type "one-time" \ --launch-specification file://specification.json

使用命request-spot-instances令建立持續性要求。

aws ec2 request-spot-instances \ --instance-count 5 \ --type "persistent" \ --launch-specification file://specification.json

例如,啟動規格檔案以搭配這些命令使用,請參閱Spot 執行個體請求啟動規格範例。如果您從競價型要求主控台下載啟動規格檔案,則必須改用request-spot-fleet命令 (Spot Request 主控台會使用 Spot 叢集指定競價型執行個體請求)。