Cloud Firestore(ベータ版)の発表: Firebase と Google Cloud Platform から新しいスケーラブルで、フレキシブルなデータベースを利用できるようになりました。詳しくは、Cloud Firestore のドキュメントをご覧ください。

自動バックアップ

Blaze プランのお客様は Firebase Realtime Database の自動バックアップ機能をご利用いただけます。これはセルフサービス機能の 1 つで、データベース アプリケーションのデータとルールを JSON 形式で Google Cloud Storage バケットに毎日バックアップできます。

設定

手順を開始するには、Firebase コンソールの [Database] セクションの [バックアップ] タブに移動します。ウィザードのガイドで自動バックアップをセットアップします。

ストレージ コストを節約するため、デフォルトでは Gzip 圧縮が有効になっています。また、バケットに対して 30 日ライフサイクル ポリシーを有効にして、30 日以上経過したバックアップが自動的に削除されるようにすることもできます。

Firebase コンソールでは、ステータスとバックアップ アクティビティを直接確認できます。また、手動バックアップを開始することもできます。これは、特定の時刻指定スナップショットを取る場合やコード変更を実行する前の安全動作として役に立つ場合があります。

設定後は、新しい Google Cloud Storage バケットが Firebase に対する書き込み権限付きで作成されます。このバケットには Firebase からアクセスされるべきではないデータを保存しないでください。Firebase には、他の Google Cloud Storage バケットや Google Cloud の他の領域に対する追加のアクセス権がありません。

バックアップからの復元

バックアップから Firebase を復元するには、まず、Google Cloud Storage からローカル ディスクにファイルをダウンロードします。この操作は、バックアップ アクティビティ セクション内でファイル名をクリックすることで行えます。または、Google Cloud Storage バケット インターフェースから行うこともできます。ファイルが Gzip 圧縮されている場合は、まずファイルを解凍します。

データをインポートするには 2 つの方法があります。

方法 1: 対象データベースの [データ] セクションで [JSON をインポート] ボタンをクリックして、アプリケーション データ JSON ファイルを選択します。

方法 2: コマンドラインから CURL リクエストを発行することもできます。

まず、Firebase からシークレットを取得します。これは、[データベース設定] ページにアクセスすれば取得できます。

次に、次の式を端末に入力します。DATABASE_NAME フィールドと SECRET フィールドは独自の値に置き換えてください。

curl 'https://<DATABASE_NAME>.firebaseio.com/.json?auth=<SECRET>&print=silent' -x PUT -d @<DATABASE_NAME>.json

非常に大きなデータベースからのバックアップの復元で問題が発生した場合は、サポートチームに連絡してください。

スケジュール

負荷が均等に分散され、バックアップをご利用になるすべてのユーザーにとって可用性が最大となるよう、特定の時刻がお客様のデータベース バックアップに割り当てられ、毎日自動的に実行されます。このスケジュールされたバックアップは、その日に手動バックアップが行われたかどうかに関係なく行われます。

ファイルの命名

Google Cloud Storage バケットに転送されたファイルには、次の命名規則を使用してタイムスタンプ(ISO 8601 標準)が付けられます。

  • データベース データ: YYYY-MM-DDTHH:MM:SSZ_<DATABASE_NAME>_data.json
  • データベース ルール: YYYY-MM-DDTHH:MM:SSZ_<DATABASE_NAME>_rules.json

Gzip が有効になっている場合は、ファイル名の末尾に .gz が付加されます。Google Cloud Storage プレフィックス検索を使用すれば、特定の日付または時刻のバックアップを簡単に見つけることができます。

Gzip 圧縮

ストレージ コストを節約し、転送時間を短縮するため、デフォルトではバックアップ ファイルは Gzip 圧縮されます。圧縮後のファイルサイズはデータベースのデータ特性によって異なりますが、標準的なデータベースは元のサイズの 1/3 に縮小されるため、ストレージ コストを削減でき、バックアップのアップロード時間が短縮されます。

Gzip 圧縮した JSON ファイルを解凍するには、デフォルトで OS-X やほとんどの Linux ディストリビューションに付属している gunzip バイナリを使用してコマンドライン コマンドを発行します。

gunzip <DATABASE_NAME>.json.gz  # Will unzip to <DATABASE_NAME>.json

30 日のストレージ ライフサイクル

Google Cloud Storage バケットのデフォルトの 30 日オブジェクト ライフサイクル ポリシーを簡単に有効にする構成スイッチをご利用いただけます。有効になっている場合は、バケット内のファイルが 30 日後に自動的に削除されます。これにより、不要になった古いバックアップが削減されるため、ストレージ コストが節約され、バケット ディレクトリが整頓された状態に維持されます。他のファイルを自動バックアップ バケットに配置すると、それらも同じポリシーを使って削除されます。

料金

バックアップ機能は Blaze プランのお客様に追加料金なしでご利用いただけます。ただし、Google Cloud Storage バケットに配置されたバックアップ ファイルに対しては標準料金が請求されます。Gzip 圧縮30 日のストレージ ライフサイクルを有効にすることで、ストレージ コストを節約できます。

フィードバックを送信...

Firebase Realtime Database
ご不明な点がありましたら、Google のサポートページをご覧ください。