刪除 EC2 機群請求和機群中的執行個體 - Amazon Elastic Compute Cloud

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

刪除 EC2 機群請求和機群中的執行個體

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

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

警告

終止執行個體是永久且不可復原的。

終止執行個體之後,您就無法再連線到它,也無法復原它。設定為在終止時刪除的所有連接 Amazon EBS 磁碟區也會永久刪除,且無法復原。存放在執行個體儲存體磁碟區上的所有資料都會永久遺失。如需詳細資訊,請參閱終止執行個體的運作方式

終止執行個體之前,請確定您已將終止後需要保留的所有資料備份至持久性儲存。

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

限制
  • 您可以在單一操作中刪除多達 25 個 instant 類型的機群。

  • 您可以在單一操作中刪除多達 100 個 maintainrequest 類型的機群。

  • 您可以在單一操作中刪除最多 125 個機群,前提是您不超過以上所指定每個機群類型的配額。

  • 如果您超過要刪除的指定機群數量,則不會刪除任何機群。

  • 不支援具有執行中執行個體的已刪除 instant 機群。當您刪除機instant群時,Amazon EC2 會自動終止其所有執行個體。對於執行個體超過 1000 個的instant機群,刪除請求可能會失敗。如果您的機群有超過 1000 個執行個體,請先手動終止大多數執行個體,留下 1000 個或更少的執行個體。然後刪除機群,剩餘的執行個體將自動終止。

AWS CLI
刪除 EC2 機群請求並終止其執行個體

使用 delete-fleets 命令搭配 --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-instancesinstant群不支援 。

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 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

當機群無法刪除時進行故障診斷

如果 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 政策,如下列範例所示。