我的 AWS CloudFormation 堆疊卡在 UPDATE_ROLLBACK_COMPLETE_CLEANUP_IN_PROGRESS 或 UPDATE_COMPLETE_CLEANUP_IN_PROGRESS 狀態。
簡短描述
CloudFormation 堆疊會因以下原因卡在 UPDATE_ROLLBACK_COMPLETE_CLEANUP_IN_PROGRESS 或 UPDATE_COMPLETE_CLEANUP_IN_PROGRESS 狀態:
- CloudFormation 仍在移除舊資源,或者由於相依性問題而無法移除該資源。
- CloudFormation 暫停資源清理因為巢狀堆疊的同層級堆疊無法更新或復原。
解決方法
檢查堆疊狀態
請完成以下步驟:
- 開啟 CloudFormation console (CloudFormation 主控台)。
- 在導覽窗格中選擇 Stacks (堆疊),然後選擇卡住的堆疊。
- 檢查堆疊名稱旁邊是否有巢狀標籤。
- 在堆疊的 Events (事件) 索引標籤中,檢查是否有資源處於 DELETE_IN_PROGRESS 狀態。
如果狀態未變為 DELETE_COMPLETE,請使用下列章節來疑難排解問題。
對處於 DELETE_IN_PROGRESS 狀態的巢狀堆疊資源進行疑難排解
巢狀堆疊中的資源可能會因以下原因而卡在 DELETE_IN_PROGRESS 狀態:
- 某些資源 (例如 AWS::RDS::DBInstance 和 AWS::CloudFront::Distribution) 在由 CloudFormation 刪除時需要更多時間。
- 其他資源相依於您的資源。例如,CloudFormation 堆疊以外的資源可能使用您的 Amazon Elastic Compute Cloud (Amazon EC2) 安全群組。檢查您是否為該資源手動建立相依性。
CloudFormation 會先嘗試刪除資源三次,然後 CloudFormation 會略過該資源並繼續清理程序。您可以在主控台中手動移除安全群組的相依性,讓堆疊得以繼續進行並達到 UPDATE_COMPLETE 狀態。
對未處於 DELETE_IN_PROGRESS 狀態的巢狀堆疊資源進行疑難排解
如果您的巢狀堆疊沒有處於 DELETE_IN_PROGRESS 狀態的資源,請檢查您的根堆疊。
請完成以下步驟:
- 開啟 CloudFormation console (CloudFormation 主控台)。
- 在導覽窗格中,選擇 Stacks (堆疊),然後選取您的堆疊。
- 在堆疊的 Overview (概觀) 索引標籤中,選取 Root stack (根堆疊) 區段中的堆疊。
- 在 Status (狀態) 區段中,檢查根堆疊的狀態。
如果根堆疊處於 UPDATE_IN_PROGRESS 或 UPDATE_ROLLBACK_IN_PROGRESS 狀態,則 CloudFormation 正在更新相依您堆疊的其他資源。在 CloudFormation 更新所有相依性資源 (包括巢狀堆疊資源) 後,CloudFormation 便會啟動清理程序。
如果根堆疊處於 UPDATE_ROLLBACK_FAILED 狀態,請找出無法復原的第一個資源。檢查 CloudFormation 主控台上根堆疊的 Events (事件) 索引標籤。如果無法復原資源非巢狀堆疊,請參閱如果 CloudFormation 堆疊卡在 UPDATE_ROLLBACK_FAILED 狀態,如何進行更新?
解決無法完復原的巢狀堆疊
若要復原巢狀堆疊,請完成以下步驟:
- 開啟 CloudFormation console (CloudFormation 主控台)。
- 在導覽窗格中,選擇 Stacks (堆疊),然後選取巢狀堆疊。
- 在巢狀堆疊的 Events (事件) 索引標籤中,請找出在巢狀堆疊進入 UPDATE_ROLLBACK_IN_PROGRESS 狀態之後,無法復原的第一個資源。如果資源是巢狀堆疊,請重複此程序,直到您找出無法復原的非巢狀堆疊資源為止。
- 繼續執行復原程序,直到堆疊進入穩定狀態。
**重要:**如果您在 ContinueUpdateRollback 作業期間略過資源,則 CloudFormation 會將指定資源的狀態設定為 UPDATE_COMPLETE。接著 CloudFormation 會繼續復原堆疊。在復原完成後,略過資源的狀態會與堆疊範本中的資源狀態不一致。在再次更新堆疊之前,請先更新各個資源,使其彼此保持一致。否則,後續的堆疊更新可能會失敗,且該堆疊可能無法復原。
對處於 DELETE_IN_PROGRESS 狀態的非巢狀堆疊資源進行疑難排解
如果堆疊中的資源處於 DELETE_IN_PROGRESS 狀態,請使用 CloudFormation 主控台檢查資源狀態。或者,檢查資源的 AWS CloudTrail 日誌。如果資源未變更為 DELETE_COMPLETE,請在 AWS Health 儀表板中檢查是否有作業問題。
相關資訊
為什麼我的 CloudFormation 堆疊卡在 IN_PROGRESS 狀態?
使用巢狀堆疊將範本拆分為可重複使用的組件
更新復原失敗