みーのぺーじ

みーが趣味でやっているPCやソフトウェアについて.Python, Javascript, Processing, Unityなど.

Terraform で GCS Bucket を削除するのに苦労した

Google Cloud Storage (GCS) の,とある Bucket を Terraform で管理していたのですが,不要になったので削除することにしました.何も考えずに google_storage_bucket を tf ファイルから削除して,terraform apply を実行しましたが,以下のようなエラーメッセージが表示されました.

Error trying to delete bucket [bucket name] containing objects without force_destroy set to true

Bucket が削除できず困りましたが,Terraform のドキュメントを落ち着いて読むと,「事前に中身を空にしてから terraform apply を実行せよ」と書いてありました.

force_destroy - (Optional, Default: false) When deleting a bucket, this boolean option will delete all contained objects. If you try to delete a bucket that contains objects, Terraform will fail that run. *1

もちろん force_destroytrue に指定して,terraform apply を実行した後に, google_storage_bucket を tf ファイルから削除してもう一度 terraform apply を実行してもよさそうです.

結局,中身を手動で削除してから terraform apply を実行したところ,bucket は削除されました.データを削除する際の安全装置だと思われますが,少しコツが必要でした.