Eliminar una solicitud de flota de EC2 y las instancias en la flota
Si ya no necesita una flota de EC2, puede eliminarla. Tras eliminar una solicitud de flota, todas las solicitudes de spot asociadas con la flota se cancelan, de forma que no se iniciará ninguna instancia de spot nueva.
Al eliminar una solicitud de flota de EC2, debe especificar si también desea terminar todas sus instancias. Esto incluye tanto las instancias bajo demanda como las instancias de spot. Para las flotas instant
, la flota de EC2 debe terminar las instancias cuando se elimine la flota. No se admite una flota instant
eliminada con instancias en ejecución.
Si especifica que se terminen las instancias cuando se elimine la solicitud de flota, esta pasará al estado deleted_terminating
. En caso contrario, pasará al estado deleted_running
y las instancias seguirán ejecutándose hasta que se interrumpan o usted las termine manualmente.
Restricciones
-
Puede eliminar hasta 25 flotas de tipo
instant
en una sola solicitud. -
Puede eliminar hasta 100 flotas de tipo
maintain
orequest
en una sola solicitud. -
Puede eliminar hasta 125 flotas en una sola solicitud, siempre que no supere la cuota para cada tipo de flota, como se especificó anteriormente.
-
Si supera la cantidad especificada de flotas para eliminar, no se eliminan las flotas.
-
Se pueden terminar hasta 1000 instancias en una sola solicitud para eliminar las flotas
instant
.
Para eliminar una flota de EC2 y terminar sus instancias
Utilice el comando delete-fleets (eliminar flotas) y el parámetro --terminate-instances
para eliminar la flota de EC2 especificada y terminar sus instancias asociadas.
aws ec2 delete-fleets \ --fleet-ids
fleet-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE
\ --terminate-instances
Ejemplo de resultado
{
"UnsuccessfulFleetDeletions": [],
"SuccessfulFleetDeletions": [
{
"CurrentFleetState": "deleted_terminating",
"PreviousFleetState": "active",
"FleetId": "fleet-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE"
}
]
}
Para eliminar una flota de EC2 sin terminar sus instancias
Puede modificar el comando anterior con el parámetro --no-terminate-instances
para eliminar la flota de EC2 especificada sin terminar sus instancias asociadas.
nota
--no-terminate-instances
no es compatible con las flotas instant
.
aws ec2 delete-fleets \ --fleet-ids
fleet-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE
\ --no-terminate-instances
Ejemplo de resultado
{
"UnsuccessfulFleetDeletions": [],
"SuccessfulFleetDeletions": [
{
"CurrentFleetState": "deleted_running",
"PreviousFleetState": "active",
"FleetId": "fleet-4b8aaae8-dfb5-436d-a4c6-3dafa4c6b7dcEXAMPLE"
}
]
}
Solucionar problemas cuando una flota no se puede eliminar
Si una flota de EC2 devuelve un error al eliminarla, UnsuccessfulFleetDeletions
devuelve el ID de la flota de EC2, un código de error y un mensaje de error.
Los códigos de error son:
-
ExceededInstantFleetNumForDeletion
-
fleetIdDoesNotExist
-
fleetIdMalformed
-
fleetNotInDeletableState
-
NoTerminateInstancesNotSupported
-
UnauthorizedOperation
-
unexpectedError
Solucionar ExceededInstantFleetNumForDeletion
Si intenta eliminar más de 25 flotas instant
en una sola solicitud, se devuelve el error ExceededInstantFleetNumForDeletion
. A continuación, se muestra un ejemplo del resultado de este error.
{ "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": [] }
Solucionar NoTerminateInstancesNotSupported
Si especifica que las instancias de una flota instant
no deben finalizarse al eliminar la flota, se devuelve el error NoTerminateInstancesNotSupported
. --no-terminate-instances
no es compatible con las flotas instant
. A continuación, se muestra un ejemplo del resultado de este error.
{ "UnsuccessfulFleetDeletions": [ { "FleetId": "fleet-5d130460-0c26-bfd9-2c32-0100a098f625", "Error": { "Message": "NoTerminateInstances option is not supported for instant fleet", "Code": "NoTerminateInstancesNotSupported" } } ], "SuccessfulFleetDeletions": []
Solucionar UnauthorizedOperation
Si no tiene permiso para terminar instancias, aparece el error UnauthorizedOperation
al eliminar una flota que debe terminar sus instancias. La siguiente es la respuesta al error.
<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 el error, debe agregar la acción ec2:TerminateInstances
a la política de IAM, como se muestra en el siguiente ejemplo.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "DeleteFleetsAndTerminateInstances", "Effect": "Allow", "Action": [ "ec2:DeleteFleets" "ec2:TerminateInstances" ], "Resource": "*" } ] }