我嘗試停止 Amazon Elastic Compute Cloud (Amazon EC2) 執行個體,但現在它卡在正在停止狀態。
簡短說明
在下列情況下,執行個體可能會「卡在」正在停止狀態:
- 託管執行個體的基礎硬體發生問題,或系統狀態檢查失敗。
- 執行個體狀態檢查失敗。
- 執行個體上發生記憶體不足 (OOM) 錯誤。
- 您正在嘗試休眠執行個體。
解決方法
(選用) 檢查執行個體狀態
若要檢查執行個體的最新狀態,請在 Amazon EC2 主控台中選擇重新整理圖示。或者,在 AWS Command Line Interface (AWS CLI) 中執行 describe-instances 命令。
注意: 如果您在執行 AWS CLI 命令時收到錯誤訊息,請確定您使用的是最新版本的 AWS CLI。
在下列範例命令中,將 i-0123ab456c789d01e 替換為您嘗試停止的執行個體 ID:
aws ec2 describe-instances --instance-ids i-0123ab456c789d01e --output json
檢查 JSON 回應中的狀態代碼和名稱:
"State": {
"Code": 64,
"Name": "stopping"
},
如果執行個體卡在停止狀態,請執行下列動作以強制停止執行個體:
託管執行個體的基礎硬體發生問題呢,或系統狀態檢查失敗
系統狀態檢查失敗表示託管 EC2 執行個體的硬體發生問題。必須透過停止並啟動執行個體,將執行個體遷移至新的、運作狀態良好的主機。
等待 Amazon EC2 執行執行個體的停止和啟動操作。或者,您可以強制停止該執行個體。如需有關強制停止的指示,請參閱下一節「強制停止執行個體」。
如需詳細資訊,請參閱我的 EC2 Linux 執行個體的系統狀態檢查失敗。如何對此問題進行疑難排解?
執行個體狀態檢查失敗
如果執行個體狀態檢查失敗,則執行個體可能會因為執行關機指令碼而卡在停止狀態。或者,停止使用 StopInstance API 藉助救援執行個體進行疑難排解的執行個體可能會卡住。這是因為 StopInstance 作業可能需要一段時間,因為該執行個體無法連線。
在這些案例中,執行個體最終會停止。或者,您可以強制停止該執行個體。如需有關強制停止的指示,請參閱下一節強制停止執行個體。
執行個體上的 OOM 錯誤
檢查執行個體的主控台記錄檔是否有 OOM 錯誤。如需詳細資訊,請參閱為什麼我的 EC2 Linux 執行個體由於資源過度使用而沒有回應?
休眠程序中的執行個體
如果執行個體在休眠期間似乎卡在停止狀態,您可以強制停止執行個體。如需有關強制停止的指示,請參閱下一節強制停止執行個體。
如需詳細資訊,請參閱疑難排解休眠。
強制停止執行個體
如果您的執行個體卡在停止狀態,可以強制停止該執行個體:
使用 Amazon EC2 主控台
- 開啟 Amazon EC2 主控台。
- 選取執行個體,然後選取卡住的執行個體。
- 選取執行個體狀態、強制停止執行個體、停止。請注意,僅當執行個體處於停止狀態時,才能在主控台中使用強制停止執行個體。如果執行個體處於其他狀態 (關閉和終止除外),則可以使用 AWS CLI 強制停止執行個體。
使用 AWS CLI
使用 stop-instances 命令和 --force 選項,如下列範例所示:
aws ec2 stop-instances --instance-ids i-0123ab456c789d01e --force
其他資源
如果上述解決步驟無法解決問題,請在 AWS re:Post 上發佈請求來尋求幫助。若要加速解決問題,請加入執行個體 ID,並說明您已採取的步驟。
如需詳細資訊,請參閱停止執行個體疑難排解。