跳至內容

為什麼我的 CloudFormation 堆疊會卡在 UPDATE_ROLLBACK_COMPLETE_CLEANUP_IN_PROGRESS 或 UPDATE_COMPLETE_CLEANUP_IN_PROGRESS 狀態?

1 分的閱讀內容
0

我的 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 暫停資源清理因為巢狀堆疊的同層級堆疊無法更新或復原。

解決方法

檢查堆疊狀態

請完成以下步驟:

  1. 開啟 CloudFormation console (CloudFormation 主控台)。
  2. 在導覽窗格中選擇 Stacks (堆疊),然後選擇卡住的堆疊。
  3. 檢查堆疊名稱旁邊是否有巢狀標籤。
  4. 在堆疊的 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 狀態的資源,請檢查您的根堆疊。

請完成以下步驟:

  1. 開啟 CloudFormation console (CloudFormation 主控台)。
  2. 在導覽窗格中,選擇 Stacks (堆疊),然後選取您的堆疊。
  3. 在堆疊的 Overview (概觀) 索引標籤中,選取 Root stack (根堆疊) 區段中的堆疊。
  4. 在 Status (狀態) 區段中,檢查根堆疊的狀態。

如果根堆疊處於 UPDATE_IN_PROGRESS 或 UPDATE_ROLLBACK_IN_PROGRESS 狀態,則 CloudFormation 正在更新相依您堆疊的其他資源。在 CloudFormation 更新所有相依性資源 (包括巢狀堆疊資源) 後,CloudFormation 便會啟動清理程序。

如果根堆疊處於 UPDATE_ROLLBACK_FAILED 狀態,請找出無法復原的第一個資源。檢查 CloudFormation 主控台上根堆疊的 Events (事件) 索引標籤。如果無法復原資源非巢狀堆疊,請參閱如果 CloudFormation 堆疊卡在 UPDATE_ROLLBACK_FAILED 狀態,如何進行更新?

解決無法完復原的巢狀堆疊

若要復原巢狀堆疊,請完成以下步驟:

  1. 開啟 CloudFormation console (CloudFormation 主控台)。
  2. 在導覽窗格中,選擇 Stacks (堆疊),然後選取巢狀堆疊。
  3. 在巢狀堆疊的 Events (事件) 索引標籤中,請找出在巢狀堆疊進入 UPDATE_ROLLBACK_IN_PROGRESS 狀態之後,無法復原的第一個資源。如果資源是巢狀堆疊,請重複此程序,直到您找出無法復原的非巢狀堆疊資源為止。
  4. 繼續執行復原程序,直到堆疊進入穩定狀態。

**重要:**如果您在 ContinueUpdateRollback 作業期間略過資源,則 CloudFormation 會將指定資源的狀態設定為 UPDATE_COMPLETE。接著 CloudFormation 會繼續復原堆疊。在復原完成後,略過資源的狀態會與堆疊範本中的資源狀態不一致。在再次更新堆疊之前,請先更新各個資源,使其彼此保持一致。否則,後續的堆疊更新可能會失敗,且該堆疊可能無法復原。

對處於 DELETE_IN_PROGRESS 狀態的非巢狀堆疊資源進行疑難排解

如果堆疊中的資源處於 DELETE_IN_PROGRESS 狀態,請使用 CloudFormation 主控台檢查資源狀態。或者,檢查資源的 AWS CloudTrail 日誌。如果資源未變更為 DELETE_COMPLETE,請在 AWS Health 儀表板中檢查是否有作業問題。

相關資訊

為什麼我的 CloudFormation 堆疊卡在 IN_PROGRESS 狀態?

使用巢狀堆疊將範本拆分為可重複使用的組件

更新復原失敗