我手動刪除了由其中一個 AWS CloudFormation 堆疊建立的資源,現在我的堆疊不會更新。
簡短描述
如果您刪除 CloudFormation 堆疊所建立的資源,則堆疊無法更新,且您會收到錯誤訊息。
根據您的資源類型選擇下列其中一個解決方法:
解決方法
使用唯一名稱更新資源
如果刪除的資源支援唯一名稱,您可以手動建立資源來讓堆疊更新。不過,新資源必須與刪除的資源具有相同的名稱。例如,在變更資源名稱時,會影響 CloudFormation 處理資源的方式。這是因為 AWS Identity and Access Management (IAM) 角色是依名稱追蹤的。如果您不小心刪除了 IAM 角色,可以使用相同名稱手動重新建立角色。
若要使用唯一名稱更新 IAM 角色或任何其他資源,請完成下列步驟:
- 開啟 AWS CloudFormation 主控台。
- 選取您的堆疊,然後選擇資源檢視。
- 在實體 ID 欄中,找到您要取代為新的 IAM 角色之 IAM 角色的實體 ID。
**注意:**實體 ID 是資源的名稱。
- 建立新 IAM 角色,然後為該新角色提供您在步驟 3 中找到的相同實體 ID。
- 更新您的堆疊。
**注意:**如需詳細資訊,請參閱修改堆疊範本。
使用唯一 ID 更新資源
您無法使用唯一 ID 手動重新建立資源,例如路由表。而必須從 CloudFormation 範本中移除資源以及對該資源的任何參照。
**注意:**下列解決方案也適用於不支援唯一名稱或唯一 ID 的資源。例如,在託管區域中設定的記錄。
若要允許 CloudFormation 使用唯一 ID 重新建立路由表或任何其他資源,請完成下列步驟:
- 在 CloudFormation 範本中,移除路由表及其任何參照。
- 更新堆疊。
**注意:**CloudFormation 嘗試刪除路由表。由於資源已刪除,因此 CloudFormation 將刪除視為成功的操作。
- 將路由表以及您需要的任何其他資源或參照新增至 CloudFormation 範本。
- 再次更新您的堆疊。
**注意:**CloudFormation 會重新建立已刪除的資源。
相關資訊
AWS CloudFormation 疑難排解