スタックの削除保護 - AWS CloudFormation

スタックの削除保護

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

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

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

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

スタック作成時に削除保護を有効にするには

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

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

  2. 変更するスタックを選択します。

    注記

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

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

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

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

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

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

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

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

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

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

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

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

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

コマンドラインを使用して終了保護を有効または無効にするには

スタックの削除保護を変更するユーザーの制御

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

AWS CloudFormation でアクセス許可を指定する方法については、「AWS Identity and Access Management によるアクセスの制御」を参照してください。

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

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