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.
-
No se admite una flota
instant
eliminada con instancias en ejecución. Al eliminar una flota deinstant
, Amazon EC2 termina automáticamente todas sus instancias. En el caso de las flotasinstant
con más de 1000 instancias, se podría producir un error en la solicitud de eliminación. Si la flota tiene más de 1000 instancias, primero termine la mayoría de las instancias manualmente y deje 1000 o menos. A continuación, elimine la flota y las instancias restantes se terminarán automáticamente.
Para eliminar una solicitud de flota de EC2 y terminar sus instancias
Utilice el comando delete-fleets--terminate-instances
para eliminar la solicitud de 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 solicitud de flota de EC2 sin terminar sus instancias
Puede modificar el comando anterior con el parámetro --no-terminate-instances
para eliminar la solicitud de 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 solicitud de flota de EC2 no se puede eliminar, UnsuccessfulFleetDeletions
devuelve el ID de la solicitud de flota de EC2, un código de error y un mensaje de error en el resultado.
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": "*" } ] }