Ir para o conteúdo

Como excluo uma pilha do CloudFormation que está presa no status DELETE_FAILED?

4 minuto de leitura
0

Quero excluir minha pilha do AWS CloudFormation, mas ela está presa no status DELETE_FAILED.

Breve descrição

Sua pilha pode estar presa no status DELETE_FAILED por um dos seguintes motivos:

  • Um recurso da pilha tem um objeto dependente ou outras dependências que você não consegue excluir.
  • O perfil de serviço que você está usando não é válido ou você não pode assumir o perfil do AWS Identity and Access Management (AWS IAM).
  • Um recurso personalizado não se estabiliza dentro do tempo limite de resposta padrão.

Resolução

Observação: se você receber erros ao executar comandos da AWS Command Line Interface (AWS CLI), consulte Solução de problemas da AWS CLI. Além disso, verifique se você está usando a versão mais recente da AWS CLI.

Excluir uma pilha que tenha dependências que não é possível excluir

Os problemas de dependência podem ocorrer quando você faz uma alteração fora da banda. Por exemplo, sua pilha tem um grupo de segurança vinculado a uma interface de rede elástica que não faz parte da sua pilha. Você não pode excluir sua pilha porque não pode excluir o grupo de segurança. Para excluir uma pilha, mas reter o recurso que tem dependências, use o console do CloudFormation para forçar a exclusão da pilha. Ou execute os seguintes comandos da AWS CLI.

Para excluir uma pilha que está presa no status DELETE_FAILED e reter os recursos que não foram excluídos, execute o seguinte comando delete-stack:

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

Observação: substitua my-stack pelo nome da sua pilha e myresource1 e myresource2 pelos IDs dos recursos que não foram excluídos.

O CloudFormation exclui a pilha, mas não exclui os recursos que você reteve. O status da sua pilha muda para DELETE_COMPLETE.

Observação: para evitar cobranças pelos recursos retidos, exclua manualmente os recursos retidos depois de excluir sua pilha.

Para forçar a exclusão de uma pilha que tenha dependências que você não pode excluir, execute o seguinte comando delete-stack:

 aws cloudformation delete-stack --stack-name my-stack --deletion-mode FORCE_DELETE_STACK

Observação: substitua my-stack pelo nome da sua pilha.

Excluir uma pilha com um perfil que não é válido

Se você tentar excluir uma pilha que usa um perfil de serviço que não existe mais, receberá o seguinte erro:

"An error occurred (ValidationError) when calling the DeleteStack operation: Role is invalid or cannot be assumed."

Para solucionar esse problema, realize as etapas a seguir:

  1. Abra o console do CloudFormation.
  2. Selecione a pilha que você deseja excluir.
  3. Na guia Informações da pilha, anote o nome do perfil do IAM da pilha.
  4. Crie um perfil do IAM com o mesmo nome do perfil do IAM na etapa anterior. Importante: ao criar seu perfil do IAM, verifique se ele tem as permissões para excluir os recursos da pilha.
  5. Use o console do CloudFormation para excluir a pilha.

Se você não se lembrar das permissões de um perfil excluído, não será possível criar um novo perfil com as mesmas permissões para excluir a pilha. Obtenha um novo perfil e, em seguida, execute o seguinte comando delete-stack com o novo perfil para excluir a pilha:

aws cloudformation delete-stack --stack-name my-stack --role-arn new_role

Observação: substitua my-stack pelo nome da sua pilha e new_role pelo número do recurso da Amazon (ARN) do novo perfil.

Excluir uma pilha de um recurso personalizado que não estabiliza

Para solucionar o problema, consulte Como excluo um recurso personalizado com suporte do Lambda que está preso no status DELETE_FAILED ou no status DELETE_IN_PROGRESS no CloudFormation?

Informações relacionadas

DeleteStack

AWS OFICIALAtualizada há 7 meses