問題往往出在執行個體內部組態方面的問題。執行個體沒有回應後的復原程序,取決於您所執行的執行個體類型 (EBS 後端或執行個體後端)。

先檢查執行個體的主控台輸出,設法判斷重新開機影響執行個體的原因。主控台輸出資訊提供的詳細資訊,有時足以了解執行個體故障的原因。

從 AWS 管理主控台:

  1. 選取執行個體。
  2. Instance Actions 功能表 選取 View System Log

使用 Amazon EC2 API 工具:

  1. 執行 ec2-get-console-output 命令。

如果查看主控台輸出無法判斷情況,請閱讀下方關於兩種執行個體類型的資訊。


執行個體後端執行個體

執行個體復原

一般來說,用執行個體後端根設備從 AMI 啟動的執行個體無法開機時,除了啟動替代執行個體外,您沒有其他選擇。進行任何修改後,不妨綁定自訂的 AMI,建立使用中執行個體組態的備份。如果是從 AMI 執行會在開機程序下載指令碼的執行個體,或許能夠以修改指令碼的方式,修正主控台輸出內的任何錯誤。

資料復原

雖然執行個體尚未終止且沒有基本硬體問題時,AWS Support 或許能復原部分資料,但執行個體存放區資料復原通常不可行。不過資料復原這個程序並不保險,而且可能花上好幾天才能完成,因此不要將 AWS Support 復原資料的可能性視為唯一的備份策略。


EBS 後端執行個體

嘗試復原 EBS 後端執行個體前,必須先知道使用的是不是 EBS 後端執行個體中預先連接的執行個體存放區 (又稱為暫時性存放區)。這項資訊之所以重要,是因為如果採取本頁稍後說明的動作,就會遺失這個預先連接的執行個體存放區中的資料。如果使用的是執行個體存放區,請參閱上方章節,進一步了解預先連接的執行個體存放區所儲存資料的復原選項。

執行個體復原

如果執行個體的根設備屬於 EBS 後端磁碟區,嘗試停止再重新啟動執行個體往往能解決問題。如需進一步資訊,請參閱停止再重新啟動執行個體

未正確開機之 EBS 後端執行個體根磁碟區的錯誤,有時候可以手動修正。手動修正錯誤程序可能繁複,除非您有系統管理的經驗,否則不建議採用。據我們所知,有客戶在分析故障執行個體的主控台輸出後,採用這幾個範例解決方案,包括在磁碟區執行 fsck、停用 SELinux,或是修正 fstab 檔案中的錯誤。

若要停止再重新啟動執行個體:

  1. 停止無法正確開啟的執行個體 (不要關閉或終止)。
  2. 分離根 EBS 磁碟區。
  3. 將磁碟區連接到相同可用區域的現有執行個體,務必使用次要掛載點 (而非根)。
  4. 修正舊根磁碟區的組態。
  5. 分離磁碟區後再連接到其原始掛載點的原始執行個體。
  6. 啟動執行個體。
  7. 視需要重新連接彈性 IP 地址。

重新啟用 IO

有時候,EBS 磁碟區可能基於安全起見停用了 IO 存取。如果是這個情況:

  1. 導覽至管理主控台的 EBS 磁碟區。如果磁碟區已停用 IO,磁碟區清單的 "Status Checks" 欄會列為 "Impaired"。
  2. 您可以在磁碟區細節部分按一下 "Enable Volume IO",用主控台重新啟用 IO。
  3. 建議您用 fsck 或 chkdsk 這類工具驗證資料是否一致。
  4. 如果執行個體沒有回應,視作業系統而定,回復 IO 或許能讓執行個體恢復正常。

資料復原

如果執行個體屬於 EBS 後端,因為其內部組態相關問題 (主控台輸出通常會提供詳細資訊) 而故障,而且標準重新開機失敗,不妨採取下列步驟復原資料:

  1. 停止無法正確開啟的執行個體 (不要關閉或終止)。
  2. 分離根 EBS 磁碟區。
  3. 將磁碟區連接到相同可用區域中新的替代執行個體 (最好從先前綁定的 AMI 啟動),而且一定要使用次要掛載點 (而非根)。
  4. 將資料從磁碟區複製到替代執行個體。

其他資源

客戶如有興趣改善架構、了解最佳實務以及為問題做準備,可以藉助諸多資源。

  1. 關於執行個體故障架構方式的詳細資訊,請參閱 AWS 雲端白皮書的指定容錯應用程式部分。
  2. 不妨綁定自訂的 AMI,建立使用中執行個體組態的備份。
  3. Amazon EC2 使用者指南有 pdf 版的故障後恢復應用程式概念

基礎主機出問題時,執行個體通常會卡在「停止」狀態。強制停止執行個體應該就能解決。從 EC2 命令列工具或 AWS 管理主控台就能完成。

命令列工具

ec2-stop-instances [您的 id] --force

AWS 管理主控台

用滑鼠右鍵按一下執行個體,在下拉清單選取 "Stop" (應該會出現即將執行強制停止的說明)。

附註:無論是哪一種情況,您可能都必須發兩次強制停止的請求。

如果無法強制停止執行個體,或許能啟動替代執行個體;請參閱停止執行個體疑難排解。如果這個方法不管用,請透過 AWS 論壇或開立 AWS Support 案例通知我們。為加速解決問題,聯絡取得支援時務必附上先前採取的任何步驟。

Amazon EC2 服務內的自動程序,最終會清除長時間處於「關閉」狀態的執行個體。針對執行個體未處於「執行」狀態的執行個體使用時間,我們不會向客戶收取費用。

如無法等執行個體終止,請透過 AWS 論壇或開立 AWS Support 案例讓我們知道。為加速解決問題,聯絡取得支援時務必附上先前採取的任何步驟。