Come posso risolvere i problemi relativi alle definizioni delle attività bloccate nello stato DELETE_IN _PROGRESS in Amazon ECS?

3 minuti di lettura
0

Ho eliminato la definizione di un'attività Amazon Elastic Container Service (Amazon ECS), ma è bloccata nello stato DELETE_IN_PROGRESS.

Risoluzione

Nota: se si verificano errori durante l'esecuzione dei comandi dell'interfaccia della linea di comando AWS (AWS CLI), consulta Risoluzione degli errori per AWS CLI. Inoltre, assicurati di utilizzare la versione più recente di AWS CLI.

Una richiesta di eliminazione della definizione di un'attività non può essere completata quando una risorsa Amazon ECS dipende dalla revisione della definizione dell'attività. Se un'attività o un servizio autonomo utilizza la definizione dell'attività eliminata, la definizione dell'attività rimane bloccata nello stato DELETE_IN_PROGRESS.

Per risolvere questo problema, esegui il seguente comando AWS CLI list-clusters per identificare tutte le risorse che utilizzano la definizione dell'attività:

TaskDefARN=TaskDefinitionARN
REGION=Regioncode
for cluster in $(aws ecs list-clusters --region $REGION --output text --query 'clusterArns[]'); do echo "Checking cluster: $cluster"; for task in $(aws ecs list-tasks --region $REGION --cluster $cluster --output text --query 'taskArns[]'); do task_def=$(aws ecs describe-tasks --region $REGION --cluster $cluster --tasks $task --query 'tasks[].taskDefinitionArn' --output text); if [[ "$task_def" == "$TaskDefARN" ]]; then echo "Task using this definition: $task"; fi; done; for service in $(aws ecs list-services --region $REGION --cluster $cluster --output text --query 'serviceArns[]'); do service_def=$(aws ecs describe-services --region $REGION --cluster $cluster --services $service --query 'services[].taskDefinition' --output text); if [[ "$service_def" == "$TaskDefARN" ]]; then echo "Service using this definition: $service"; fi; done; done

Nota: sostituisci TaskDefinitionARN con l'ARN della definizione dell'attività e Regioncode con la tua regione AWS.

Esempio di output:

Checking cluster: arn:aws:ecs:us-east-1:123456789012:cluster/cluster-1
Checking cluster: arn:aws:ecs:us-east-1:123456789012:cluster/cluster-2
Checking cluster: arn:aws:ecs:us-east-1:123456789012:cluster/cluster-3
Task using this definition: arn:aws:ecs:us-east-1:123456789012:task/cluster-3/abcde
Service using this definition: arn:aws:ecs:us-east-1:123456789012:service/cluster-3/service-1

Nell'esempio precedente, l'attività abcde appartiene a service-1. Per eliminare la definizione dell'attività per l'attività abcde, è necessario prima eliminare service-1.

Se il servizio gestisce attivamente le attività, è possibile che venga visualizzato il seguente messaggio di errore quando tenti di eliminare il servizio:

"An error occurred (InvalidParameterException) when calling the DeleteService operation: The service cannot be stopped while it is scaled above 0."

Per risolvere il problema, assicurati che il servizio non abbia attività in esecuzione e che il conteggio delle attività sia 0 prima di eliminare il servizio. Oppure aggiungi l'opzione**--force** quando esegui il comando delete-service.

Utilizza la console Amazon ECS per eliminare il servizio. Oppure esegui il seguente comando delete-service:

aws ecs delete-service --cluster clustername --service servicename

Nota: sostituisci clustername con il nome del tuo cluster e servicename con il nome del tuo servizio.

Per le attività Amazon ECS, il completamento dell'eliminazione delle definizioni delle attività può richiedere fino a 1 ora dall'interruzione dell'attività. Per i servizi Amazon ECS, il completamento dell'eliminazione delle definizioni delle attività può richiedere fino a 24 ore dall'eliminazione della distribuzione o del set di attività.

Puoi creare una nuova definizione dell'attività con lo stesso nome della definizione dell'attività precedente solo dopo il completamento dell'eliminazione. Se non hai ancora eliminato la definizione dell'attività, crei una nuova revisione della stessa definizione dell'attività anziché una nuova definizione dell'attività. Puoi utilizzare la revisione per avviare nuove attività e apportare le modifiche necessarie fino al completamento dell'eliminazione della definizione dell'attività precedente.

Informazioni correlate

Stati di definizione delle attività di Amazon ECS

describe-services

describe-tasks

AWS UFFICIALE
AWS UFFICIALEAggiornata 2 mesi fa