Soy nuevo en aws cloudformation; Me pregunto si alguien conoce una forma de forzar la eliminación de una pila cuando simplemente no se elimina. Falla con este error:
Failed to delete stack: Role arn:aws:iam::role/CloudFormationRole-NestedCFN-CodePipeline is invalid or cannot be assumedEste error generalmente ocurre cuando trato de eliminar una pila secundaria anidada en lugar de comenzar eliminando primero la pila principal. ¿Hay alguna forma de eliminar la pila anidada si eliminé accidentalmente la pila principal?
Tuve el mismo problema y la única forma de eliminar la pila era usar la CLI de AWS y ejecutar el siguiente comando:
aws cloudformation delete-stack --role-arn arn:aws:iam::xxxx:role/anyrolewithpermissions --stack-name StuckStacksolo asegúrese de usar otro rol con suficientes permisos.
He tenido este problema un par de veces. La solución es un poco un truco. En su caso, debe crear un nuevo rol llamado CloudFormationRole-NestedCFN-CodePipeline . Cuando cree esta función, es probable que deba seleccionar el servicio de CloudFormation cuando le pida que elija el servicio que usará esta función y luego adjunte políticas de permisos . Una vez que se crea el rol, intente eliminar la pila nuevamente.
Parte de esto es un juego de adivinanzas porque debe elegir el recurso correcto (es decir, el servicio de AWS) que es una "entidad de confianza". Según el nombre de su función, es CloudFormation o CodePipeline.
Después de eliminar la pila de CloudFormation, puede eliminar el rol de IAM que acaba de crear.
La razón por la que recibe este error es porque probablemente eliminó una pila de CloudFormation que tiene un rol de IAM que está utilizando la pila que está tratando de eliminar.
Ojalá hubiera una solución más elegante de AWS, pero esta fue mi solución.
Esto suele suceder cuando un rol requerido para eliminar la pila se elimina accidentalmente. Puede obtener el mensaje de error
Role arn:aws:iam::<account>:role/<role name> is invalid or cannot be assumed Vaya a IAM > roles > create role > haga clic en formación en la cloudformation para el servicio > asegúrese de otorgarle los permissions correctos para que la formación en la nube pueda eliminar la pila. (En mi caso, le di permisos de administrador porque planeaba eliminar el rol inmediatamente después de eliminar la pila> para Role name , use el mismo nombre de rol en el mensaje de error.
Ahora debería poder eliminar la pila.