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

1 分的閱讀內容
0

我的 AWS CloudFormation 堆疊停滯在 CREATE_IN_PROGRESS、UPDATE_IN_PROGRESS、UPDATE_ROLLBACK_IN_PROGRESS 或 DELETE_IN_PROGRESS 狀態。

簡短描述

在大多數情況下,您必須等待 CloudFormation 堆疊逾時。逾時長度會有所不同,並且會根據 CloudFormation 等待以達到想要狀態的個別資源穩定要求而定。

您可以控制堆疊逾時,並使用回復觸發器來控制 CloudFormation 等待的時間長度。如需有關回復觸發器的詳細資訊,請參閱使用 AWS CloudFormation 堆疊終止保護和回復觸發器來維護基礎架構可用性

解決方法

確認停滯的資源

1.    開啟 CloudFormation 主控台

2.    在導覽窗格中,選擇堆疊,然後選取處於停滯狀態的堆疊。

3.    選擇資源標籤。

4.    在資源區段中,請參閱狀態資料欄。尋找任何停滯於建立、更新或刪除程序中的資源。
**注意:**這些資源可能處於 CREATE_IN_PROGRESS、UPDATE_IN_PROGRESS 或 DELETE_IN_PROGRESS 狀態。

5.    在 AWS 管理主控台中,檢查您的資源以取得與您資源相對應的服務。
**注意:**主控台會取決於停滯的資源而有所不同。例如,如果 Amazon Elastic Container Service (Amazon ECS) 服務停滯於建立狀態,請在 Amazon ECS 主控台中檢查該資源。

檢查 AWS CloudTrail 日誌

如果資源在對應的主控台中沒有顯示任何錯誤,請使用 AWS CloudTrail 日誌來對問題進行疑難排解。如需有關檢視 CloudTrail 日誌的詳細資訊,請參閱使用 CloudTrail 事件歷史記錄檢視事件

1.    開啟 CloudFormation 主控台

2.    在導覽窗格中,選擇堆疊,然後選取處於停滯狀態的堆疊。

3.    選擇資源標籤。

4.    在資源區段中,請參閱狀態資料欄。尋找任何停滯於建立、更新或刪除程序中的資源。
**注意:**這些資源可能處於 CREATE_IN_PROGRESS、UPDATE_IN_PROGRESS 或 DELETE_IN_PROGRESS 狀態。

5.    選擇事件索引標籤,然後記下 CloudFormation 起始建立該停滯資源時的時間戳記。

6.    開啟 CloudTrail 主控台

7.    在導覽窗格中,選擇事件歷史記錄

8.    對於時間範圍,輸入您在開始時間 (起始) 的步驟 5 中記下的時間戳記的日期和時間。對於結束時間 (終止),輸入超過開始時間五分鐘的日期和時間。
注意:例如,假設 CloudFormation 在 2020-01-01 上午 9:00 起始建立您的停滯資源。在這種情況下,請輸入 2020-01-01上午 09:00 作為開始時間,而 2020-01-01上午 9:05 則作為結束時間。

9.    選擇套用

10.    在傳回的事件清單中,找到與資源的建立或更新 API 呼叫相關的 API 呼叫。例如,您可以找到適用於 Amazon Elastic Block Store (Amazon EBS) 磁碟區更新的 ModifyVolume
**提示:**等待幾分鐘以便 API 呼叫顯示在 CloudTrail 日誌中。API 呼叫並非一律會立即出現在日誌中。

略過逾時

堆疊可能會停滯有多種原因。因此,解決方案會取決於停滯的資源而有所不同。在某些情況下,您可以略過逾時,以快速解決堆疊的狀態。例如,您也許可以略過自訂資源和 Amazon ECS 服務的逾時。如需詳細資訊,請參閱下列資源:

如果堆疊停滯於 CREATE_IN_PROGRESSUPDATE_IN_PROGRESS 狀態,您可以使用堆疊操作來阻止此停滯進展:

**注意:**若要了解問題的根本原因,並在未來部署中避免這些問題,請參閱對 CloudFormation 進行疑難排解指南。


AWS 官方
AWS 官方已更新 1 年前