1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【Google Cloud】GCS(Google Cloud Storage) ソフト削除をフォルダ単位で無効化する

Posted at

概要

Cloud Storage のソフト削除機能を組織やフォルダ全体のプロジェクトを対象に無効化する手順を記載します。

プロジェクト単位で無効化する

プロジェクト単位のソフト削除の無効化は、管理コンソールやgcloudコマンドで可能です。

gcloudコマンドを使う場合は、以下のようになります。
--project hoge-project は環境に合わせて変更)

$ gcloud storage buckets update --clear-soft-delete 'gs://*' --project hoge-project

組織単位・フォルダ単位で無効化する

公式の手順では、プロジェクト単位での操作は記載がありましたが、組織やフォルダなどの広いスコープを対象にした手順は探した限りありませんでした。
そのため、シェルで一括実行する手順をとりました。

まず、対象のプロジェクトを精査します。
(対象に含みたくないものもあるため、事前にリストを作る手順となっています)

PARENT_ID には、任意のフォルダIDが入ります。
組織全体のプロジェクトを取得したい場合は、--filterなしで実行すれば全てが対象になります。

$ PARENT_ID=123456
$ gcloud projects list --filter="parent.id: ${PARENT_ID}" --format json | jq -r '.[].projectId' | sort > project-list.txt
$ cat project-list.txt
hoge-project
fuga-project
piyo-project

参考情報

作成したリストとxargsコマンドにより、ソフト削除の無効化を一括適用します。

一括適用の際は、以下に注意してください。

  • 対象にするプロジェクトが正しいかリストを確認する
  • コマンドが正しいか確認する(リストを編集し、事前に1プロジェクトのみで試すと確実です)
$ cat project-list.txt | xargs -I{} gcloud storage buckets update --clear-soft-delete 'gs://*' --project {}

まとめ

ソフト削除の無効化にあたり公式の手順を調べていましたが、フォルダや組織単位で実行する手順がなかったので今回まとめてみました。
公式の手順でもっとスマートに実現できる方法があるかもしれませんので、もしあればそちらがいいかと思います。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?