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

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

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

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

無效裝置名稱

描述

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

原因

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

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

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

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

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

解決方案

要解決問題:

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

    $ 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中使用金鑰政策

許可不足

描述

當您嘗試啟動新的執行個體時發生 "errorMessage": "You are not authorized to perform this operation." 錯誤,並且啟動失敗。

原因

如果在嘗試啟動執行個體時發生此錯誤,表示您沒有啟動執行個體所需的 IAM 許可。

可能缺少的許可包括:

  • ec2:RunInstances

  • iam:PassRole

可能還缺少其他許可。如需啟動執行個體所需的許可清單,請參閱 範例:使用 EC2 啟動執行個體精靈啟動執行個體 (RunInstances) 下方的 IAM 政策範例。

解決方案

要解決問題:

  • 如果您以 IAM 使用者身分提出請求,請確認您具有以下許可:

    • ec2:RunInstances 使用萬用字元資源 (「*」)

    • iam:PassRole 與資源符合角色 ARN (例如,arn:aws:iam::999999999999:role/ExampleRoleName)

  • 如果沒有上述許可,請編輯與 IAM 角色或使用者關聯的 IAM 政策,以新增缺少的必要許可。

如果您的問題尚未解決,且繼續收到啟動失敗錯誤,可以解碼錯誤中包含的授權失敗訊息。解碼的訊息包含 IAM 政策中缺少的許可。如需詳細資訊,請參閱 EC2 執行個體啟動期間收到 "UnauthorizedOperation" 錯誤後如何解碼授權失敗訊息?