terraformで検証しているとS3バケットにオブジェクトがあると削除できずにエラーになるので都度GUIで削除するのが大変面倒で、調べてみたら方法があったのでやってみた。
症状
S3バケット内にオブジェクトがあると下記エラーがでる。
対策
S3バケットのコードに「force_destroy = true」を入れるといいらしい。
実践!
1.S3バケット作成
provider "aws" { region = "ap-northeast-1" } resource "aws_s3_bucket" "static_website" { bucket = "my-static-website-bucket123456789000" ## こんな感じ force_destroy = true }
# terraform plan # terraform apply
2.ファイルアップ
3.S3バケット削除
# terraform destory
※消えた!
補足
apply時点で設定していないと当然エラーになるので注意。
感想
なんだかな。