休眠中斷的 競價型執行個體 - Amazon Elastic Compute Cloud

休眠中斷的 競價型執行個體

您可以指定 Amazon EC2 在您的 Spot 執行個體中斷時將其休眠。如需詳細資訊,請參閱 指定中斷行為

當 Amazon EC2 休眠 Spot 執行個體時,會發生下列情況:

  • 當執行個體收到來自 Amazon EC2 的訊號時,代理程式會提示作業系統進入休眠。如果未安裝代理程式,或者底層的作業系統不支援休眠,或是沒有足夠的磁碟區空間來儲存執行個體的記憶體,休眠作業就會失敗,而 Amazon EC2 會改而停止執行個體。

  • 執行個體的記憶體 (RAM) 會保留於根磁碟區中。

  • 執行個體的EBS 磁碟區和私有 IP 地址也會保留。

  • 除了彈性 IP 地址以外的執行個體存放磁碟區和公有 IP 地址,則不會保留。

如需有關建立休眠的 隨需執行個體 的資訊,請參閱 休眠您的隨需執行個體

考量事項

  • 只有 Amazon EC2 才可讓 Spot 執行個體進入休眠。您無法手動使 Spot 執行個體進入休眠。

  • 只有 Amazon EC2 才能恢復休眠的 Spot 執行個體。您無法手動恢復休眠的 Spot 執行個體。

  • 當容量可用時,Amazon EC2 會恢復執行個體。

  • 當 Amazon EC2 休眠 Spot 執行個體時,會立即開始休眠。您會收到中斷通知,但 Spot 執行個體不會過兩分鐘才中斷。

  • 當執行個體正在進入休眠時,執行個體的運作狀態檢查可能會失敗。

  • 當休眠程序完成時,執行個體的狀態為 stopped

  • 當執行個體休眠時,您只需支付 EBS 磁碟區的費用。使用 EC2 Fleet 和 Spot Fleet 時,如果有許多已進入休眠的執行個體,可能會超出您帳戶的 EBS 磁碟區數量限制。

  • 確定您熟悉休眠執行個體的含義。有關執行個體休眠時所發生情況的資訊,請參閱 重新啟動、停止、休眠和終止之間的差異

先決條件

若要讓 Spot 執行個體進入休眠,必須具備下列必要條件:

Spot 請求類型

Spot 執行個體請求類型 - 必須為 persistent。您無法在 Spot 執行個體請求中指定啟動群組。

EC2 Fleet 或 Spot Fleet 請求類型 - 必須為 maintain

支援 Linux AMI

下列支援的 AMI 包含休眠代理程式。若要使用下列 AMI 的較早版本,您必須安裝休眠代理程式

  • Amazon Linux 2 2019.08.29 或更新版本

  • Amazon Linux AMI 2017.09.1 或更新版本

  • Ubuntu Xenial 16.04 20171121 或更新版本

¹ 若要使用較早版本的 Ubuntu Xenial AMI,其必須具有經 AWS (linux-aws) 調整的 Ubuntu 內核且大於 4.4.0-1041。

如需受支援的 Windows AMI 的相關資訊,請參閱 Windows 執行個體的 Amazon EC2 使用者指南中的休眠必要條件

啟動休眠代理程式

我們建議在執行個體啟動時,利用使用者資料啟動休眠代理程式。或者,您可以手動啟動代理程式。如需詳細資訊,請參閱 啟動時啟動休眠代理程式

支援的執行個體系列

C3、C4、C5、M4、M5、R3、R4

執行個體 RAM 大小

必須小於 100 GB。

根磁碟區類型

必須是 EBS 磁碟區,而非執行個體存放區磁碟區。

EBS 根磁碟區大小

必須大到足以在休眠期間存放執行個體的記憶體 (RAM)。

EBS 根磁碟區加密 - 建議使用,但不是 Spot 執行個體休眠的先決條件

我們強烈建議將加密的 EBS 磁碟區做為根磁碟區使用,因為執行個體的記憶體會在休眠期間,存放於根磁碟區中。這可確保當資料靜態地儲存於磁碟區中,以及在執行個體和磁碟區之間移動時,記憶體 (RAM) 的內容會是加密的。

使用下列三個選項中的一個來確保根磁碟區是加密的 EBS 磁碟區:

  • EBS 預設加密 - 您可以啟用 EBS 預設加密,以確保會加密在您 AWS 帳戶中建立的所有新 EBS 磁碟區。以此方式,您可以為您的執行個體啟用休眠,而不在執行個體啟動時指定加密意圖。如需詳細資訊,請參閱 預設加密

  • EBS「單一步驟」加密 - 您可以從未加密的 AMI 啟動加密的 EBS 後端 EC2 執行個體,並可同時啟用休眠。如需詳細資訊,請參閱 對 EBS 後端 AMI 使用加密

  • 加密 AMI - 您可以使用加密的 AMI 來啟動您的執行個體,藉此啟用 EBS 加密。如果您的 AMI 沒有加密的根快照,您可以將資料複製到新的 AMI,然後請求加密。如需詳細資訊,請參閱 複製期間加密未加密的映像複製 AMI

將休眠代理程式安裝到 Linux AMI

除非計劃使用已包含代理程式的 AMI,否則您必須在 AMI 上安裝休眠代理程式。

以下指示說明如何在Linux AMI 上安裝休眠代理程式。如需將休眠代理程式安裝到 Windows AMI 上,請參閱 Amazon EC2 Windows 執行個體使用者指南中的在 Windows AMI 上安裝休眠代理程式

在 Amazon Linux AMI 上安裝休眠代理程式
  1. 確認核心支援休眠,必要時請更新核心。

    sudo yum update kernel
  2. 如果 AMI 未包含代理程式,請安裝代理程式。

    sudo yum update; sudo yum install hibagent
在 Ubuntu AMI 上安裝休眠代理程式

如果 AMI 未包含代理程式,請安裝代理程式。Hibernation Agent 僅適用於 Ubuntu 16.04 或更新版本。

sudo apt-get install hibagent

啟動時啟動休眠代理程式

無論代理程式是 AMI 中原本包含,或是由您自行安裝的,您都必須在執行個體啟動時執行休眠代理程式。

以下指示說明如何啟動 Linux 執行個體上的休眠代理程式。有關在 Windows 執行個體上啟動休眠代理程式的指示,請參閱 Amazon EC2 Windows 執行個體使用者指南中的啟動時啟動休眠代理程式

在 Spot 執行個體上啟動休眠代理程式

按照以下步驟來使用首選啟動方法請求 Spot 執行個體,然後將下列內容新增至使用者資料。

#!/bin/bash /usr/bin/enable-ec2-spot-hibernation