為什麼我無法啟動 EC2 執行個體?
我無法啟動新的 Amazon Elastic Compute Cloud (Amazon EC2) 執行個體,也無法啟動我現有的執行個體。
解決方法
您可能無法啟動 EC2 執行個體的原因有很多種。如果您在嘗試啟動執行個體時沒有收到錯誤碼,請執行以下動作:
- 檢查 AWS CloudTrail 中的 StartInstances 事件。
-或-
執行 AWS Command Line Interface (AWS CLI) describe-instances 命令,並指定執行個體 ID 以查看問題的原因。在下列範例中,將 MYINSTANCE 取代為您嘗試啟動的執行個體 ID。
檢查命令傳回的 JSON 回應中的 StateReason 訊息。在下列範例回應中,傳回的 StateReason 是 Client.InternalError:aws ec2 describe-instances --instance-id MYINSTANCE --output json
**注意:**如果您在執行 AWS CLI 命令時收到錯誤,請參閱對 AWS CLI 錯誤進行疑難排解。此外,請確定您使用的是最新的 AWS CLI 版本。"StateReason": { "Message": "Client.InternalError: Client error on launch", "Code": "Client.InternalError" },
- 檢閱下列常見錯誤以解決問題。
InsufficientInstanceCapacity
啟動新的或重新啟動已停止的執行個體時,會發生下列錯誤,且沒有足夠的可用隨需容量來滿足您的要求:
An error occurred (InsufficientInstanceCapacity) when calling the StartInstances operation (reached max retries: 4): Insufficient capacity.)
如果沒有足夠的隨需容量來完成您的請求,則會發生此錯誤。
如需解決方法的資訊,請參閱如何對啟動 EC2 執行個體時發生的 InsufficientInstanceCapacity 錯誤進行疑難排解?
InstanceLimitExceeded
當您在 AWS 區域中啟動超過允許的執行個體上限時,會發生下列錯誤:
InstanceLimitExceeded: Your quota allows for 0 more running instance(s).
如果您收到此訊息,請向 AWS Support 提交配額增加請求。在您的請求中,確保包含您嘗試啟動的執行個體類型和要在其中啟動的 AWS 區域。
如需有關解決此錯誤的資訊,請參閱如何對啟動 EC2 執行個體時發生的 InstanceLimitExceeded 錯誤進行疑難排解?
UnauthorizedOperation
當嘗試啟動執行個體的使用者沒有必要權限時,就會發生 UnauthorizedOperation 錯誤。若要解決此錯誤,請參閱在 EC2 執行個體啟動期間收到 "UnauthorizedOperation" 錯誤之後,如何解碼授權失敗訊息?
目前不支援請求的組態
以下兩個問題之一會導致此錯誤:
-
請求的可用區域不支援指定的執行個體類型。若要檢查特定可用區域中執行個體類型的可用性,請在 AWS CLI 中執行 aws ec2 describe-instance-type-offerings 命令。然後,在受支援的可用區域中啟動執行個體。
例如,使用下列命令來檢查 us-east-1 中所有可用區域中 c5.2xlarge 執行個體類型的可用性:aws ec2 describe-instance-type-offerings --location-type availability-zone --filters Name=instance-type,Values=c5.2xlarge --region us-east-1
-
用於啟動執行個體的 AMI 不支援選取的執行個體類型。在選取執行個體類型或系列之前,請檢閱 AWS Marketplace 中的 AMI 說明。當您使用 AWS Marketplace AMI,並嘗試使用 AWS CLI 啟動不支援的執行個體時,通常會發生此問題。當您從 Amazon EC2 主控台啟動執行個體時,不支援的執行個體將無法使用。
Client.InternalError
以下是您可能會收到此錯誤的常見原因:
- Amazon Elastic Block Store (Amazon EBS) 磁碟區未正確連接至執行個體。
- 連接至執行個體的 EBS 磁碟區處於錯誤狀態。
- 加密的 EBS 磁碟區已連接至執行個體。但是,您沒有存取 AWS Key Management Service (KMS) 以進行解密的權限。
如需有關解決這些問題的資訊,請參閱如何對在嘗試啟動時發生 "InternalError" 或 "Client.UserInitiatedShutdown" 錯誤而停止或終止的 Amazon EC2 執行個體進行疑難排解?
磁碟已滿錯誤
當執行個體的空間不足,且稽核服務在機器開機時停止機器,則會發生磁碟已滿錯誤。
注意: 在繼續之前,最佳實務是建立快照以備份磁碟區的資料。
重要事項: 這些解決步驟會要求您啟動和停止執行個體。請注意以下事項:
- 執行個體停止時,您會遺失執行個體儲存體磁碟區中的資料。如需詳細資訊,請參閱確定您的執行個體的根裝置類型。
- 如果您停止屬於 Amazon EC2 Auto Scaling 群組的執行個體,則可能會終止該執行個體。使用 Amazon EMR、AWS CloudFormation 和 AWS Elastic Beanstalk 啟動的執行個體可能屬於 AWS Auto Scaling 群組。在這種情況下,執行個體終止取決於您 Auto Scaling 群組的執行個體擴展保護設定。如果您的執行個體屬於 Auto Scaling 群組,則請先暫時從 Auto Scaling 群組移除該執行個體,然後再繼續。
- 停止和啟動執行個體會變更執行個體的公用 IP 地址。將外部流量路由至執行個體時,最佳實務是使用 Elastic IP 地址而非公用 IP 地址。
若要解決磁碟已滿錯誤,請執行以下操作:
-
開啟 Amazon EC2 主控台。
-
從導覽窗格中選擇 Instances (執行個體),然後選取該執行個體。
-
從已停止的執行個體中分離 EBS 根磁碟區 (適用於 Linux 的 **/dev/xvda **)。
-
在與受損執行個體相同的可用區域中啟動新的 EC2 執行個體。新的執行個體會變成您的救援執行個體。
-
將您在步驟 4 中分離的根磁碟區作為次要裝置連接至救援執行個體。
**注意:**連接次要磁碟區時,您可以使用不同的裝置名稱。 -
為在步驟 6 中連接至救援執行個體的新磁碟區建立掛載點目錄。在下列範例中,掛載點目錄是 /mnt/rescue。
注意: 下列 $ sudo 命令僅適用於 Linux 環境:$ sudo mkdir /mnt/rescue
-
將磁碟區掛載至您在步驟 8 中建立的目錄:
$ sudo mount /dev/xvdf /mnt/rescue
注意: 此裝置 (在此範例中為 /dev/xvdf) 可能具有與其連接的救援執行個體不同的裝置名稱。若要判斷正確的裝置名稱,請使用 lsblk 命令來檢視可用的磁碟裝置及其掛載點。
-
執行 umount 命令以卸載該磁碟區:
$ sudo umount /mnt/rescue
- 從暫時執行個體中分離磁碟區。
- 使用裝置名稱 (適用於 Linux 的 /dev/xvda) 將磁碟區連接至原始執行個體,然後啟動執行個體以確認已成功開機。
- 檢閱稽核服務組態,以確保機器在空間已耗盡時無法停止 (關閉) 機器。在 Amazon Linux、Amazon Linux 2 和 Amazon Linux 2023 中,請確保稽核服務組態包括 /etc/audit/auditd.conf 中的下列選項:
max_log_file_action = ROTATE admin_space_left_action = SUSPEND disk_full_action = SUSPEND disk_error_action = SUSPEND
Client.InvalidParameterValue
InvalidParameterValue 表示請求中指定的參數無效、不受支援或無法使用。傳回的訊息會提供錯誤值的說明。例如,如果根磁碟區未附加至 /dev/sda1 或 /dev/xvda 的執行個體,視 AMI 而定,執行個體不會啟動。發生這種情況時,您會在 AWS CloudTrail 中看到類似下列內容的項目:
An error occurred (InvalidParameterValue) when calling the StartInstances operation: Invalid value 'i-xxxxxxxxxxxxxxxxx' for instanceId. Instance does not have a volume attached at root (/dev/sda1)
若要解決此問題,請使用錯誤訊息作為參考來變更相關參數。例如,若要解決上述範例錯誤,請將根磁碟區附加至 /dev/sda1 的執行個體,然後啟動該執行個體。如需詳細資訊,請參閱 Amazon EC2 API 的錯誤碼。
相關資訊
對執行個體啟動問題進行疑難排解:Linux
對執行個體啟動問題進行疑難排解:Windows
相關內容
- 已提問 2 年前lg...
- 已提問 2 個月前lg...
- 已提問 1 年前lg...
- 已提問 1 年前lg...
- 已提問 1 年前lg...
- AWS 官方已更新 1 年前
- AWS 官方已更新 2 年前
- AWS 官方已更新 2 個月前
- AWS 官方已更新 2 年前