Minha pilha do AWS CloudFormation está presa no estado UPDATE_ROLLBACK_COMPLETE_CLEANUP_IN_PROGRESS ou UPDATE_COMPLETE_CLEANUP_IN_PROGRESS.
Breve descrição
Uma pilha do CloudFormation fica presa no estado UPDATE_ROLLBACK_COMPLETE_CLEANUP_IN_PROGRESS ou UPDATE_COMPLETE_CLEANUP_IN_PROGRESS pelos seguintes motivos:
- O CloudFormation ainda está removendo recursos antigos ou não pode remover os recursos devido a um problema de dependência.
- O CloudFormation pausou a limpeza de recursos porque uma pilha irmã de uma pilha aninhada não consegue ser atualizada ou revertida.
Resolução
Verificar o status da pilha
Conclua as etapas a seguir:
- Abra o console do CloudFormation.
- No painel de navegação, escolha Pilhas e, em seguida, selecione a pilha que está paralisada.
- Verifique se há uma etiqueta NESTED ao lado do nome da sua pilha.
- Na guia Eventos da sua pilha, verifique se há recursos no estado DELETE_IN_PROGRESS.
Se o status não mudar para DELETE_COMPLETE, use as seções a seguir para solucionar o problema.
Solucionar os recursos de pilha não aninhados no estado DELETE_IN_PROGRESS
Os recursos em sua pilha aninhada podem ficar presos no estado DELETE_IN_PROGRESS pelos seguintes motivos:
- Alguns recursos, como AWS::RDS::DBInstance e AWS::CloudFront::Distribution exigem mais tempo para que o CloudFormation seja excluído.
- Outros recursos dependem do seu recurso. Por exemplo, recursos fora da sua pilha do CloudFormation podem usar seu grupo de segurança do Amazon Elastic Compute Cloud (Amazon EC2). Verifique se você criou manualmente dependências para o recurso.
O CloudFormation tenta excluir um recurso três vezes antes de ignorar o recurso e continuar o processo de limpeza. É possível remover manualmente a dependência do grupo de segurança do console para que a pilha possa continuar e alcançar o estado UPDATE_COMPLETE.
Solucionar os recursos de pilha não aninhados que não estão no estado DELETE_IN_PROGRESS
Se sua pilha aninhada não tiver recursos no estado DELETE_IN_PROGRESS, verifique sua pilha raiz.
Conclua as etapas a seguir:
- Abra o console do CloudFormation.
- No painel de navegação, escolha Pilhas e selecione sua pilha.
- Na guia Visão geral da pilha, escolha uma opção na seção Pilha raiz.
- Verifique o status da pilha raiz na seção Status.
Se a pilha raiz estiver no estado UPDATE_IN_PROGRESS ou UPDATE_ROLLBACK_IN_PROGRESS, isso significa que o CloudFormation está atualizando outros recursos que dependem da sua pilha. Depois que todos os recursos dependentes forem atualizados (incluindo recursos em pilhas aninhadas) pelo CloudFormation, este iniciará o processo de limpeza.
Se a pilha raiz estiver no estado UPDATE_ROLLBACK_FAILED, identifique o primeiro recurso que falhou na reversão. Verifique a guia Eventos da pilha raiz no Console do CloudFormation. Se o recurso que falhou na reversão não for uma pilha aninhada, consulte Como posso atualizar minha pilha do CloudFormation se ela estiver travada no estado UPDATE_ROLLBACK_FAILED?
Resolver uma pilha aninhada que não conseguiu reverter
Para reverter uma pilha aninhada, conclua as seguintes etapas:
- Abra o console do CloudFormation.
- No painel de navegação, escolha Pilhas e, em seguida, selecione a pilha aninhada.
- Na guia Eventos da sua pilha aninhada, identifique o primeiro recurso que falhou na reversão depois que a pilha aninhada entrou no estado UPDATE_ROLLBACK_IN_PROGRESS. Se o recurso for uma pilha aninhada, repita esse processo até identificar um recurso de pilha não aninhado que falhou na reversão.
- Continue o processo de reversão para colocar a pilha em um estado estável.
Importante: se você ignorar um recurso durante uma operação ContinueUpdateRollback, o CloudFormation definirá o status dos recursos especificados como UPDATE_COMPLETE. Em seguida, o CloudFormation continuará a reverter a pilha. Depois que a reversão for concluída, o estado dos recursos ignorados ficará inconsistente com o estado dos recursos no modelo de pilha. Antes de atualizar a pilha novamente, atualize os recursos para que sejam consistentes entre si. Caso contrário, as atualizações subsequentes da pilha poderão falhar e a pilha poderá ficar irrecuperável.
Solucionar problemas de recursos de pilha não aninhados que estão no estado DELETE_IN_PROGRESS
Se os recursos em sua pilha estiverem no estado DELETE_IN_PROGRESS, use o console do CloudFormation para verificar o status do recurso. Ou verifique o recurso nos logs do AWS CloudTrail. Se os recursos não mudarem para DELETE_COMPLETE, verifique se há problemas operacionais no AWS Health Dashboard.
Informações relacionadas
Por que minha pilha do CloudFormation está presa em um estado IN_PROGRESS?
Dividir um modelo em partes reutilizáveis usando pilhas aninhadas
Falha na reversão da atualização