

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

# 刪除 EC2 機群請求和機群中的執行個體
<a name="delete-fleet"></a>

如果您不再需要某個 EC2 機群請求，可以將其刪除。刪除機群請求後，也會取消與機群相關的所有 Spot 請求，因此不會啟動新的 Spot 執行個體。

您在刪除 EC2 機群時，必須指定是否也要終止其所有執行個體。這包含隨需執行個體和 Spot 執行個體。對於 `instant` 機群，EC2 機群必須在機群刪除時終止執行個體。不支援具有執行中執行個體的已刪除 `instant` 機群。

**警告**  
**終止執行個體的操作為永久性且無法復原。**  
終止執行個體後，您將無法再連線至該執行個體，且無法復原該執行個體。所有設定為終止時刪除的已連接 Amazon EBS 磁碟區，也會被永久刪除且無法復原。儲存在執行個體儲存體磁碟區的所有資料將永久遺失。如需詳細資訊，請參閱[終止執行個體的運作方式](how-ec2-instance-termination-works.md)。  
在終止執行個體之前，確認您已將終止使用後需要保留的全部資料備份至持久性儲存體。

如果指定在刪除機群請求時必須終止執行個體，則機群請求會進入 `deleted_terminating` 狀態。否則會進入 `deleted_running` 狀態，且執行個體會一直執行直到中斷或您手動終止。

**限制**
+ 您可以在單一操作中刪除多達 25 個 `instant` 類型的機群。
+ 您可以在單一操作中刪除多達 100 個 `maintain` 或 `request` 類型的機群。
+ 您可以在單一操作中刪除最多 125 個機群，前提是您不超過以上所指定每個機群類型的配額。
+ 如果您超過要刪除的指定機群數量，則不會刪除任何機群。
+ 不支援具有執行中執行個體的已刪除 `instant` 機群。刪除 `instant` 機群時，Amazon EC2 會自動終止其所有執行個體。對於包含超過 1000 個執行個體的 `instant` 機群，刪除請求可能會失敗。若您的機群有超過 1000 個執行個體，請先手動終止大部分執行個體，留下 1000 個或以下的執行個體。接著刪除機群，剩餘的執行個體將會自動終止。

------
#### [ AWS CLI ]

