我的 AWS CloudFormation 堆疊停留在 UPDATE_ROLLBACK_FAILED 狀態。
簡短說明
如果您的堆疊在更新失敗之後停留在 UPDATE_ROLLBACK_FAILED 狀態,則唯一可以對堆疊執行的動作就是 ContinueUpdateRollback 或 DeleteStack 操作。這是因為 CloudFormation 需要您進一步的輸入,以確認堆疊與堆疊嘗試復原至的範本不同步。若要重試復原並解決錯誤,可以使用 ContinueUpdateRollback。
**提示:**若要解決錯誤,您可能需要提高限制、變更許可或修改其他設定。如需導致更新復原失敗的常見錯誤相關資訊,請參閱更新復原失敗。
在某些情況下,重試復原並不能解決錯誤。在這些情況下,您必須略過資源,並在 CloudFormation 範本中確認這些資源不再反映所需的狀態。若要略過造成復原失敗的資源,請完成解決方案區段中的下列步驟。
解決方案
您可以使用 CloudFormation 主控台或 AWS Command Line Interface (AWS CLI) 將堆疊復原至工作狀態。
**注意事項:**如果您在執行 AWS CLI 命令時收到錯誤訊息,請確定您使用最新版本的 AWS CLI。
CloudFormation 主控台
1. 開啟 CloudFormation 主控台。
2. 在導覽窗格中,選擇堆疊。
3. 從堆疊名稱資料欄中,選取停留在 UPDATE_ROLLBACK_FAILED 狀態的堆疊。
4. 如果您不想略過資源,請選擇堆疊動作,然後選擇繼續更新復原。
-或-
如果您要在復原期間略過 FAILED 資源,請完成以下動作:
1. 從堆疊名稱資料欄中,選取停留在 UPDATE_ROLLBACK_FAILED 狀態的堆疊。
2. 選擇堆疊動作,然後選擇繼續更新復原。
3. 在繼續更新復原對話方塊中,展開進階疑難排解。
4. 在要略過的資源 - 選用區段中,選取您要略過的資源。
5. 選擇繼續更新復原。
AWS CLI
在 AWS CLI 中,執行 continue-update-rollback 命令。例如:
$ aws cloudformation continue-update-rollback --stack-name awsstackname123 --resources-to-skip awsfaultyresource123
**注意事項:**將 awsstackname123 取代為您的堆疊名稱。將 awsfaultyresource123 取代為資源的邏輯 ID。
**重要事項:**CloudFormation 會將指定資源的狀態設為 UPDATE_COMPLETE。然後,CloudFormation 會繼續復原堆疊。復原完成之後,已略過資源的狀態會與堆疊範本中的資源狀態不一致。在執行其他堆疊更新之前,請先更新堆疊或資源,使其彼此保持一致。如果不這樣做,後續的堆疊更新可能會失敗,並且堆疊變得無法恢復。
如果您的巢狀堆疊必須復原為工作狀態,請參閱使用 ResourcesToSkip 復原巢狀堆疊階層。