説明
retain_stackは、TerraformでStackSetインスタンスを削除する際に、スタックとそのリソースを残すか指定します。保持したスタックは残りますが、StackSetの管理から外れます。
想定される影響
残すべきスタックを削除すると、サービスやデータに影響するおそれがあります。一方、保持したスタックは別途管理する必要があります。
対処方法
スタックを残す場合は、インスタンスを削除する前にretain_stack = trueを適用し、Terraformの状態に保存してください。保持後の管理者と削除手順も決めてください。
例
以下は、スタックの保持設定だけを変更する例です。リソースを削除する変更とは分けて、保持設定を先に適用してください。
変更前
hcl
resource "aws_cloudformation_stack_set_instance" "example" {
account_id = "123456789012"
region = "us-east-1"
stack_set_name = aws_cloudformation_stack_set.example.name
retain_stack = false
}
変更後
hcl
resource "aws_cloudformation_stack_set_instance" "example" {
account_id = "123456789012"
region = "us-east-1"
stack_set_name = aws_cloudformation_stack_set.example.name
retain_stack = true
}