針對執行個體啟動問題進行故障診斷 - Amazon Elastic Compute Cloud

針對執行個體啟動問題進行故障診斷

下列問題會導致您無法啟動執行個體。

無效裝置名稱

描述

當您嘗試啟動新的執行個體時,發生 Invalid device name device_name 錯誤。

原因

如果您在嘗試啟動執行個體時收到此錯誤,表示在請求中為一個或多個磁碟區指定的裝置名稱具有無效的裝置名稱。可能的原因包括:

  • 選取的 AMI 可能正在使用裝置名稱。

  • 裝置名稱可能會保留給根磁碟區。

  • 裝置名稱可能會用於請求中的其他磁碟區。

  • 裝置名稱可能對作業系統無效。

解決方案

要解決問題:

  • 請確保您選取的 AMI 中未使用裝置名稱。執行下列命令以檢視 AMI 使用的裝置名稱。

    C:\> aws ec2 describe-images --image-id ami_id --query 'Images[*].BlockDeviceMappings[].DeviceName'
  • 請確保您沒有使用為根磁碟區保留的裝置名稱。如需詳細資訊,請參閱 可用裝置名稱

  • 請確保請求中指定的每個磁碟區都有唯一的裝置名稱。

  • 請確保您指定的裝置名稱格式正確。如需詳細資訊,請參閱 可用裝置名稱

超過執行個體限制

描述

當您嘗試啟動新的執行個體或重新啟動已停止的執行個體時,發生 InstanceLimitExceeded 錯誤。

原因

當您嘗試啓動新的執行個體或重新啟動已停止的執行個體時,如果發生 InstanceLimitExceeded 錯誤,就表示已達到您在區域中可啟動的執行個體數目限制。當您建立 AWS 帳戶時,我們會設定您在每一區域中可執行之執行個體數目的預設限制。

解決方案

您可以要求提高每一區域的執行個體限制。如需詳細資訊,請參閱 Amazon EC2 服務配額

執行個體容量不足

描述

當您嘗試啟動新的執行個體或重新啟動已停止的執行個體時,發生 InsufficientInstanceCapacity 錯誤。

原因

當您嘗試啓動執行個體或重新啟動已停止的執行個體時,如果發生此錯誤,就表示 AWS 目前可用的隨需容量不足,無法滿足您的請求。

解決方案

若要解決問題,請嘗試下列方法:

  • 等候幾分鐘,然後再次提交您的請求;容量會頻繁轉移。

  • 以降低的執行個體數提交新請求。例如,如果您要提出一次啟動 15 個執行個體的請求,請改嘗試提出 3 個啟動 5 個執行個體的請求,或 15 個啟動 1 個執行個體的請求。

  • 如果啟動執行個體,請提交新的請求,而不要指定可用區域。

  • 如果啟動執行個體,請使用不同的執行個體類型 (您可以在後面的階段調整大小) 來提交新的請求。如需詳細資訊,請參閱 變更執行個體類型

  • 如果透過叢集置放群組來啟動執行個體,可能會出現容量不足的錯誤。如需詳細資訊,請參閱 放置群組的規則與限制

目前並不支援要求的組態。請查看文件以了解支援的組態。

描述

當您嘗試啟動新的執行個體時,由於不支援執行個體組態,因此發生 Unsupported 錯誤。

原因

錯誤訊息會提供其他詳細資訊。例如,指定的區域或可用區域可能不支援執行個體類型或執行個體購買選項。

解決方案

請嘗試不同的執行個體組態。若要搜尋符合您需求的執行個體類型,請參閱 尋找 Amazon EC2 執行個體類型

立刻終止執行個體

描述

您的執行個體會從 pending 狀態進入 terminated 狀態。

原因

下列是執行個體為什麼可能會立即終止的幾個原因:

  • 您已超過 EBS 磁碟區限制。如需詳細資訊,請參閱 執行個體磁碟區限制

  • EBS 快照已損毀。

  • 根 EBS 磁碟區已加密,且您沒有存取 KMS 金鑰進行解密的許可。

  • AMI 的區塊型設備映射中指定的快照已加密,且您沒有存取 KMS 金鑰進行解密的許可,或您無法存取 KMS 金鑰來加密還原的磁碟區。

  • 您用來啟動執行個體的執行個體存放區後端 AMI 缺少必要部分 (an image.part.xx 檔案)。

如需詳細資訊,請使用下列其中一種方法來查明終止原因。

使用 Amazon EC2 主控台查明終止原因

  1. https://console.aws.amazon.com/ec2/ 開啟 Amazon EC2 主控台。

  2. 在導覽窗格中,選擇 Instances (執行個體),然後選取該執行個體。

  3. 在第一個索引標籤上,找出狀態轉換原因旁的原因。

使用 AWS Command Line Interface 查明終止原因

  1. 使用 describe-instances 命令並指定執行個體 ID。

    aws ec2 describe-instances --instance-id instance_id
  2. 檢閱命令傳回的 JSON 回應,並記下 StateReason 回應元素中的值。

    下列程式碼區塊顯示 StateReason 回應元素的範例。

    "StateReason": { "Message": "Client.VolumeLimitExceeded: Volume limit exceeded", "Code": "Server.InternalError" },

如何使用 AWS CloudTrail 查明終止原因

如需詳細資訊,請參閱 AWS CloudTrail 使用者指南中的 使用 CloudTrail 事件歷史記錄檢視事件

解決方案

根據終止原因,採取下列其中一項動作:

  • Client.VolumeLimitExceeded: Volume limit exceeded — 刪除未使用的磁碟區。您可以提交申請來增加磁碟區容量上限。

  • Client.InternalError: Client error on launch — 確保您有存取用於解密和加密磁碟區之 AWS KMS keys 所需的許可。如需詳細資訊,請參閱 AWS Key Management Service 開發人員指南中的 在 AWS KMS 中使用金鑰政策

Windows 啟動後立即出現高 CPU 用量

如果 Windows Update 設為 Check for updates but let me choose whether to download and install them (檢查是否有更新,但讓我選擇是否下載並安裝) (預設的執行個體設定),此項檢查會使用執行個體 50 - 99% 的 CPU。如果此 CPU 耗用造成您應用程式的問題,您可在 Control Panel (控制面板) 手動變更 Windows Update 設定,或在 Amazon EC2 user data (Amazon EC2 使用者資料) 欄位中使用下列指令碼:

reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\Auto Update" /v AUOptions /t REG_DWORD /d 3 /f net stop wuauserv net start wuauserv

當您執行此指令碼時,請指定 /d 的值。預設值為 3。可能的值包括以下:

  1. 絕不檢查更新

  2. 檢查是否有更新,但讓我選擇是否下載並安裝

  3. 下載更新,但讓我選擇是否安裝

  4. 自動安裝更新

您修改執行個體的使用者資料之後,就可以執行它。如需詳細資訊,請參閱 檢視及更新執行個體使用者資料使用者資料執行