本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
建立 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 執行個體請求。
在打開 Amazon EC2 控制台https://console.aws.amazon.com/ec2/
。 -
在螢幕上方的導覽列上,選取「區域」。
-
在 Amazon 主EC2控台儀表板中,選擇啟動執行個體。
-
(選用) 在 Name and tags (名稱和標籤) 下,您可以命名執行個體,並標記 Spot 執行個體請求、執行個體、磁碟區和彈性圖形。如需標籤的相關資訊,請參閱標記您的 Amazon EC2 資源。
-
對於 Name (名稱),輸入執行個體的描述性名稱。
執行個體名稱是一個標籤,其中鍵是 Name (名稱),而值是您指定的名稱。如果您未指定名稱,則可以透過其 ID 來標識執行個體,該 ID 將在您啟動執行個體時自動產生。
-
若要標記 Spot 執行個體請求、執行個體、磁碟區和彈性圖形,請選擇 Add additional tags (新增其他標籤)。選取 Add tag (新增標籤),然後輸入鍵和值,然後選取要標記的資源類型。為每個要新增的其他標籤重新選擇 Add tag (新增標籤)。
-
-
在 [應用程式和作業系統映像 (Amazon Machine Image)] 下,選擇執行個體的作業系統 (OS),然後選取一個AMI。如需詳細資訊,請參閱應用程式和作業系統映像 (Amazon Machine Image)。
-
在 Instance type (執行個體類型) 下,選取符合您執行個體硬體組態和大小要求的執行個體類型。如需詳細資訊,請參閱執行個體類型。
-
在 Key pair (login) (金鑰對 (登入)),選擇現有的金鑰對,或選擇 Create new key pair (建立新的金鑰對) 以建立新的金鑰對。如需詳細資訊,請參閱Amazon EC2金鑰對和 Amazon EC2執行個體。
重要
如果您選擇不使用 key pair 繼續 (不建議) 選項,則除非您選擇設定為允許使用者以其他方式登入AMI的方式,否則您將無法連線至執行個體。
-
在 Network settings (網路設定) 下,使用預設設定,或視需要選擇 Edit (編輯) 以便設定網路設定。
安全群組構成網路設定的一部分,並定義執行個體的防火牆規則。這些規則會指定應交付至您執行個體的傳入網路流量。
如需詳細資訊,請參閱Network settings (網路設定)。
-
AMI您選取的包括一或多個儲存磁碟區,包括根裝置磁碟區。在 Configure storage (設定儲存) 下,您可以透過選擇 Add new volume (新增新磁碟區),指定要連接到執行個體的額外磁碟區。如需詳細資訊,請參閱設定儲存。
-
在 Advanced details (進階詳細資訊),請設定 Spot 執行個體請求,如下所示:
-
在 Purchasing option (購買選項),請選取 Request Spot Instances (請求 Spot 執行個體) 核取方塊。
-
您可以保留 Spot 執行個體請求的預設組態,也可以選擇右側的 Customize (自訂) 為您的 Spot 執行個體請求指定自訂設定。
當您選擇 Customize (自訂) 時,會出現下列欄位。
-
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 執行個體定價歷史記錄。
-
-
-
Request type (請求類型):您選擇的 Spot 執行個體請求類型會決定 Spot 執行個體中斷時會發生什麼狀況。
-
一次性:Amazon EC2 會為您的競價型執行個體提出一次性請求。如果您的 Spot 執行個體中斷,即不會重新提交請求。
-
持續性請求:Amazon EC2 會為您的競價型執行個體提出持續性請求。如果您的 Spot 執行個體中斷,系統會重新提交請求以補充中斷的 Spot 執行個體。
若未指定數值,則預設值為一次性請求。
-
-
Valid to (有效至):持久性 Spot 執行個體請求的到期日期。
一次性請求不支援此欄位。一次性請求在請求中的所有執行個體均啟動,或是您取消請求之前,都會繼續維持有效運作。
-
No request expiry date (無請求過期日期):請求會維持在有效狀態,直到您將其取消為止。
-
Set your request expiry date (設定您的請求過期日期):持久性請求在您指定的日期之前會維持在有效狀態,或者直到您將其取消為止。
-
-
Interruption behavior (中斷行為):您選擇的行為會決定 Spot 執行個體中斷時會發生什麼狀況。
-
針對持久性請求,有效值為 Stop (停止) 和 Hibernate (休眠)。執行個體停止時,會收取EBS磁碟區儲存的費用。
注意
Spot 執行個體現在使用與隨需執行個體相同的休眠功能。若要啟用休眠功能,您可以在此選擇休眠,也可以從停止 - 休眠行為欄位 (顯示於啟動執行個體精靈下半部) 中選擇啟用。如需休眠必要條件,請參閱Amazon EC2執行個體休眠的先決條件。
-
針對一次性請求,有效值僅有 Terminate (終止)。
若未指定值,則預設值為 Terminate (終止),這對於持久性 Spot 執行個體請求無效。如果您保留預設值,並嘗試啟動持久性 Spot 執行個體請求,則會出現錯誤。
如需詳細資訊,請參閱Spot 執行個體中斷的行為。
-
-
-
-
在 Summary (摘要) 面板上,針對 Number of instances (執行個體的數量),輸入要啟動的執行個體數量。
注意
Amazon EC2 會為每個競價型執行個體建立個別的請求。
-
在 Summary (摘要) 面板上,檢閱執行個體的詳細資訊,並進行任何必要的變更。提交 Spot 執行個體請求後,您就無法變更請求的參數。您可以直接導覽至啟動執行個體精靈中的某個區段,方法是在 Summary (摘要) 面板中選擇其連結。如需詳細資訊,請參閱Summary。
-
當您準備好啟動執行個體時,請選擇 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-typet2.micro
\ --count5
\ --subnet-idsubnet-08fc749671b2d077c
\ --key-nameMyKeyPair
\ --security-group-idssg-0b0384b66d7d692f9
\ --instance-market-optionsfile://
spot-options.json
以下是要在JSON檔案中指定的資料結構
--instance-market-options
。您也可以指ValidUntil
和InstanceInterruptionBehavior
。如果您沒有在資料結構中指定欄位,則會使用預設值。以下範例會建立
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 叢集指定競價型執行個體請求)。