Site icon Mr. 沙先生

CloudFormation DeletionPolicy 的使用時機與技巧

前陣子常常在解釋 CloudFormation DeletionPolicy 的用途,發現大家在寫 CloudFormation 時除了 Resource 以外的參數都很少會去用到,但實際上 DeletionPolicy 卻能讓管理上帶來更多的保護與方便,這篇會解釋一下 DeletionPolicy 可以怎麼用。

本文內容實際以 AWS DeletionPolicy Attribute 為主

基本上 DeletionPolicy 主要功能就是在「Delete Resource」時會發生,其 DeletionPolicy 參數有幾種適用情況

DeletionPolicy: Delete (預設)

不指定 DeletionPolicy 的情況下預設是 Delete,也就是會真的刪除 Resource

使用情境:(預設) 當 CloudFormation 不存在此 Resource 就刪除 Resource。

對於一些重要的 Resource 不適合使用 Delete 多為含有「資料」:

DeletionPolicy: Retain

Retain 本身是為了修正或補救 CloudFormation 與真實 Resource 產生差異時的參數,當該 Resource Delete 時,並不會真實的刪除 Resource 只會把 CloudFormation Resource 刪掉,通常是 CloudFormation 發生 drift 與 Resource 不一致的情況。

使用情境:

DeletionPolicy: Snapshot

Snapshot 對於一些會含有「資料」的重要服務支援的參數,當指定為 Snapshot 時被 Delete 後會自動產生 Snapshot。

使用情境:Resource 可以被刪除,但需要保留 Snapshot 備份

Snapshot 僅支援以下 Resource 可以使用:

Exit mobile version