

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

# 對 Amazon EC2 Auto Scaling 中的問題進行故障診斷
<a name="CHAP_Troubleshooting"></a>

Amazon EC2 Auto Scaling 提供特定和描述性錯誤，協助您進行故障診斷。您可以在描述擴展活動中找到錯誤訊息。

**Topics**
+ [從擴展活動擷取錯誤訊息](#RetrievingErrors)
+ [關閉擴展活動](#turn-off-scaling-activities)
+ [其他疑難排解資源](#additional-troubleshooting-resources)
+ [Amazon EC2 Auto Scaling 故障診斷：EC2 執行個體啟動失敗](ts-as-instancelaunchfailure.md)
+ [Amazon EC2 Auto Scaling 故障診斷：AMI 問題](ts-as-ami.md)
+ [Amazon EC2 Auto Scaling 故障診斷：負載平衡器問題](ts-as-loadbalancer.md)
+ [Amazon EC2 Auto Scaling 的故障診斷：啟動範本](ts-as-launch-template.md)

## 從擴展活動擷取錯誤訊息
<a name="RetrievingErrors"></a>

若要從擴展活動的描述中擷取錯誤訊息，請使用 [describe-scaling-activities](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/describe-scaling-activities.html) 命令。您有可追溯到 6 週前的擴展活動紀錄。擴展活動依開始時間排序，並會先列出最新的擴展活動。

**注意**  
擴展活動也會顯示在 Amazon EC2 Auto Scaling 主控台的 Auto Scaling 群組的 **Activity** (活動) 索引標籤的活動歷史記錄中。

若要查看特定 Auto Scaling 群組的擴展活動，請使用下列命令。

```
aws autoscaling describe-scaling-activities --auto-scaling-group-name my-asg
```

以下是範例回應，其中 `StatusCode` 包含目前活動的狀態，`StatusMessage` 包含錯誤訊息。

```
{
    "Activities": [
        {
            "ActivityId": "3b05dbf6-037c-b92f-133f-38275269dc0f",
            "AutoScalingGroupName": "my-asg",
            "Description": "Launching a new EC2 instance: i-003a5b3ffe1e9358e.  Status Reason: Instance failed to complete user's Lifecycle Action: Lifecycle Action with token e85eb647-4fe0-4909-b341-a6c42d8aba1f was abandoned: Lifecycle Action Completed with ABANDON Result",
            "Cause": "At 2021-01-11T00:35:52Z a user request created an AutoScalingGroup changing the desired capacity from 0 to 1.  At 2021-01-11T00:35:53Z an instance was started in response to a difference between desired and actual capacity, increasing the capacity from 0 to 1.",
            "StartTime": "2021-01-11T00:35:55.542Z",
            "EndTime": "2021-01-11T01:06:31Z",
            "StatusCode": "Cancelled",
            "StatusMessage": "Instance failed to complete user's Lifecycle Action: Lifecycle Action with token e85eb647-4fe0-4909-b341-a6c42d8aba1f was abandoned: Lifecycle Action Completed with ABANDON Result",
            "Progress": 100,
            "Details": "{\"Subnet ID\":\"subnet-5ea0c127\",\"Availability Zone\":\"us-west-2b\"...}",
            "AutoScalingGroupARN": "arn:aws:autoscaling:us-west-2:123456789012:autoScalingGroup:283179a2-f3ce-423d-93f6-66bb518232f7:autoScalingGroupName/my-asg"
        },
     ...
    ]
}
```

如需輸出中欄位的說明，請參閱《Amazon EC2 Auto Scaling API 參考》**中的[活動](https://docs.aws.amazon.com/autoscaling/ec2/APIReference/API_Activity.html)。

**檢視已刪除群組的擴展活動**  
若要在刪除 Auto Scaling 群組之後檢視擴展活動，請按如下所示將 `--include-deleted-groups` 選項新增至 [describe-scaling-activities](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/describe-scaling-activities.html) 命令。

```
aws autoscaling describe-scaling-activities --auto-scaling-group-name my-asg --include-deleted-groups
```

以下為回應範例，其中包含已刪除群組的擴展活動。

```
{
    "Activities": [
        {
            "ActivityId": "e1f5de0e-f93e-1417-34ac-092a76fba220",
            "AutoScalingGroupName": "my-asg",
            "Description": "Launching a new EC2 instance.  Status Reason: Your Spot request price of 0.001 is lower than the minimum required Spot request fulfillment price of 0.0031. Launching EC2 instance failed.",
            "Cause": "At 2021-01-13T20:47:24Z a user request update of AutoScalingGroup constraints to min: 1, max: 5, desired: 3 changing the desired capacity from 0 to 3.  At 2021-01-13T20:47:27Z an instance was started in response to a difference between desired and actual capacity, increasing the capacity from 0 to 3.",
            "StartTime": "2021-01-13T20:47:30.094Z",
            "EndTime": "2021-01-13T20:47:30Z",
            "StatusCode": "Failed",
            "StatusMessage": "Your Spot request price of 0.001 is lower than the minimum required Spot request fulfillment price of 0.0031. Launching EC2 instance failed.",
            "Progress": 100,
            "Details": "{\"Subnet ID\":\"subnet-5ea0c127\",\"Availability Zone\":\"us-west-2b\"...}",
            "AutoScalingGroupState": "Deleted",
            "AutoScalingGroupARN": "arn:aws:autoscaling:us-west-2:123456789012:autoScalingGroup:283179a2-f3ce-423d-93f6-66bb518232f7:autoScalingGroupName/my-asg"
        },
     ...
    ]
}
```

## 關閉擴展活動
<a name="turn-off-scaling-activities"></a>

如果您需要在不干擾擴展政策或排程動作的情況下調查問題，您可以使用下列選項：
+ 透過暫停 和 `AlarmNotification` `ScheduledActions` 程序，防止所有動態擴展政策和排程動作變更群組所需的容量。如需詳細資訊，請參閱[暫停和繼續 Amazon EC2 Auto Scaling 程序](as-suspend-resume-processes.md)。
+ 停用個別動態擴展政策，使其不會變更群組的所需容量，以回應負載變更。如需詳細資訊，請參閱[停用 Auto Scaling 群組的擴展政策](as-enable-disable-scaling-policy.md)。
+ 透過停用政策的縮減部分，將個別目標追蹤擴展政策更新為僅橫向擴展 （新增容量）。此方法可防止群組所需的容量縮減，但允許在負載增加時增加。如需詳細資訊，請參閱[Amazon EC2 Auto Scaling 的目標追蹤擴展政策](as-scaling-target-tracking.md)。
+ 更新您的預測擴展政策以*僅預測*模式。在僅限預測模式下，預測擴展將繼續產生預測，但不會自動增加容量。如需詳細資訊，請參閱[建立 Auto Scaling 群組的預測擴展政策](predictive-scaling-create-policy.md)。

## 其他疑難排解資源
<a name="additional-troubleshooting-resources"></a>

以下頁面提供針對 Amazon EC2 Auto Scaling 問題進行疑難排解的其他資訊。
+ [驗證 Auto Scaling 群組的擴展活動](as-verify-scaling-activity.md) 
+ [在 Amazon EC2 Auto Scaling 主控台中檢視監控圖表](viewing-monitoring-graphs.md) 
+ [Auto Scaling 群組中的執行個體運作狀態檢查](ec2-auto-scaling-health-checks.md) 
+ [lifecycle hook 的考量與限制考量和限制](lifecycle-hooks.md#lifecycle-hook-considerations)
+  [在 Auto Scaling 群組中完成生命週期動作](completing-lifecycle-hooks.md)
+  [使用 Amazon VPC 為您的 Auto Scaling 執行個體提供網際網路連線](asg-in-vpc.md) 
+ [從 Auto Scaling 群組暫時移除執行個體](as-enter-exit-standby.md) 
+ [停用 Auto Scaling 群組的擴展政策](as-enable-disable-scaling-policy.md) 
+  [暫停和繼續 Amazon EC2 Auto Scaling 程序](as-suspend-resume-processes.md) 
+ [控制縮減期間應終止的 Auto Scaling 執行個體](as-instance-termination.md) 
+ [刪除 Auto Scaling 基礎設施](as-process-shutdown.md) 
+ [Auto Scaling 資源和群組的配額](ec2-auto-scaling-quotas.md) 

下列 AWS 資源也可以提供幫助：
+ [AWS 知識中心的 Amazon EC2 Auto Scaling 主題](https://repost.aws/knowledge-center) 
+ [AWS re：Post 上的 Amazon EC2 Auto Scaling 問題](https://repost.aws/tags/TA5Ef3s6KtTiqT0mCRhR79ig/amazon-ec2-auto-scaling)
+ [AWS 運算部落格中的 Amazon EC2 Auto Scaling 文章](https://aws.amazon.com/blogs/compute/category/compute/auto-scaling/) 
+ [《CloudFormation 使用者指南》**中的 CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/troubleshooting.html) 

疑難排解通常需要專家或小幫手社群的反覆查詢和探索。如果您在嘗試本節中的建議後仍遇到問題，請聯絡 AWS 支援 （在 中 AWS 管理主控台，按一下**支援**、**支援中心**) 或使用 **Amazon EC2 Auto Scaling **標籤在 [AWS re：Post](https://repost.aws/) 上提出問題。

# Amazon EC2 Auto Scaling 故障診斷：EC2 執行個體啟動失敗
<a name="ts-as-instancelaunchfailure"></a>

此頁面提供有關您的 EC2 執行個體啟動失敗、可能的原因，以及您可以採取用以解決問題之步驟的資訊。

若要擷取錯誤訊息，請參閱 [從擴展活動擷取錯誤訊息](CHAP_Troubleshooting.md#RetrievingErrors)。

當您的 EC2 執行個體無法啟動時，您可能取得以下一或多個錯誤訊息：

**Topics**
+ [目前並不支援要求的組態。](#ts-as-instancelaunchfailure-3)
+ [安全群組 (安全群組的名稱) 不存在。啟動 EC2 執行個體失敗。](#ts-as-instancelaunchfailure-1)
+ [金鑰對 (與您的 EC2 執行個體關聯的金鑰對) 不存在。啟動 EC2 執行個體失敗。](#ts-as-instancelaunchfailure-2)
+ [您請求的執行個體類型 (<執行個體類型>) 在您請求的可用區域 (執行個體可用區域) 並不受支援…](#ts-as-instancelaunchfailure-6)
+ [您的 Spot 請求價格 0.015 低於 Spot 請求所需的最低履行價格 0.0735...](#ts-as-instancelaunchfailure-7)
+ [裝置名稱 <device name> 無效/裝置名稱上傳無效。啟動 EC2 執行個體失敗。](#ts-as-instancelaunchfailure-8)
+ [適用於參數 virtualName 的值 (與執行個體儲存體裝置關聯的名稱) 無效… 啟動 EC2 執行個體失敗。](#ts-as-instancelaunchfailure-9)
+ [執行個體存放區 AMI 不支援 EBS 區塊型設備映射。](#ts-as-instancelaunchfailure-10)
+ [置放群組可能無法與「<執行個體類型>」搭配使用。啟動 EC2 執行個體失敗。](#ts-as-instancelaunchfailure-11)
+ [Client.InternalError：啟動時的用戶端錯誤。](#ts-as-instancelaunchfailure-12)
+ [我們目前在您要求的可用區域中，並沒有足夠的 (執行個體類型) 容量… 啟動 EC2 執行個體失敗。](#ts-as-capacity-1)
+ [請求的保留沒有足夠的相容性和可用容量來滿足此要求。啟動 EC2 執行個體失敗。](#ts-as-capacity-4)
+ [您的容量區塊保留 <保留 id> 尚未啟動。啟動 EC2 執行個體失敗。](#ts-as-capacity-5)
+ [沒有符合請求的 Spot 容量。啟動 EC2 執行個體失敗。](#ts-as-capacity-2)
+ [(執行個體數) 個執行個體已在運作中。啟動 EC2 執行個體失敗。](#ts-as-capacity-3)

## 目前並不支援要求的組態。
<a name="ts-as-instancelaunchfailure-3"></a>

**原因**：啟動範本或啟動組態中的某些選項可能與執行個體類型不相容，或您請求 AWS 的區域或可用區域可能不支援執行個體組態。

**解決方案**：嘗試不同的執行個體組態。若要搜尋符合您需求的執行個體類型，請參閱《[Amazon EC2 使用者指南》中的尋找 Amazon EC2 執行個體類型](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-discovery.html)。 *Amazon EC2 * 

如需解決此問題的進一步指導，請檢查下列項目：
+ 確保您已選擇執行個體類型支援的 AMI。例如，如果執行個體類型使用 Arm 型 AWS Graviton 處理器而非 Intel Xeon 處理器，則需要 Arm 相容的 AMI。如需選擇相容執行個體類型的詳細資訊，請參閱《*Amazon EC2 使用者指南*》中的[變更執行個體類型的相容性](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/resize-limitations.html)。
+ 測試所請求區域和可用區域中是否有可用的執行個體類型。最新一代的執行個體類型也許尚無法用於特定的區域或可用區域。較舊一代的執行個體類型也許尚無法用於較新的區域或可用區域。若要依位置 (區域或可用區域) 搜尋提供的執行個體類型，請使用 [describe-instance-type-offerings](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ec2/describe-instance-type-offerings.html)。如需詳細資訊，請參閱《[Amazon EC2 使用者指南》中的尋找 Amazon EC2 執行個體類型](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-discovery.html)。 *Amazon EC2 * 
+ 如果使用的是專用執行個體或專用主機，務必選擇作為專用執行個體或專用主機支援的執行個體類型。

## 安全群組 (安全群組的名稱) 不存在。啟動 EC2 執行個體失敗。
<a name="ts-as-instancelaunchfailure-1"></a>

**原因**：啟動範本或啟動組態中指定的安全群組可能已遭刪除。

**解決方案**：

1. 使用 [describe-security-groups](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ec2/describe-security-groups.html) 命令，取得與您的帳戶相關聯的安全群組清單。

1. 從清單中選取要使用的安全群組。若要改為建立安全群組，請使用 [create-security-group](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ec2/create-security-group.html) 命令。

1. 建立新的啟動範本或啟動組態。

1. 使用 [update-auto-scaling-group](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/update-auto-scaling-group.html) 命令，利用新的啟動範本或啟動組態來更新您的 Auto Scaling 群組。

## 金鑰對 (與您的 EC2 執行個體關聯的金鑰對) 不存在。啟動 EC2 執行個體失敗。
<a name="ts-as-instancelaunchfailure-2"></a>

**原因**：啟動執行個體時所使用的金鑰對可能已遭刪除。

**解決方案**：

1. 使用 [describe-key-pairs](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ec2/describe-key-pairs.html) 命令以取得您可用的金鑰對清單。

1. 從清單中選取要使用的金鑰對。若要改為建立金鑰對，請使用 [create-key-pair](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ec2/create-key-pair.html) 命令。

1. 建立新的啟動範本或啟動組態。

1. 使用 [update-auto-scaling-group](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/update-auto-scaling-group.html) 命令，利用新的啟動範本或啟動組態來更新您的 Auto Scaling 群組。

## 您請求的執行個體類型 (<執行個體類型>) 在您請求的可用區域 (執行個體可用區域) 並不受支援…
<a name="ts-as-instancelaunchfailure-6"></a>

**錯誤訊息**：您請求的執行個體類型 (<執行個體類型>) 在您請求的可用區域 (<執行個體可用區域>) 並不受支援...啟動 EC2 執行個體失敗。

**原因**：Auto Scaling 群組所指定的可用區域不支援您選擇的執行個體類型。

**解決方案**：

1. 使用描述 [describe-instance-type-offerings](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ec2/describe-instance-type-offerings.html) 命令或 Amazon EC2 主控台，在**執行個體類型**頁面的聯網窗格上檢查**可用區域**值，以確認哪些可用區域支援您選擇的執行個體類型。

1. 使用 [update-auto-scaling-group](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/update-auto-scaling-group.html) 命令，更新或移除 Auto Scaling 群組的設定中任何不支援區域的子網路。如需詳細資訊，請參閱[新增可用區域移除可用區域](as-add-az-console.md)。

## 您的 Spot 請求價格 0.015 低於 Spot 請求所需的最低履行價格 0.0735...
<a name="ts-as-instancelaunchfailure-7"></a>

**原因**：您請求的 Spot 最高價格低於您所選執行個體類型的 Spot 價格。

**解決方案**：以較高的 Spot 最高價格 (可能是隨需價格) 來提交新請求。之前，您支付的 Spot 價格是以出價為基礎。現在，您支付的是現行 Spot 價格。將最高價格設得更高，可讓 Amazon EC2 Spot 服務更好地啟動和維護所需容量。

## 裝置名稱 <device name> 無效/裝置名稱上傳無效。啟動 EC2 執行個體失敗。
<a name="ts-as-instancelaunchfailure-8"></a>

**原因 1**：您的啟動範本或啟動組態中的區塊型設備映射，可能包含無法使用或目前未受支援的區塊型儲存設備名稱。

**解決方案**：

1. 驗證哪些裝置名稱可用於您的特定執行個體組態。如需裝置命名的詳細資訊，請參閱《*Amazon EC2 使用者指南*》中的 [Linux 執行個體上的裝置名稱](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/device_naming.html)。

1. 手動建立不屬於 Auto Scaling 群組的 Amazon EC2 執行個體，並調查問題。如果區塊型儲存設備命名組態與 Amazon Machine Image (AMI) 中的名稱衝突，則執行個體會啟動失敗。如需詳細資訊，請參閱《*Amazon EC2 使用者指南*》中的[封鎖裝置映射](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/block-device-mapping-concepts.html)。

1. 確認您已成功啟動執行個體後，請使用 [describe-volumes](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ec2/describe-volumes.html) 命令，以了解磁碟區提供給執行個體的資訊。

1. 使用磁碟區描述所列的裝置名稱來建立新的啟動範本或啟動組態。

1. 使用 [update-auto-scaling-group](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/update-auto-scaling-group.html) 命令，利用新的啟動範本或啟動組態來更新您的 Auto Scaling 群組。

## 適用於參數 virtualName 的值 (與執行個體儲存體裝置關聯的名稱) 無效… 啟動 EC2 執行個體失敗。
<a name="ts-as-instancelaunchfailure-9"></a>

**原因**：為與區塊型儲存設備關聯的虛擬名稱指定的格式不正確。

**解決方案**：

1. 透過以 `virtualName` 參數指定裝置名稱來建立新的啟動範本或啟動組態。如需有關裝置名稱格式的資訊，請參閱《*Amazon EC2 使用者指南*》中的 [Linux 執行個體上的裝置命名](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/device_naming.html)。

1. 使用 [update-auto-scaling-group](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/update-auto-scaling-group.html) 命令，利用新的啟動範本或啟動組態來更新您的 Auto Scaling 群組。

## 執行個體存放區 AMI 不支援 EBS 區塊型設備映射。
<a name="ts-as-instancelaunchfailure-10"></a>

**原因**：您的執行個體上不支援啟動範本或啟動組態中所指定的區塊型設備映射。

**解決方案**：

1. 使用執行個體類型支援的區塊型設備映射來建立新的啟動範本或啟動組態。如需詳細資訊，請參閱《*Amazon EC2 使用者指南*》中的[封鎖裝置映射](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/block-device-mapping-concepts.html)。

1. 使用 [update-auto-scaling-group](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/update-auto-scaling-group.html) 命令，利用新的啟動範本或啟動組態來更新您的 Auto Scaling 群組。

## 置放群組可能無法與「<執行個體類型>」搭配使用。啟動 EC2 執行個體失敗。
<a name="ts-as-instancelaunchfailure-11"></a>

**原因**：您的叢集置放群組包含無效的執行個體類型。

**解決方案**：

1. 如需置放群組支援之有效執行個體類型的相關資訊，請參閱《*Amazon EC2 使用者指南*》中的[置放群組](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html)。

1. 遵照[置放群組](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html)中的詳細指示來建立新的置放群組。

1.  或者，使用受支援的執行個體類型建立新的啟動範本或啟動組態。

1. 使用 [update-auto-scaling-group](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/update-auto-scaling-group.html) 命令，利用新的置放群組、啟動範本或啟動組態來更新您的 Auto Scaling 群組。

## Client.InternalError：啟動時的用戶端錯誤。
<a name="ts-as-instancelaunchfailure-12"></a>

**問題**：Amazon EC2 Auto Scaling 會嘗試啟動具有加密 EBS 磁碟區的執行個體，但服務連結角色無法存取用來加密它 AWS KMS 的客戶受管金鑰。如需詳細資訊，請參閱[與加密磁碟區搭配使用的必要 AWS KMS 金鑰政策](key-policy-requirements-EBS-encryption.md)。

**原因 1**：您需要能授予許可的金鑰政策，才能將客戶受管金鑰用於適當的服務連結角色。

**解決方案 1**：允許服務連結角色使用客戶受管金鑰，如下所示：

1. 決定將哪個服務連結角色用於這個 Auto Scaling 群組。

1. 更新客戶受管金鑰的金鑰政策，並允許服務連結角色使用客戶受管金鑰。

1. 更新 Auto Scaling 群組以使用服務連結角色。

如需可讓服務連結角色使用客戶受管金鑰的金鑰政策範例，請參閱 [範例 1：允許存取客戶受管金鑰的金鑰政策區段](key-policy-requirements-EBS-encryption.md#policy-example-cmk-access)。

**原因 2**：如果客戶受管金鑰和 Auto Scaling 群組位於*不同的* AWS 帳戶中，您需要設定客戶受管金鑰的跨帳戶存取權，以便授予許可，以使用客戶受管金鑰來取得適當的服務連結角色。

**解決方案 2**：允許外部帳戶中的服務連結角色在本機帳戶中使用客戶受管金鑰，如下所示：

1. 更新針對客戶受管金鑰的金鑰政策，以便允許 Auto Scaling 群組帳戶存取客戶受管金鑰。

1. 在可以建立授權的 Auto Scaling 群組帳戶內定義 IAM 使用者或角色。

1. 決定將哪個服務連結角色用於這個 Auto Scaling 群組。

1. 利用適當的服務連結角色以被授予者委託人身分建立對客戶受管金鑰的授權。

1. 更新 Auto Scaling 群組以使用服務連結角色。

如需詳細資訊，請參閱[範例 2：允許跨帳戶存取客戶受管金鑰的金鑰政策區段](key-policy-requirements-EBS-encryption.md#policy-example-cmk-cross-account-access)。

**解決方案 3**：在和 Auto Scaling 群組相同的 AWS 帳戶中使用客戶受管金鑰。

1. 使用屬於和 Auto Scaling 群組相同的帳戶的另一個客戶受管金鑰來複製和重新加密快照。

1. 允許服務連結角色使用新的客戶受管金鑰。請參閱解決方案 1 的步驟。

## 我們目前在您要求的可用區域中，並沒有足夠的 (執行個體類型) 容量… 啟動 EC2 執行個體失敗。
<a name="ts-as-capacity-1"></a>

**錯誤訊息**：在您請求的可用區域 (請求可用區域) 中，目前並沒有足夠的 (執行個體類型) 容量。我們的系統將會處理佈建額外的容量。您目前可以取得 (執行個體類型) 容量，做法是不在您的要求中指定可用區域，或選擇 (目前支援執行個體類型的可用區域清單)。啟動 EC2 執行個體失敗。

**原因**：目前不支援請求的執行個體類型和可用區域組合。

**解決方案**：若要解決問題，請嘗試下列動作：
+ 請等待幾分鐘，讓 Amazon EC2 Auto Scaling 在其他已啟用的可用區域中尋找此執行個體類型的容量。
+ 將 Auto Scaling 群組擴展到其他可用區域。如需詳細資訊，請參閱[新增可用區域移除可用區域](as-add-az-console.md)。
+ 請遵循使用多種執行個體類型的最佳實務，以免您依賴某個特定執行個體類型。如需詳細資訊，請參閱[具有多種執行個體類型和購買選項的 Auto Scaling 群組](ec2-auto-scaling-mixed-instances-groups.md)。

## 請求的保留沒有足夠的相容性和可用容量來滿足此要求。啟動 EC2 執行個體失敗。
<a name="ts-as-capacity-4"></a>

**原因 1**：您已達到可使用 `targeted` 隨需容量保留啟動執行個體的數目上限。

**解決方案 1**：增加您可以透過 `targeted` 隨需容量保留啟動的執行個體數量，或使用容量保留群組，讓預留容量以一般隨需容量的形式啟動。如需詳細資訊，請參閱[使用容量預留在特定可用區域中預留容量](use-ec2-capacity-reservations.md)。

**原因 2**：您已達到可使用容量區塊啟動執行個體的數目上限。

使用容量區塊時，您會受到原始購買容量的限制。如果您遇到啟動次數高於預期，且用盡了所有可用的容量，則會造成啟動失敗。執行個體在完全終止之前會經過冗長的清理過程。在此期間它們不能被重複使用。這也可能造成啟動失敗。如需詳細資訊，請參閱[Capacity Blocks 用於機器學習工作負載](launch-template-capacity-blocks.md)。

**解決方案 2**：若要解決問題，請嘗試下列動作：
+ 請保持請求不變。如果容量區塊執行個體正在終止，您必須等待幾分鐘，執行個體才能完成終止，且容量會再次變成可用。Amazon EC2 Auto Scaling 會繼續自動發出啟動請求，直到有可用的容量出現。
+ 請確保您購買了足夠的容量來應付尖峰工作負載，以免頻繁遇到此錯誤。

## 您的容量區塊保留 <保留 id> 尚未啟動。啟動 EC2 執行個體失敗。
<a name="ts-as-capacity-5"></a>

**原因**：指定的容量區塊尚未啟動。

**解決方案**：遵循建議的容量區塊方法，並使用排程擴展。這樣做有助於確保僅在啟動保留時才增加 Auto Scaling 群組的所需容量，並在保留結束之前減少所需容量。

## 沒有符合請求的 Spot 容量。啟動 EC2 執行個體失敗。
<a name="ts-as-capacity-2"></a>

**原因**：目前沒有足夠的備用容量來滿足您對 Spot 執行個體的請求。

**解決方案**：若要解決問題，請嘗試下列動作：
+ 等候幾分鐘，因為容量會頻繁變化。Amazon EC2 Auto Scaling 會繼續自動發出啟動請求，直到有可用的容量出現。
+ 將 Auto Scaling 群組擴展到其他可用區域。如需詳細資訊，請參閱[新增可用區域移除可用區域](as-add-az-console.md)。
+ 請遵循使用多種執行個體類型的最佳實務，以免您依賴某個特定執行個體類型。如需詳細資訊，請參閱[具有多種執行個體類型和購買選項的 Auto Scaling 群組](ec2-auto-scaling-mixed-instances-groups.md)。

## (執行個體數) 個執行個體已在運作中。啟動 EC2 執行個體失敗。
<a name="ts-as-capacity-3"></a>

**原因**：您已達到可在一個區域中啟動執行個體的數目上限。當您建立 AWS 帳戶時，我們會針對每個區域可執行的執行個體數量設定預設限制。

**解決方案**：若要解決問題，請嘗試下列動作：
+ 如果目前限制無法滿足需求，您可以按區域請求增加配額。如需詳細資訊，請參閱[《Amazon EC2 使用者指南》中的 Amazon EC2 服務配額](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-resource-limits.html)。 *Amazon EC2 *
+ 提交減少了執行個體數量的新請求 (可在後續階段增加數量)。

# Amazon EC2 Auto Scaling 故障診斷：AMI 問題
<a name="ts-as-ami"></a>

此頁面提供有關您的 AMI 相關問題、可能的原因，以及您可以採取用以解決問題之步驟的資訊。

若要擷取錯誤訊息，請參閱 [從擴展活動擷取錯誤訊息](CHAP_Troubleshooting.md#RetrievingErrors)。

當您的 EC2 執行個體因為 AMI 的問題而無法啟動時，您可能會收到以下一或多個錯誤訊息。

**Topics**
+ [AMI ID (您的 AMI 的 ID) 不存在。啟動 EC2 執行個體失敗。](#ts-as-ami-1)
+ [AMI (AMI ID) 等待處理中，無法執行。啟動 EC2 執行個體失敗。](#ts-as-ami-2)
+ [無效的裝置名稱 <裝置名稱>。啟動 EC2 執行個體失敗。](#ts-as-ami-4)
+ [指定執行個體類型的架構「arm64」與指定 AMI 的架構「x86\$164」不相符…啟動 EC2 執行個體失敗。](#ts-as-ami-5)
+ [AMI「<AMI ID>」已停用，無法執行。啟動 EC2 執行個體失敗。](#ts-disabled-ami-error)

**重要**  
AWS 支援透過修改 AMI 許可，私下與其他 AWS 帳戶共用 AMI。如果 AMI 在未共享的情況下設為私有，則在啟動新的執行個體時可能會導致授權錯誤。如需共用私有 AMIs 的詳細資訊，請參閱《*Amazon EC2 使用者指南*》中的[與特定 AWS 帳戶共用 AMI](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/sharingamis-explicit.html)。

## AMI ID (您的 AMI 的 ID) 不存在。啟動 EC2 執行個體失敗。
<a name="ts-as-ami-1"></a>
+ **原因**：AMI 可能已在建立啟動範本或啟動組態後刪除。
+ **解決方案**：

  1. 使用有效的 AMI 建立新的啟動範本或啟動組態。

  1. 使用 [update-auto-scaling-group](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/update-auto-scaling-group.html) 命令，利用新的啟動範本或啟動組態來更新您的 Auto Scaling 群組。

## AMI (AMI ID) 等待處理中，無法執行。啟動 EC2 執行個體失敗。
<a name="ts-as-ami-2"></a>

**原因**：您可能剛建立 AMI (透過取得執行中執行個體的快照或其他任何方法)，並且其可能尚無法使用。

**解決方案**：您必須等到 AMI 可用，才能建立啟動範本或啟動組態。

## 無效的裝置名稱 <裝置名稱>。啟動 EC2 執行個體失敗。
<a name="ts-as-ami-4"></a>

**原因**：將 EBS 磁碟區連接到 EC2 執行個體時，必須為該磁碟區提供有效的裝置名稱。所選取的 AMI 必須支援此裝置名稱。

**解決方案**：

1. 建立新的啟動範本或啟動組態，並未 AMI 指定正確的裝置名稱。建議的命名慣例會根據 AMI 的虛擬化類型而異。如需詳細資訊，請參閱《*Amazon EC2 使用者指南*》中的[裝置名稱](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/device_naming.html)。

1. 使用 [update-auto-scaling-group](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/update-auto-scaling-group.html) 命令，利用新的啟動範本或啟動組態來更新您的 Auto Scaling 群組。

## 指定執行個體類型的架構「arm64」與指定 AMI 的架構「x86\$164」不相符…啟動 EC2 執行個體失敗。
<a name="ts-as-ami-5"></a>

**原因 1**：如果 AMI 的架構和啟動範本或啟動組態中使用的執行個體類型不相同，則當 Amazon EC2 Auto Scaling 嘗試使用不相容的執行個體組態啟動執行個體時會收到錯誤訊息。

**解決方案 1**：

1. 使用 [describe-images](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ec2/describe-images.html) 命令或 Amazon EC2 主控台，在 **Amazon Machine Images (AMI)** 頁面的詳細資料窗格中檢查**架構**值，以驗證您的 AMI。

1. 使用 [describe-instance-types](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ec2/describe-instance-types.html) 命令或 Amazon EC2 主控台，檢查**執行個體類型**畫面上的**架構**欄，以尋找與 AMI 架構相同的執行個體類型。如需選擇相容執行個體類型的詳細資訊，請參閱《*Amazon EC2 使用者指南*》中的[變更執行個體類型的相容性](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/resize-limitations.html)。

1. 使用與您的 AMI 具有相同架構的執行個體類型來建立新的啟動範本或啟動組態。

1. 使用 [update-auto-scaling-group](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/update-auto-scaling-group.html) 命令，利用新的啟動範本或啟動組態來更新您的 Auto Scaling 群組。

**原因 2**：Amazon EC2 Auto Scaling 會嘗試為 Auto Scaling 群組啟動混合執行個體政策中指定的執行個體類型，但執行個體類型與啟動範本中指定的 AMI 具有不同的架構。

**解決方案 1**：請勿在混合執行個體政策中包含具有不同架構的執行個體類型。

1. 使用 [describe-images](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ec2/describe-images.html) 命令或 Amazon EC2 主控台，在 **Amazon Machine Images (AMI)** 頁面的詳細資料窗格中檢查**架構**值，以驗證您的 AMI。

1. 使用 [describe-instance-types](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ec2/describe-instance-types.html) 命令或 Amazon EC2 主控台，檢查執行個體類型畫面上的**架構**欄，驗證要包含在混合執行個體政策中的每個**執行個體類型**的架構。如需選擇相容執行個體類型的詳細資訊，請參閱《*Amazon EC2 使用者指南*》中的[變更執行個體類型的相容性](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/resize-limitations.html)。

1. 使用 [update-auto-scaling-group](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/update-auto-scaling-group.html) 命令，從 Auto Scaling 群組中更新或移除不相容的執行個體類型。

**解決方案 2**：若要在相同的 Auto Scaling 群組中啟動 Arm (Graviton2) 和 x86\$164 (Intel) 執行個體，您必須分別使用 ARM 相容 AMI 和 Intel x86 相容 AMI 支援的啟動範本，以符合混合執行個體政策中的執行個體類型。

1. 使用 [describe-images](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ec2/describe-images.html) 命令或 Amazon EC2 主控台，在 **Amazon Machine Images (AMI)** 頁面的詳細資料窗格中檢查**架構**值，以驗證現有啟動範本中 AMI 的架構。

1. 使用與您打算使用的其他架構相符的 AMI 建立新的啟動範本。

1. 使用 [update-auto-scaling-group](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/update-auto-scaling-group.html) 命令更新您的 Auto Scaling 群組，以覆寫現有的啟動範本，並為每個相容的執行個體類型指定新的啟動範本。如需詳細資訊，請參閱[使用多個啟動範本](ec2-auto-scaling-mixed-instances-groups-launch-template-overrides.md)。

## AMI「<AMI ID>」已停用，無法執行。啟動 EC2 執行個體失敗。
<a name="ts-disabled-ami-error"></a>

**原因**：您試圖從已停用的 AMI 啟動執行個體。如需詳細資訊，請參閱《Amazon EC2 使用者指南》**中的[停用 AMI](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/disable-an-ami.html)。

**解決方案**：

1. 建立新的啟動範本或啟動組態，並指定未停用的 AMI。

1. 使用 [update-auto-scaling-group](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/update-auto-scaling-group.html) 命令，利用新的啟動範本或啟動組態來更新您的 Auto Scaling 群組。

# Amazon EC2 Auto Scaling 故障診斷：負載平衡器問題
<a name="ts-as-loadbalancer"></a>

此頁面提供與您 Auto Scaling 群組關聯之負載平衡器所造成的問題、可能原因，以及您可以採取用以解決問題之步驟的相關資訊。

若要擷取錯誤訊息，請參閱 [從擴展活動擷取錯誤訊息](CHAP_Troubleshooting.md#RetrievingErrors)。

當 EC2 執行個體因與 Auto Scaling 群組關聯的負載平衡器問題而無法啟動時，您可能會收到以下一或多條錯誤訊息。

**Topics**
+ [未找到一個或多個目標群組。驗證負載平衡器組態失敗。](#ts-as-loadbalancer-1)
+ [找不到負載平衡器 <您的負載平衡器>。驗證負載平衡器組態失敗。](#ts-as-loadbalancer-2)
+ [沒有名為 (負載平衡器名稱) 的作用中負載平衡器。更新負載平衡器組態失敗。](#ts-as-loadbalancer-3)
+ [EC2 執行個體 (執行個體 ID) 不在 VPC 中。更新負載平衡器組態失敗。](#ts-as-loadbalancer-4)

**注意**  
檢查 Auto Scaling 群組中的執行個體是否可透過負載平衡器進行存取，使用 Reachability Analyzer 來疑難排解連線問題。若要了解 Reachability Analyzer 自動偵測到的不同網路設定錯誤問題，請參閱*《Reachability Analyzer 使用者指南》*中的 [Reachability Analyzer 說明程式碼](https://docs.aws.amazon.com/vpc/latest/reachability/explanation-codes.html)。

## 未找到一個或多個目標群組。驗證負載平衡器組態失敗。
<a name="ts-as-loadbalancer-1"></a>

**問題**：當您的 Auto Scaling 群組啟動執行個體時，Amazon EC2 Auto Scaling 會嘗試驗證與 Auto Scaling 群組關聯的 Elastic Load Balancing 資源是否存在。當找不到目標群組時，擴展活動會失敗，並且您會看到 `One or more target groups not found. Validating load balancer configuration failed.` 錯誤。

**原因 1**：已刪除連接至 Auto Scaling 群組的目標群組。

**解決方案 1**：您可以使用 Amazon EC2 Auto Scaling 主控台或 [detach-load-balancer-target-groups](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/detach-load-balancer-target-groups.html) 命令，建立沒有目標群組的新 Auto Scaling 群組，或者從 Auto Scaling 群組中移除未使用的目標群組。

**原因 2**：目標群組存在，但是在建立 Auto Scaling 群組時，嘗試指定目標群組 ARN 會發生問題。未按正確順序建立資源。

**解決方案 2**：建立新的 Auto Scaling 群組，並在最後指定目標群組。

## 找不到負載平衡器 <您的負載平衡器>。驗證負載平衡器組態失敗。
<a name="ts-as-loadbalancer-2"></a>

**問題**：當您的 Auto Scaling 群組啟動執行個體時，Amazon EC2 Auto Scaling 會嘗試驗證與 Auto Scaling 群組關聯的 Elastic Load Balancing 資源是否存在。當找不到 Classic Load Balancer 時，擴展活動會失敗，並且您會得到 `Cannot find Load Balancer <your load balancer>. Validating load balancer configuration failed.` 錯誤。

**原因 1**：已刪除 Classic Load Balancer。

**解決方案 1**：您可以使用 Amazon EC2 Auto Scaling 主控台或 [detach-load-balancers](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/detach-load-balancers.html) 命令，建立沒有負載平衡器的新 Auto Scaling 群組，或者從 Auto Scaling 群組中移除未使用的負載平衡器。

**原因 2**：Classic Load Balancer 存在，但當建立 Auto Scaling 群組時，嘗試指定負載平衡器名稱會發生問題。未按正確順序建立資源。

**解決方案 2**：建立新的 Auto Scaling 群組，並在最後面指定負載平衡器名稱。

## 沒有名為 (負載平衡器名稱) 的作用中負載平衡器。更新負載平衡器組態失敗。
<a name="ts-as-loadbalancer-3"></a>

**原因**：指定的負載平衡器可能已刪除。

**解決方案**：您可以建立新的負載平衡器，然後建立新的 Auto Scaling 群組，或者建立不帶負載平衡器的新 Auto Scaling 群組。

## EC2 執行個體 (執行個體 ID) 不在 VPC 中。更新負載平衡器組態失敗。
<a name="ts-as-loadbalancer-4"></a>

**原因**：指定的執行個體不存在於 VPC。

**解決方案**：您可以刪除與執行個體關聯的負載平衡器，或建立新 Auto Scaling 群組。

# Amazon EC2 Auto Scaling 的故障診斷：啟動範本
<a name="ts-as-launch-template"></a>

請使用以下資訊來協助您診斷和修復在嘗試指定 Auto Scaling 群組的啟動範本時發生的常見問題。

**無法啟動執行個體**  
如果您無法使用已指定的啟動範本啟動任何執行個體，請檢查下列項目以進行一般故障診斷：[Amazon EC2 Auto Scaling 故障診斷：EC2 執行個體啟動失敗](ts-as-instancelaunchfailure.md)。

## 您必須使用有效的完整格式啟動範本 (無效值)
<a name="ts-launch-template-invalid-error"></a>

**問題**：在嘗試為 Auto Scaling 群組指定啟動範本時，您收到 `You must use a valid fully-formed launch template` 錯誤。您可能會遇到此錯誤，因為只有在建立或更新使用啟動範本的 Auto Scaling 群組時才會驗證啟動範本中的值。

**原因 1**：若您收到 `You must use a valid fully-formed launch template` 錯誤，則存在導致 Amazon EC2 Auto Scaling 考慮有關啟動範本無效的問題。這是一個通用錯誤，可能有幾種不同的原因。

**解決方案 1**：請嘗試下列步驟以診斷故障：

1. 請注意錯誤訊息的第二部分，以尋找更多資訊。跟進 `You must use a valid fully-formed launch template` 錯誤，參閱更具體的錯誤訊息，以識別您將需要解決的問題。

1. 如果找不到原因，請使用 [run-instances](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ec2/run-instances.html) 命令。使用 `--dry-run` 選項，如以下範例所示。這可讓您重現問題，並提供有關其原因的見解。

   ```
   aws ec2 run-instances --launch-template LaunchTemplateName=my-template,Version='1' --dry-run
   ```

1. 如果值無效，請驗證指定的資源是否存在以及它是否正確。例如，當您指定 Amazon EC2 金鑰對時，資源必須存在於您建立或更新 Auto Scaling 群組的帳戶和區域中。

1. 如果缺少預期的資訊，請確認您的設定並視需要調整啟動範本。

1. 進行變更後，請重新執行含有 `--dry-run` 選項的 [run-instances](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ec2/run-instances.html) 命令，以確認您的啟動範本是否使用有效值。

如需詳細資訊，請參閱[為 Auto Scaling 群組建立啟動範本](create-launch-template.md)。

## 您沒有使用啟動範本的授權 ( 許可不足)
<a name="ts-launch-template-unauthorized-error"></a>

**問題**：在嘗試為 Auto Scaling 群組指定啟動範本時，您收到 `You are not authorized to use launch template` 錯誤。

**原因 1**：如果您嘗試使用啟動範本，且您正使用的 IAM 憑證沒有足夠的權限，則您會收到錯誤，表示您無權使用啟動範本。

**解決方案 1**：若要解決問題，請嘗試下列動作：
+ 確認您用來發出請求的 IAM 憑證擁有呼叫所需 EC2 API 動作 (包括 `ec2:RunInstances` 動作) 的權限。如果在啟動範本中指定了任何標籤，您還必須有使用 `ec2:CreateTags` 動作的許可。
+ 或者，確認您用來發出請求的 IAM 憑證已指派 `AmazonEC2FullAccess` 政策。此 AWS 受管政策授予所有 Amazon EC2 資源和相關服務的完整存取權，包括 Amazon EC2 Auto Scaling、CloudWatch 和 Elastic Load Balancing。

如需使用啟動範本所需許可的詳細資訊，包括範例 IAM 政策，請參閱《*Amazon EC2 使用者指南*》中的[使用 IAM 許可控制啟動範本的存取](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/permissions-for-launch-templates.html)。如需 IAM 政策的範例，請參閱 [在 Auto Scaling 群組中控制 Amazon EC2 啟動範本用量](ec2-auto-scaling-launch-template-permissions.md)。

**原因 2**：如果嘗試使用指定執行個體設定檔的啟動範本，則必須具有傳遞與執行個體設定檔相關聯 IAM 角色的 IAM 許可。

**解決方案 2**：確認您用來發出請求的 IAM 憑證擁有正確的 `iam:PassRole` 許可，可將指定角色傳遞給 Amazon EC2 Auto Scaling 服務。如需詳細資訊和 IAM 政策範例，請參閱[在 Amazon EC2 執行個體上執行的應用程式的 IAM 角色](us-iam-role.md)。如需執行個體設定檔相關的進一步故障診斷主題，請參閱《IAM 使用者指南》**中的 [Amazon EC2 和 IAM 故障診斷](https://docs.aws.amazon.com/IAM/latest/UserGuide/troubleshoot_iam-ec2.html)。

**原因 3**：如果您嘗試使用在另一個 中指定 AMI 的啟動範本 AWS 帳戶，且 AMI 是私有的，且不會與您 AWS 帳戶 正在使用的 共用，則會收到您無權使用啟動範本的錯誤。

**解決方案 3**：確認 AMI 的許可包含您正在使用的帳戶。如需詳細資訊，請參閱《*Amazon EC2 使用者指南*》中的[與特定 共用 AMI AWS 帳戶](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/sharingamis-explicit.html)。