あめがえるのITブログ

頑張りすぎない。ほどほどに頑張るブログ。

terraformでS3バケットを消す際空っぽでないとエラーが出るのがうざい件


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時点で設定していないと当然エラーになるので注意。


感想

なんだかな。