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

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

建立 Spot 執行個體請求

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

您可以在 Amazon EC2 主控台或 run-instances 命令中使用啟動執行個體精靈,以啟動隨需執行個體的相同方式請求 Spot 執行個體。僅出於下列原因,建議使用此方法:

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

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

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

如果您一次請求多個 Spot 執行個體,Amazon EC2 會建立不同的 Spot 執行個體請求,如此您就可以單獨追蹤每個請求的狀態。如需追蹤 Spot 執行個體請求的詳細資訊,請參閱 取得 Spot 執行個體請求狀態

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

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

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

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

  3. 從 Amazon EC2 主控台儀表板選擇 Launch Instance (啟動執行個體)

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

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

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

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

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

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

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

    重要

    如果您選擇 Proceed without key pair (Not recommended) (繼續而不使用金鑰對 (不建議)) 選項,您將無法連線到執行個體,除非您選擇已設定為允許使用者透過其他方式登入的 AMI。

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

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

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

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

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

    1. 購買選項下方,選取請求 Spot 執行個體核取方塊。

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

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

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

        警告

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

        如果您指定最高價格,則價格必須超過 0.001 美元。指定低於 USD $0.001 的值會導致啟動失敗。

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

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

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

          • 如果您指定的最高價格大於目前的 Spot 價格,Spot 執行個體將會啟動並按目前的 Spot 價格收費。Spot 執行個體執行後,如果 Spot 價格超過您的最高價格,Amazon EC2 將中斷您的 Spot 執行個體。

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

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

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

        • One-time (一次性):Amazon EC2 會為您的 Spot 執行個體發出一次性請求。如果您的 Spot 執行個體中斷,即不會重新提交請求。

        • Persistent request (持久性請求):Amazon EC2 會為您的 Spot 執行個體發出持久性請求。如果您的 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 為每個 Spot 執行個體建立一個單獨的請求。

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

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

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

AWS CLI
建立 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 建立 Spot 執行個體請求

注意

我們強烈反對使用 request-spot-instances 命令來請求 Spot 執行個體,因為這是一個沒有計劃投資的舊式 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 執行個體請求啟動規格範例。如果您從 Spot 請求主控台下載啟動規格檔案,則必須改用 request-spot-fleet 命令 (Spot 請求主控台使用 Spot 機群指定 Spot 執行個體請求)。