競價型執行個體的運作方式 - Amazon Elastic Compute Cloud

競價型執行個體的運作方式

若要啟動 Spot 執行個體,您可以建立 Spot 執行個體請求,或 Amazon EC2 代表您建立 Spot 執行個體請求。Spot 執行個體請求完成後,會啟動 Spot 執行個體。

您可以使用數個不同的服務來啟動 Spot 執行個體。如需詳細資訊,請參閱 Amazon EC2 Spot 執行個體入門。在本使用者指南中,我們描述了使用 EC2 啟動 Spot 執行個體的以下方法:

  • 您可以使用 Amazon EC2 主控台中的啟動執行個體精靈run-instances AWS CLI 命令來建立 Spot 執行個體請求。如需詳細資訊,請參閱 建立 Spot 執行個體請求

  • 您可以建立 EC2 Fleet,在其中指定所需數量的 Spot 執行個體。Amazon EC2 為 EC2 Fleet 中指定的每個 Spot 執行個體建立 Spot 執行個體請求。如需詳細資訊,請參閱 建立 EC2 Fleet

  • 您可以建立 Spot Fleet 請求,在其中指定所需數量的 Spot 執行個體。Amazon EC2 為 Spot Fleet 請求中指定的每個 Spot 執行個體建立 Spot 執行個體請求。如需詳細資訊,請參閱 建立 Spot Fleet 請求

如果有可用容量,您的 Spot 執行個體就會啟動。

您的 Spot 執行個體會執行直到您停止或終止它,或者直到 Amazon EC2 中斷它 (稱為 Spot 執行個體中斷)。

使用 Spot 執行個體時,您必須對中斷做好準備。當 Spot 執行個體的需求增加,或是Spot 執行個體的供給減少時,Amazon EC2 可以中斷您的 Spot 執行個體。當 Amazon EC2 中斷 Spot 執行個體時,會提供 Spot 執行個體中斷通知,在 Amazon EC2 中斷執行個體前,向該執行個體發出兩分鐘的警告。您無法為 競價型執行個體啟用終止保護。如需詳細資訊,請參閱 Spot 執行個體中斷

您可以停止、啟動、重新啟動或終止 Amazon EBS 支援的執行個體。Spot 服務可以在 Spot 執行個體中斷時停止、終止或休眠它。

在啟動群組中啟動 競價型執行個體

在 Spot 執行個體請求中指定啟動群組,告知 Amazon EC2 啟動一組 Spot 執行個體,但前提它能夠啟動其中的所有執行個體。此外,如果 Spot 服務必須終止啟動群組內的其中一個執行個體,則必須終止群組中所有的執行個體。不過,如果您終止啟動群組內的一個或多個執行個體,Amazon EC2 不會終止該啟動群組中其餘的執行個體。

雖然此選項很實用,但加上此限制可能會降低完成 Spot 執行個體請求的機率,並提高終止 Spot 執行個體的機率。例如,您的啟動群組包含多個可用區域的執行個體。如果其中一個可用區域的容量減少,且不再提供使用,則 Amazon EC2 會終止該啟動群組的所有執行個體。

如果建立另一個成功的 Spot 執行個體請求,它指定與先前的成功請求相同的 (現有的) 啟動群組,則新的執行個體會加入該啟動群組。之後,如果這個啟動群組中的執行個體遭到終止,則該啟動群組中的所有執行個體都會終止,這也包括由第一個和第二個請求啟動的執行個體。

在可用區域群組中啟動 競價型執行個體

在您的 Spot 執行個體請求中指定可用區域群組,以告知 Amazon EC2 在同一個 Availability Zone (可用區域) 中啟動一組 Spot 執行個體。Amazon EC2 不需同時中斷可用區域群組中的所有執行個體。如果 Amazon EC2 必須中斷可用區域群組中的其中一個執行個體,則其他的執行個體仍會繼續執行。

雖然此選項很實用,但加上這項限制可能會降低完成 Spot 執行個體請求的機率。

如果指定了可用區域群組,但未在 Spot 執行個體請求中指定可用區域,則結果取決於您指定的網路。

預設 VPC

Amazon EC2 會使用指定子網適用的可用區域。如未指定子網,它會替您選取一個可用區域及其預設子網,但不一定是最低價的區域。如果您刪除可用區域適用的預設子網,則必須指定不同的子網。

非預設 VPC

Amazon EC2 會使用指定子網適用的可用區域。

在 VPC 中啟動 競價型執行個體

您可以用為 競價型執行個體指定子網的同一種方法,來為 隨需執行個體指定子網。

  • [預設 VPC] 如果希望在指定的低價可用區域中啟動 Spot 執行個體,您必須在 Spot 執行個體請求中指定對應的子網。如果未指定子網,Amazon EC2 會替您選擇一個,而這個子網的可用區域可能不具有最低的 Spot 價格。

  • [非預設 VPC] 您必須指定 Spot 執行個體適用的子網。