LoginSignup
5
4

More than 1 year has passed since last update.

バックアップしたfirestoreをリストアする手順

Last updated at Posted at 2022-03-18

こんにちは。もぐめっとです。
image.png
最近フードかぶった状態でしか写真をとってないため深刻な自分の写真素材不足です。上は膝怪我して完治してないけどつい飛びたくなって飛んでしまったの図です。

今回はあまりやらないであろうfirestoreのリストアする手順を説明します。

詳細は下記になります。

まっさらなプロジェクトを立ててそこに対してリストアできるか検証します。

前準備

新規firebaseプロジェクトを立ててfirestoreを有効化しておきます。
image.png
image.png
image.png

また、プランをBlazeにしておきます。
image.png

次にバックアップしているファイルをダウンロードします。
Cloud Storageを見に行きますが、、、
image.png
firebaseの管理画面からはいっぺんにダウンロードする方法がありません。
いっぺんにダウンロードするにはgsutilコマンドを用いる必要があるようです。

※gsutilのインストールは下記を参照

下記のように実行してダウンロードしましょう。(今回は2022-03-17T18:00:07_91656ディレクトリを対象とした。)

gsutil -m cp -r \
  "gs://{cloud storageのバケット名}/2022-03-17T18:00:07_91656" \
  .

次にバックアップファイルをリストア用のバケットに移動させます。

今回は別プロジェクトにインポートしようとしているため、リストア用のバケットを作成します。
cloud storageでバケットを作成します。

バケットに名前をつけて続行
image.png

ロケーションタイプとロケーションを選択して続行。
ロケーションタイプは今回テスト用に一回しか使わないので最低のレイテンシでもいいとは思います。
image.png

ストレージクラスを選択して続行
image.png

アクセス制御を選択して続行
image.png

保護方法を選択して続行
image.png

バケットを作成したらバケットの詳細からフォルダをアップロードします。
image.png
image.png

いっぱいあるけどアップロードします。
image.png

ようやくこれで準備完了です。

リストア手順

Google Cloud Platform Console で Cloud Firestore の [インポート / エクスポート] ページに移動します。

[インポート]を押下します。
image.png

[参照]を押下します。
image.png

先程作ったバケット内のリストアファイル(.overall_export_metadataファイル)を選択します。
image.png
image.png
image.png

プロジェクトに問題ないか確認してからインポートします。
image.png

しばらく待ちます。
image.png

時間がかかりましたが終わりました。
image.png

すると、なんということでしょう~。あんなに空っぽだったfirestoreに
image.png

データが現れました!!
mosaic_20220318185634.png

firestoreのルールはデフォルトのままなので自分で設定するようにしましょう。

まとめ

Google Cloud Consoleを駆使することでリストアをすることができました!
バックアップはとりあえずとってるけどリストアできるかどうかはわからないというところ結構多いんじゃないかと思います。
いざというときに困らないようにバックアップを取った後にリストアできるかどうかもテストをして障害に備えておきましょう!!

最後に、ワンナイト人狼オンラインというゲームを作ってます!よかったら遊んでね!

他にもCameconOffchaといったサービスも作ってるのでよかったら使ってね!

また、チームビルディングや技術顧問、Firebaseの設計やアドバイスといったお話も受け付けてますので御用の方は弊社までお問い合わせください。

5
4
1

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
5
4