My AWS CloudFormation stack is stuck in the UPDATE_ROLLBACK_FAILED state.
If your stack is stuck in the UPDATE_ROLLBACK_FAILED state after a failed update, then the only actions that you can perform on the stack are the ContinueUpdateRollback or DeleteStack operations. This is because CloudFormation requires further input from you to acknowledge that the stack is out of sync with the template that the stack is attempting to roll back to. To retry the rollback and resolve the error, you can use ContinueUpdateRollback.
Tip: To resolve the error, you might need to raise limits, change permissions, or modify other settings. For information on common errors that cause update rollback failures, see Update rollback failed.
In some cases, retrying the rollback doesn't resolve the error. In these cases, you must skip resources, and also acknowledge that these resources no longer reflect the desired state in the CloudFormation template. To skip the resources that caused the rollback failures, complete the following steps in the Resolution section.
You can roll the stack back to a working state with either the CloudFormation console or AWS Command Line Interface (AWS CLI).
Note: If you receive errors when running AWS CLI commands, make sure that you’re using the most recent AWS CLI version.
1. Open the CloudFormation console.
2. From the navigation pane, choose Stacks.
3. From the Stack name column, select the stack that's stuck in UPDATE_ROLLBACK_FAILED status.
4. If you don't want to skip resources, choose Stack Actions, and then choose Continue update rollback.
If you want to skip FAILED resources during rollback, complete the following:
1. From the Stack name column, select the stack that's stuck in UPDATE_ROLLBACK_FAILED status.
2. Choose Stack Actions, and then choose Continue update rollback.
3. In the Continue update rollback dialog box, expand Advanced troubleshooting.
4. In the Resources to skip - optional section, select the resources that you want to skip.
5. Choose Continue update rollback.
In the AWS CLI, run the continue-update-rollback command. For example:
$ aws cloudformation continue-update-rollback --stack-name awsstackname123 --resources-to-skip awsfaultyresource123
Note: Replace awsstackname123 with the name of your stack. Replace awsfaultyresource123 with the logical IDs of your resources.
Important: CloudFormation sets the status of specified resources to UPDATE_COMPLETE. Then, CloudFormation continues to roll back the stack. After the rollback is complete, the state of the skipped resources is inconsistent with the state of the resources in the stack template. Before performing another stack update, update the stack or resources to be consistent with each other. If you don't do this, subsequent stack updates can fail, and the stack becomes unrecoverable.
If you have nested stacks that must be rolled back to a working state, see Using ResourcesToSkip to recover a nested stacks hierarchy.