**若要刪除 EC2 機群請求並終止其執行個體**  
使用 [delete-fleets](https://docs.aws.amazon.com/cli/latest/reference/ec2/delete-fleets.html) 命令並搭配 `--terminate-instances` 選項。

```
aws ec2 delete-fleets \
    --fleet-ids fleet-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE \
    --terminate-instances
```

以下為範例輸出。

```
{
    "UnsuccessfulFleetDeletions": [], 
    "SuccessfulFleetDeletions": [
        {
            "CurrentFleetState": "deleted_terminating", 
            "PreviousFleetState": "active", 
            "FleetId": "fleet-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE"
        }
    ]
}
```

**若要刪除 EC2 機群請求但不終止其執行個體**  
請改用 `--no-terminate-instances` 選項來修改之前的範例。請注意，`--no-terminate-instances` 不支援 `instant` 機群。

```
aws ec2 delete-fleets \
    --fleet-ids fleet-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE \
    --no-terminate-instances
```

以下為範例輸出。

```
{
    "UnsuccessfulFleetDeletions": [], 
    "SuccessfulFleetDeletions": [
        {
            "CurrentFleetState": "deleted_running", 
            "PreviousFleetState": "active", 
            "FleetId": "fleet-4b8aaae8-dfb5-436d-a4c6-3dafa4c6b7dcEXAMPLE"
        }
    ]
}
```

------
#### [ PowerShell ]

**若要刪除 EC2 機群請求並終止其執行個體**  
使用 [Remove-EC2Fleet](https://docs.aws.amazon.com/powershell/latest/reference/items/Remove-EC2Fleet.html) cmdlet 搭配 `-TerminateInstance` 參數。

```
Remove-EC2Fleet `
    -FleetId "fleet-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE" `
    -TerminateInstance $true
```

**若要刪除 EC2 機群請求但不終止其執行個體**  
透過變更 `-TerminateInstance` 參數的值來修改之前的範例。

```
Remove-EC2Fleet `
    -FleetId "fleet-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE" `
    -TerminateInstance $false
```

------

## 當機群無法刪除時進行故障診斷
<a name="troubleshoot-delete-fleet"></a>

如果刪除 EC2 機群請求刪除失敗，則輸出中的 `UnsuccessfulFleetDeletions` 會傳回的 EC2 機群 ID、錯誤碼和錯誤訊息。

錯誤代碼為：
+ `ExceededInstantFleetNumForDeletion`
+ `fleetIdDoesNotExist`
+ `fleetIdMalformed`
+ `fleetNotInDeletableState`
+ `NoTerminateInstancesNotSupported`
+ `UnauthorizedOperation`
+ `unexpectedError`

**`ExceededInstantFleetNumForDeletion` 疑難排解**  
如果您在單一請求中嘗試刪除超過 25 個 `instant` 機群，則會傳回 `ExceededInstantFleetNumForDeletion` 錯誤。下列為此錯誤的範例輸出。

```
{
    "UnsuccessfulFleetDeletions": [
     {
          "FleetId": " fleet-5d130460-0c26-bfd9-2c32-0100a098f625",
          "Error": {
                  "Message": "Can’t delete more than 25 instant fleets in a single request.",
                  "Code": "ExceededInstantFleetNumForDeletion"
           }
     },
     {
           "FleetId": "fleet-9a941b23-0286-5bf4-2430-03a029a07e31",
           "Error": {
                  "Message": "Can’t delete more than 25 instant fleets in a single request.",
                  "Code": "ExceededInstantFleetNumForDeletion"
            }
     }
     .
     .
     .
     ],
     "SuccessfulFleetDeletions": []
}
```

**`NoTerminateInstancesNotSupported` 疑難排解**  
如果您指定在刪除 `instant` 機群時不得終止該機群中的執行個體，則會傳回 `NoTerminateInstancesNotSupported` 錯誤。`--no-terminate-instances` 不支援 `instant` 機群。下列為此錯誤的範例輸出。

```
{
      "UnsuccessfulFleetDeletions": [
            {
                  "FleetId": "fleet-5d130460-0c26-bfd9-2c32-0100a098f625",
                  "Error": {
                          "Message": "NoTerminateInstances option is not supported for instant fleet",
                          "Code": "NoTerminateInstancesNotSupported"
                   }
            }
       ],
       "SuccessfulFleetDeletions": []
}
```

**`UnauthorizedOperation` 疑難排解**  
如果沒有終止執行個體的許可，您在刪除必須終止其執行個體的機群時，會收到 `UnauthorizedOperation` 錯誤。以下是錯誤回應。

```
<Response><Errors><Error><Code>UnauthorizedOperation</Code><Message>You are not authorized to perform this 
operation. Encoded authorization failure message: VvuncIxj7Z_CPGNYXWqnuFV-YjByeAU66Q9752NtQ-I3-qnDLWs6JLFd
KnSMMiq5s6cGqjjPtEDpsnGHzzyHasFHOaRYJpaDVravoW25azn6KNkUQQlFwhJyujt2dtNCdduJfrqcFYAjlEiRMkfDHt7N63SKlweKUl
BHturzDK6A560Y2nDSUiMmAB1y9UNtqaZJ9SNe5sNxKMqZaqKtjRbk02RZu5V2vn9VMk6fm2aMVHbY9JhLvGypLcMUjtJ76H9ytg2zRlje
VPiU5v2s-UgZ7h0p2yth6ysUdhlONg6dBYu8_y_HtEI54invCj4CoK0qawqzMNe6rcmCQHvtCxtXsbkgyaEbcwmrm2m01-EMhekLFZeJLr
DtYOpYcEl4_nWFX1wtQDCnNNCmxnJZAoJvb3VMDYpDTsxjQv1PxODZuqWHs23YXWVywzgnLtHeRf2o4lUhGBw17mXsS07k7XAfdPMP_brO
PT9vrHtQiILor5VVTsjSPWg7edj__1rsnXhwPSu8gI48ZLRGrPQqFq0RmKO_QIE8N8s6NWzCK4yoX-9gDcheurOGpkprPIC9YPGMLK9tug
</Message></Error></Errors><RequestID>89b1215c-7814-40ae-a8db-41761f43f2b0</RequestID></Response>
```

若要解決錯誤，您必須將 `ec2:TerminateInstances` 動作新增至 IAM 政策，如下列範例所示。