

# CloudFormation スタックの削除を防止する
<a name="using-cfn-protect-stacks"></a>

スタックの削除保護を有効にして、スタックが誤って削除されるのを防ぐことができます。削除保護を有効にした状態でスタックを削除しようとすると、削除は失敗し、ステータスを含め、スタックが変更されることはありません。終了保護は、スタック作成時に有効にすることができます。デフォルトでは、スタックの削除保護は無効です。スタックの削除保護は、任意のステータスで設定できます ([`DELETE_IN_PROGRESS`] または [`DELETE_COMPLETE`] を除く)。

スタックで削除保護を有効または無効にすると、そのスタックに属するネストされたスタックにも同じ選択が適用されます。ネストされたスタックの削除保護を直接有効または無効にすることはできません。削除保護が有効になっているスタックに属するネストされたスタックを直接削除しようとすると、そのオペレーションは失敗し、ネストされたスタックは変更されません。

ただし、ネストされたスタックが削除されるスタック更新を行うと、CloudFormation は状況に応じて、ネストされたスタックを削除します。

削除保護は、ロールバックの無効化とは異なります。削除保護がスタックの削除の試行に適用されるのに対し、ロールバックの無効化は、スタックの作成に失敗した際の自動ロールバックに適用されます。

**スタック作成時に削除保護を有効にするには**  
**[Create stack]** (スタックの作成) ウィザードの **[Specify stack options]** (スタックオプションの指定) ページの **[Advanced options]** (詳細オプション) で、**[Termination Protection]** (削除保護) セクションを展開し、**[Enable]** (有効化) を選択します。詳細については、「[スタックオプションを設定する](cfn-console-create-stack.md#configure-stack-options)」を参照してください。

**既存のスタックの削除保護を有効または無効にするには**

1. AWS マネジメントコンソール にサインインし、CloudFormation コンソール ([https://console.aws.amazon.com/cloudformation](https://console.aws.amazon.com/cloudformation/)) を開きます。

1. 画面上部にあるナビゲーションバーで、AWS リージョン を選択します。

1. 変更するスタックを選択します。
**注記**  
スタック名の横に [**ネスト**] と表示されている場合、そのスタックは、ネストされたスタックです。ネストされたスタックが属するルートスタックの削除保護のみ変更することができます。

1. スタックの詳細ペインで、[**Stack actions (スタックアクション)**]、[**Edit termination protection (削除保護の編集)**] の順に選択します。

   CloudFormation によって、[**Edit termination protection**] (削除保護の編集) ダイアログボックスが表示されます。

1. [**有効化**] または [**無効化**] を選択し、[**保存**] を選択します。

**ネストされたスタックの削除保護を有効または無効にするには**

スタック名の横に [**ネスト**] と表示されている場合、そのスタックは、ネストされたスタックです。ネストされたスタックが属するルートスタックの削除保護のみ変更することができます。ルートスタックの削除保護を変更するには

1. AWS マネジメントコンソール にサインインし、CloudFormation コンソール ([https://console.aws.amazon.com/cloudformation](https://console.aws.amazon.com/cloudformation/)) を開きます。

1. 画面上部にあるナビゲーションバーで、AWS リージョン を選択します。

1. 変更するネストされたスタックを選択します。

1. [**Stack info (スタック情報)**] ペインの [**概要**] セクションで、[**ルートスタック**] としてリストされているスタック名を選択します。

   CloudFormation により、ルートスタックのスタックの詳細が表示されます。

1. [**Stack actions (スタックアクション)**]を選択し、[**Edit Termination Protection (削除保護の編集)**] を選択します。

   CloudFormation によって、[**Edit termination protection**] (削除保護の編集) ダイアログボックスが表示されます。

1. [**有効化**] または [**無効化**] を選択し、[**保存**] を選択します。

**コマンドラインを使用して終了保護を有効または無効にするには**  
[https://docs.aws.amazon.com/cli/latest/reference/cloudformation/update-termination-protection.html](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/update-termination-protection.html) コマンドを使用します。

## スタックの削除保護を変更するユーザーの制御
<a name="protect-stacks-perms"></a>

スタックの削除保護を有効または無効にするには、`cloudformation:UpdateTerminationProtection` アクションの権限が必要です。たとえば、以下のポリシーでは、ユーザーは、スタックの削除保護を有効または無効にすることができます。

CloudFormation でアクセス許可を指定する方法については、「[AWS Identity and Access Management で CloudFormation アクセスを制御する](control-access-with-iam.md)」を参照してください。

**Example スタックの削除保護を変更するアクセス許可を付与するサンプルポリシー。**    
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement":[{
        "Effect":"Allow",
        "Action":[
            "cloudformation:UpdateTerminationProtection"
        ],
        "Resource":"*"
    }]
}
```