StackSet 削除時のスタック保持設定の確認

StackSet の削除時に、関連するスタックも削除するか明示的に判断してください。

説明

StackSet の削除時に purge_stacks が true なら、関連するスタックも削除します。複数のアカウントやリージョンのリソースに影響するため、残すべきスタックまで削除するとサービス停止やデータ損失につながるおそれがあります。

このモジュールの purge_stacks は state が absent の削除処理に適用されます。false では StackSet を削除してスタックを残しますが、残ったスタックはその StackSet では管理されなくなります。保持はバックアップや別経路からの削除防止の代わりにはなりません。

想定される影響

  • 複数の場所のスタックをまとめて削除すると、サービスや保存データに影響する可能性があります。
  • 保持したスタックを別途管理しないと、費用や運用責任が見落とされるおそれがあります。

対処方法

削除対象の StackSet と、すべてのスタックのアカウント・リージョン・依存関係を確認してください。スタックを残す必要がある場合は、削除タスクに purge_stacks: false を明示してください。リソースの削除ポリシーとバックアップを確認し、処理後の保持状態と継続的な管理責任を確認してください。完全な削除が目的の場合も、意図した削除範囲を先に検証してください。

例

既存の StackSet を意図的に削除する操作の比較です。my-stack を実際の対象名に置き換え、実行するアカウントとリージョンを確認してください。どちらも StackSet 自体を削除するため、作成タスクとして使用しないでください。

変更前

yaml
- name: Remove a StackSet and its stacks
  community.aws.cloudformation_stack_set:
    name: my-stack
    state: absent
    purge_stacks: true

StackSet と関連するスタックを削除します。実際のリソースの削除・保持には、各スタックの削除ポリシーも影響します。

変更後

yaml
- name: Remove a StackSet while retaining its stacks
  community.aws.cloudformation_stack_set:
    name: my-stack
    state: absent
    purge_stacks: false

StackSet を削除し、関連するスタックを保持します。残ったスタックの状態、管理主体、費用を確認してください。

参考資料