我的 AWS CloudFormation 堆疊卡在 UPDATE_ROLLBACK_FAILED 狀態。
簡短說明
對於處於 UPDATE_ROLLBACK_FAILED 狀態的 CloudFormation 堆疊,請使用 ContinueUpdateRollback 動作來復原堆疊,或使用 DeleteStack 動作來刪除堆疊。若要重試回復,請先解決錯誤,然後使用 ContinueUpdateRollback 執行回復操作。
**注意:**若要解決錯誤,您可能需要變更權限或修改其他設定。
如需導致更新回復失敗的錯誤資訊,請參閱更新回復失敗。
在某些情況下,當您重試回復時,錯誤並未解決。發生此情況時,您在執行 ContinueUpdateRollback 動作時必須跳過失敗的資源。當堆疊處於 UPDATE_ROLLBACK_COMPLETE 狀態時,您可以照常更新堆疊。
解決方法
若要將堆疊回復至運作狀態,請使用 CloudFormation 主控台或 AWS Command Line Interface (AWS CLI)。
**注意:**如果您在執行 AWS CLI 命令時收到錯誤,請參閱對 AWS CLI 錯誤進行疑難排解。此外,請確定您使用的是最新的 AWS CLI 版本。
使用 CloudFormation 主控台
若要回復堆疊且不跳過資源,請完成以下步驟:
- 開啟 CloudFormation console (CloudFormation 主控台)。
- 在導覽窗格中,選擇 Stacks (堆疊)。
- 從 Stack name (堆疊名稱) 欄位中,選取卡在 UPDATE_ROLLBACK_FAILED 狀態的堆疊。
- 選擇 Stack Actions (堆疊動作),然後選擇 Continue update rollback (繼續更新回復)。
- 在新視窗中選擇 Continue update rollback (繼續更新回復)。
若要回復堆疊並跳過失敗的資源,請完成以下步驟:
- 開啟 CloudFormation console (CloudFormation 主控台)。
- 在導覽窗格中,選擇 Stacks (堆疊)。
- 從 Stack name (堆疊名稱) 欄位中,選取卡在 UPDATE_ROLLBACK_FAILED 狀態的堆疊。
- 選擇 Stack actions (堆疊動作),然後選擇 Continue update rollback (繼續更新回復)。
- 在 Continue update rollback (繼續更新回復) 對話方塊中,展開 Advanced troubleshooting (進階疑難排解)。
- 在 Resources to skip - optional (要跳過的資源 - 選用) 區段中,選取您想要跳過的資源。
- 選擇 Continue update rollback (繼續更新回復)。
使用 AWS CLI
若要回復堆疊,請執行以下 continue-update-rollback AWS CLI 命令:
$ aws cloudformation continue-update-rollback --stack-name awsstackname123 --resources-to-skip awsfaultyresource123
**注意:**將 awsstackname123 替換為您的堆疊名稱,並將 awsfaultyresource123 替換為您資源的邏輯 ID。
如果 CLI 命令成功,您將不會在回應中看到錯誤。
更新堆疊或資源,使其保持一致
CloudFormation 會將指定資源的狀態設定為 UPDATE_COMPLETE。接著,CloudFormation 會繼續回復堆疊。回復完成後,跳過資源的狀態與堆疊範本中的資源狀態不一致。
在您執行另一個堆疊更新之前,您必須更新堆疊或資源以使其彼此保持一致。如果您不執行此操作,則隨後的堆疊更新可能會失敗,且堆疊會變得無法復原。
回復巢狀堆疊
當您回復巢狀堆疊中的父系堆疊時,子系堆疊也會隨之回復。如果要處理的資源太多,則巢狀堆疊可能會卡在 UPDATE_ROLLBACK_FAILED 狀態。若要解決此問題,請跳過子系堆疊,並繼續更新回復。
如果您從巢狀堆疊跳過的指定資源不符合 NestedStackName.ResourceLogicalID 格式,則您可能會收到以下錯誤訊息:
「Nested stack resources can only be skipped when their embedded stack statuses are one of [DELETE_COMPLETE, DELETE_IN_PROGRESS, DELETE_FAILED"]」
如需更多如何將巢狀堆疊回復至運作狀態的資訊,請參閱繼續回復更新。