Come posso eliminare uno stack AWS CloudFormation bloccato allo stato DELETE_FAILED?

3 minuti di lettura
0

Desidero eliminare il mio stack AWS CloudFormation, ma lo stack è rimasto bloccato allo stato DELETE_FAILED.

Breve descrizione

Lo stack potrebbe essere bloccato allo stato DELETE_FAILED per i seguenti motivi:

  • Una risorsa stack ha un oggetto dipendente o altre dipendenze che non è possibile eliminare. Per risolvere il problema, completa i passaggi riportati nella sezione Elimina uno stack con un oggetto dipendente o altre dipendenze che non è possibile eliminare.
  • Il ruolo di servizio utilizzato non è valido o non può essere assunto. Per risolvere questo problema, completa i passaggi riportati nella sezione Elimina uno stack con un ruolo non valido.
  • Una risorsa personalizzata non è riuscita a stabilizzarsi entro il tempo previsto. Per risolvere questo problema, completa i passaggi riportati nella sezione Elimina uno stack per una risorsa personalizzata che non è riuscita a stabilizzarsi.

Risoluzione

Elimina uno stack con un oggetto dipendente o altre dipendenze che non è possibile eliminare

I problemi di dipendenza si verificano in genere quando si effettua una modifica fuori banda. Ad esempio, lo stack fallisce se un gruppo di sicurezza che ne fa parte è collegato a un'interfaccia di rete elastica che invece non ne fa parte. Lo stack fallisce perché la risorsa del gruppo di sicurezza non può essere eliminata. Per eliminare lo stack, è necessario mantenere quella risorsa dipendente.

Per eliminare uno stack mantenendo una risorsa, completa i seguenti passaggi:

Console AWS CloudFormation

  1. Apri la console AWS CloudFormation.
  2. Scegli lo stack bloccato allo stato DELETE_FAILED.
  3. Scegli Elimina.
    Nota: si apre una finestra in cui sono elencate le risorse che non sono state eliminate.
  4. Nella finestra, seleziona tutte le risorse che desideri mantenere, quindi scegli Elimina stack.

Interfaccia della linea di comando AWS

Nota: se ricevi errori durante l'esecuzione dei comandi di AWS CLI, assicurati di utilizzare la versione più recente di AWS CLI.

Esegui il seguente comando delete-stack:

$ aws cloudformation delete-stack --stack-name my-stack --retain-resources myresource1 myresource2

Nota: sostituisci my-stack con il nome dello stack. Sostituisci myresource1 e myresource2 con gli ID logici delle risorse che non sono state eliminate.

Lo stack CloudFormation tenta di eliminare nuovamente lo stack, ma non elimina nessuna delle risorse selezionate per essere mantenute. Lo stato dello stack cambia in DELETE_COMPLETE.

Importante: per evitare costi non necessari, è necessario eliminare manualmente le risorse che vengono mantenute quando si elimina lo stack.

Elimina uno stack con un ruolo non valido

Se si tenta di eliminare uno stack creato utilizzando un ruolo di servizio che ora non esiste, viene visualizzato il seguente errore: "An error occurred (ValidationError) when calling the DeleteStack operation: Role is invalid or cannot be assumed."

Per risolvere questo errore, completa i seguenti passaggi:

  1. Apri la console AWS CloudFormation.
  2. Scegli lo stack che desideri eliminare per visualizzarne i dettagli.
  3. Nella scheda Informazioni stack prendi nota del nome del ruolo IAM assegnato allo stack.
  4. Crea un ruolo AWS Identity and Access Management (IAM) utilizzando lo stesso nome del ruolo IAM nella fase 3.
    Importante: quando crei il tuo ruolo IAM, verifica che disponga delle autorizzazioni corrette per eliminare le risorse nello stack.
  5. Nella console AWS CloudFormation, riprova a eliminare lo stack.

Elimina uno stack per una risorsa personalizzata che non è riuscita a stabilizzarsi

Per eliminare uno stack per una risorsa personalizzata che non è riuscita a stabilizzarsi nei tempi previsti, consulta Come faccio a eliminare una risorsa personalizzata supportata da Lambda che è bloccata nello stato DELETE_FAILED o DELETE_IN_PROGRESS in CloudFormation?


AWS UFFICIALE
AWS UFFICIALEAggiornata 2 anni fa