hiko1129's note

Cloud Storageオブジェクト復旧手順備忘録

2019/11/17

バージョニングされているかの確認

まず下記コマンドでバージョニングが動いている確認

gsutil versioning get gs://hogehoge

Enabledってなっているときはまだ慌てる時間じゃない。Enabledになっていなかったら(復元できないので)もう終わりです🙏

やらかしたオブジェクトのバージョン一覧の確認

gsutil ls -a gs://hogehoge/fugafuga.json

上記コマンドを実行すると、下記のようにバージョン一覧が表示されます。

gs://hogehoge/fugafuga.json#1573723689116760
gs://hogehoge/fugafuga.json#1573725428873402

中身の確認

見たいバージョン(やらかしたであろう時のもの)を選択してcatで中身の確認ができます。

gsutil cat gs://hogehoge/fugafuga.json#1573723689116760

復元

中身が問題ないようであればバージョン情報つきのものを現在のものにコピーします。

gsutil cp gs://hogehoge/fugafuga.json#1573723689116760 gs://hogehoge/fugafuga.json

これで復元完了です。

終わりに

Terraform+Cloud Storageの構成で盛大にやらかしたときも、上記手順をやることになると思います。
自分は、ステージングのインフラ変更を開発環境側のstateに書き込んでしまったときにこの手順で直してました。


hiko1129

hiko1129
Twitter GitHub Qiita Qrunch Blog