為什麼我的 Amazon Elastic Compute Cloud (Amazon EC2) Linux 執行個體會意外重新開機或重新啟動?
簡短描述
儘管很少意外重新開機或重新啟動,但有幾個原因可能會導致其發生。以下是最常見的原因:
- 執行個體的一項或兩項狀態檢查失敗。
- 託管執行個體的基礎硬體發生故障,因此 Amazon EC2 重新啟動執行個體,以將其移至運作狀態良好的新硬體。
- 執行個體上發生需要重新啟動的排程維護。
- 使用者或伺服器內的應用程式已重新啟動執行個體。
- 核心錯誤。如果遇到核心錯誤,請確保您的核心已完全更新。
若要更新核心,請根據 Linux 作業系統 (OS) 和版本,執行下列其中一個命令或類似命令:
- sudo yum update kernel
- sudo zypper up kernel-default
- sudo apt upgrade linux-image-aws
解決方法
您可以採取下列幾個動作,判斷執行個體重新啟動的原因:
檢視狀態檢查
從主控台或使用 AWS Command Line Interface (AWS CLI) 檢視執行個體的狀態檢查。如果指出狀態檢查失敗,請參閱為什麼我的 EC2 Linux 執行個體無法連線且無法進行其中一或兩項狀態檢查?
**注意:**如果您在執行 AWS CLI 命令時收到錯誤,請確定您使用的是最新版本的 AWS CLI。
檢視系統日誌
如果執行個體狀態檢查成功,則可能是因 OS 層級問題導致執行個體重新啟動。檢閱系統日誌以判斷發生的錯誤。視您的 OS 發行版而定,系統日誌位於 /var/log/messages 或 /var/log/syslog。
如果執行個體狀態檢查失敗,您可以重新啟動執行個體,並使用主控台輸出來擷取系統日誌。檢閱主控台輸出日誌以對問題進行疑難排解。如需詳細資訊,請參閱擷取系統日誌。
- 開啟 Amazon EC2 主控台。
- 選取執行個體,然後選擇您的執行個體。
- 選擇執行個體狀態、重新啟動執行個體。執行個體可能需要幾分鐘才會重新啟動。
- 驗證該問題是否仍存在。在某些情況下,重新啟動可能會解決該問題。
- 在執行個體處於執行中狀態時,選擇動作、監控和故障診斷、取得系統日誌。
- 檢閱螢幕上顯示的日誌。尋找日誌中列出的錯誤 (如對 Linux 執行個體的系統日誌錯誤進行疑難排解中所述),以取得解決方法資訊。
檢視重新啟動歷史記錄
使用下列命令判斷使用者或伺服器內的應用程式,是否已起始重新啟動:
# grep reboot /home/*/.bash_history
# grep reboot /root/.bash_history
# history | grep -i reboot
# history | grep -i init
# last reboot
檢視 AWS CloudTrail 事件歷史記錄
從 Amazon EC2 主控台或透過 AWS CLI 起始的執行個體重新啟動,會顯示在 CloudTrail 事件歷史記錄中。若要檢視這些事件,請執行下列操作:
- 開啟 AWS CloudTrail 主控台。
- 選擇事件歷史記錄。
- 從篩選條件下拉式清單中選取事件名稱,然後輸入 RebootInstances。
**注意:**您可以建立 Amazon CloudWatch 警示,指出將會自動復原因基礎硬體問題導致重新啟動的執行個體。如需有關如何設定 CloudWatch 警示的資訊,請參閱復原執行個體。
相關資訊
對狀態檢查失敗的執行個體進行疑難排解
狀態檢查的類型