

# Excluir uma solicitação de frota do EC2 e as instâncias da frota
<a name="delete-fleet"></a>

Se você não precisar mais de uma frota do EC2, poderá excluí-la. Depois que você exclui uma frota, todas as solicitações spot associadas à frota são canceladas para que nenhuma nova instância spot seja iniciada.

Ao excluir uma frota do EC2, você deve também especificar se deseja encerrar todas as instâncias. Isso inclui tanto instâncias sob demanda quanto instâncias spot. Para frotas `instant`, a frota do EC2 deve encerrar as instâncias quando a frota for excluída. Não há suporte a uma frota `instant` excluída com instâncias em execução.

**Atenção**  
**O encerramento de uma instância é permanente e irreversível.**  
Depois de encerrar uma instância, não será mais possível se conectar a ela e ela não poderá ser recuperada. Todos os volumes anexados do Amazon EBS configurados para serem excluídos no encerramento também serão excluídos permanentemente e não poderão ser recuperados. Todos os dados armazenados em volumes de armazenamento de instância serão perdidos permanentemente. Para obter mais informações, consulte [Como funciona o encerramento de uma instância](how-ec2-instance-termination-works.md).  
Antes de encerrar uma instância, certifique-se de ter feito backup de todos os dados que você precise reter após o encerramento no armazenamento persistente.

Se você especificar que as instâncias deverão ser encerradas quando a solicitação de frota for excluída, a solicitação da frota entrará no estado `deleted_terminating`. Caso contrário, ela entrará no estado `deleted_running` e as instâncias continuarão em execução até que sejam interrompidas ou encerradas manualmente.

**Restrições**
+ É possível excluir até 25 frotas do tipo `instant` em uma única operação.
+ É possível excluir até 100 frotas do tipo `maintain` ou `request` em uma única operação.
+ É possível excluir até 125 frotas em uma única operação, desde que não exceda a cota para cada tipo de frota, conforme especificado acima.
+ Nenhuma frota será excluída se você exceder o número especificado de frotas a serem excluídas.
+ Não há suporte a uma frota `instant` excluída com instâncias em execução. Ao excluir uma frota `instant`, o Amazon EC2 encerra automaticamente todas as suas instâncias. Para frotas `instant` com mais de mil instâncias, a solicitação de exclusão pode não ser bem-sucedida. Caso sua frota contenha mais de mil instâncias, encerre manualmente a maioria delas, deixando mil ou menos. Em seguida, exclua a frota, e as instâncias restantes serão encerradas automaticamente.

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

**Para excluir uma solicitação de frota do EC2 e encerrar as instâncias**  
Use o comando [delete-fleets](https://docs.aws.amazon.com/cli/latest/reference/ec2/delete-fleets.html) com a opção `--terminate-instances`.

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

O seguinte é um exemplo de saída.

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

**Para excluir uma solicitação de frota do EC2 sem encerrar as instâncias**  
Modifique o exemplo anterior usando a opção `--no-terminate-instances`. Observe que não há suporte a `--no-terminate-instances` para frotas `instant`.

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

O seguinte é um exemplo de saída.

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

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

**Para excluir uma solicitação de frota do EC2 e encerrar as instâncias**  
Use o cmdlet [Remove-EC2Fleet](https://docs.aws.amazon.com/powershell/latest/reference/items/Remove-EC2Fleet.html) com o parâmetro `-TerminateInstance`.

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

**Para excluir uma solicitação de frota do EC2 sem encerrar as instâncias**  
Modifique o exemplo anterior alterando o valor do parâmetro `-TerminateInstance`.

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

------

## Solucionar problemas quando houver falha na exclusão da frota
<a name="troubleshoot-delete-fleet"></a>

Se a exclusão de uma solicitação de frota do EC2 falhar, `UnsuccessfulFleetDeletions` na saída mostrará o ID da solicitação de frota do EC2, um código de erro e uma mensagem de erro.

Os códigos de erro são:
+ `ExceededInstantFleetNumForDeletion`
+ `fleetIdDoesNotExist`
+ `fleetIdMalformed`
+ `fleetNotInDeletableState`
+ `NoTerminateInstancesNotSupported`
+ `UnauthorizedOperation`
+ `unexpectedError`

**Solução de problemas do `ExceededInstantFleetNumForDeletion`**  
Se você tentar excluir mais de 25 frotas `instant` em uma única solicitação, o erro `ExceededInstantFleetNumForDeletion` será retornado. Veja a seguir um exemplo de saída deste erro.

```
{
    "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": []
}
```

**Solução de problemas do `NoTerminateInstancesNotSupported`**  
Se você especificar que as instâncias em uma frota `instant` não devem ser encerradas quando você excluir a frota, o erro `NoTerminateInstancesNotSupported` será retornado. Não há suporte a `--no-terminate-instances` para frotas `instant`. Veja a seguir um exemplo de saída deste erro.

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

**Solução de problemas do `UnauthorizedOperation`**  
Se você não tiver permissão para encerrar instâncias, você obterá o erro `UnauthorizedOperation` ao excluir uma frota que deve encerrar suas instâncias. A seguir está a resposta de erro.

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

Para resolver o erro, você deve adicionar a ação `ec2:TerminateInstances` à política do IAM, conforme mostrado no exemplo a seguir.