我想知道為什麼 Amazon Elastic Compute Cloud (Amazon EC2) 非預期地終止了我的 EC2 執行個體。
解決方法
**注意:**如果您在執行 AWS Command Line Interface (AWS CLI) 命令時收到錯誤訊息,請參閱對 AWS CLI 錯誤進行疑難排解。此外,請確定您使用的是最新的 AWS CLI 版本。
隨需執行個體
注意:在 Amazon EC2 刪除您的執行個體後,您可能仍然會產生費用。
若要查看有關 Amazon EC2 何時以及如何刪除您隨需執行個體的資訊,請檢查 AWS CloudTrail 事件歷史記錄中的 TerminateInstances 事件。或者,在 CloudTrail 主控台中,選擇 Resource name (資源名稱),然後輸入您的執行個體 ID,以查看與您的執行個體相關的所有 API 呼叫。檢查事件詳細資訊,以取得有關執行個體終止的時間和終止執行個體的使用者資訊。
**注意:**您可以使用 AWS CloudTrail 僅搜尋過去 90 天的事件記錄。如需詳細資訊,請參閱如何使用 CloudTrail 查看 AWS 帳戶中發生的 API 呼叫和動作?
Amazon EC2 也可能因為下列原因終止您的隨需執行個體:
- 作業系統 (OS) 關閉
- 執行個體啟動失敗
- 第三方軟體終止
作業系統層級關閉
您可以將 EC2 執行個體的關閉行為設定為終止。在這種情況下,當您在執行個體上執行作業系統層級的關閉命令 (例如 shutdown 或 poweroff) 時,Amazon EC2 會終止該執行個體。當 Amazon EC2 以這種方式刪除您的執行個體時,CloudTrail 不會記錄事件。
若要檢查執行個體的關閉行為,請執行以下 describe-instance-attribute AWS CLI 命令:
aws ec2 describe-instance-attribute --instance-id example-instance-id --attribute instanceInitiatedShutdownBehavior
**注意:**將 example-instance-id 替換為您的執行個體 ID。
如果您將 DeleteOnTermination 屬性設為 False 並保留了根磁碟區,請使用救援執行個體檢查作業系統層級日誌,例如 /var/log/messages 日誌或 /var/log/audit/audit.log。這可讓您識別是誰在何時執行了關機命令。如需如何啟動救援執行個體的步驟,請參閱為什麼當我嘗試啟動 EC2 Linux 執行個體時,它會進入緊急模式?中的使用救援執行個體手動編輯檔案
EC2 執行個體啟動失敗
啟動 EC2 執行個體時,它可能會因為下列原因啟動失敗或自動終止:
- 您沒有將 Amazon Elastic Block Store (Amazon EBS) 磁碟區正確附加到執行個體。
- 附加到 EC2 執行個體的 Amazon EBS 磁碟區處於錯誤狀態。
- 您將加密的 EBS 磁碟區附加到執行個體,但沒有權限存取 AWS Key Management Service (AWS KMS) 解密金鑰。
第三方軟體終止
第三方軟體可能會因各種原因終止您的 EC2 執行個體。檢查執行 TerminateInstances 事件的 Amazon Resource Name (ARN) 或 AWS Identity and Access Management (IAM) 使用者,是否與您的第三方軟體相關。
例如,Karpenter 具有可以刪除您 EC2 執行個體的中斷控制。如需詳細資訊,請參閱 Karpenter 網站上的中斷。
Spot 執行個體
如果 Spot 執行個體價格高於您的出價,那麼您將失去 Spot 執行個體容量。或者,如果 Amazon EC2 無法滿足 Spot 請求限制,則 Amazon EC2 將終止 Spot 執行個體。
若要確定 Amazon EC2 是否終止了 Spot 執行個體,請檢查 CloudTrail 事件歷史記錄中的 BidEvictedEvent 事件。
Amazon EC2 Auto Scaling 群組中的執行個體
由於以下原因,Amazon EC2 Auto Scaling 可能會終止 Amazon EC2 Auto Scaling 群組中的執行個體:
- EC2 執行個體標記為運作狀態不佳。
- 存在 Amazon EC2 Auto Scaling 群組縮減事件。
**注意:**預設情況下,AWS Elastic Beanstalk 環境使用 Amazon EC2 Auto Scaling 群組來啟動 EC2 執行個體。
相關資訊
如何重新建立已終止的 EC2 執行個體?
對 Amazon EC2 執行個體終止問題進行疑難排解