這也是最近被問到的一個冷知識,在 CloudFormation 建立 Stack 發生錯誤時可以有對應的動作,AWS CLI 在 –on-failure 的參數有三個選項:
- DO_NOTHING
- ROLLBACK
- DELETE
DO_NOTHING
沒什麼好講的,遇到錯誤就什麼也不做,必須手動介入當下的狀態。ROLLBACK
和 DELETE
這兩個就有點像了,文件上沒有講得太清楚。
- ROLLBACK
假設 CloudFormation 建立到一半時發生錯誤,CloudFormation 會將執行期間建立的所有 Resources 全部刪除,Stack 狀態會保留。
- DELETE
所有步驟和 ROLLBACK 一樣,但不同的是 DELETE 會將 Stack 刪除。
所以當選擇 DELETE 時,遇到錯誤會先 ROLLBACK 後再 DELETE Stack。