Firebase Summit で発表されたすべての情報をご覧ください。Firebase を使用してアプリ開発を加速し、自信を持ってアプリを実行する方法を紹介しています。詳細

自動バックアップ

コレクションでコンテンツを整理 必要に応じて、コンテンツの保存と分類を行います。

Blazeプランのユーザーは、自動バックアップ用に Firebase Realtime Database を設定できます。これは、データベース アプリケーション データとルールを JSON 形式でCloud Storageバケットに毎日バックアップできるセルフサービス機能です。

設定

開始するには、Firebase コンソールの [データベース] セクションにある[バックアップ] タブにアクセスしてください。ウィザードに従って、自動バックアップを設定してください。

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

手動バックアップを開始できる Firebase コンソールで、ステータスとバックアップ アクティビティを直接表示できます。これは、特定の時間のスナップショットを作成する場合や、コードを変更する前の安全対策として役立ちます。

セットアップが完了すると、Firebase のWRITER 権限を持つ新しい Cloud Storage バケットが作成されます。 Firebase へのアクセスに慣れていないこのバケットにデータを保存しないでください。 Firebase は、他の Cloud Storage バケットや Google Cloud の他の領域に追加でアクセスすることはできません。

バックアップからの復元

バックアップから Firebase を復元するには、まずファイルを Cloud Storage からローカル ディスクにダウンロードします。これは、バックアップ アクティビティ セクション内のファイル名をクリックするか、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

非常に大規模なデータベースからバックアップを復元する際に問題が発生した場合は、サポート チームにお問い合わせください。

スケジューリング

データベースのバックアップは毎日特定の時間に割り当てられ、すべてのバックアップの顧客に均等な負荷と最高の可用性を保証します。このスケジュールされたバックアップは、1 日を通して手動バックアップを実行するかどうかに関係なく実行されます。

ファイルの命名

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

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

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

Gzip 圧縮

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

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

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

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

Cloud Storage バケットのデフォルトの 30 日間のオブジェクト ライフサイクル ポリシーを有効にする、使いやすい構成スイッチを提供します。有効にすると、バケット内のファイルは 30 日後に自動的に削除されます。これにより、不要な古いバックアップを減らし、ストレージ コストを節約し、バケット ディレクトリをクリーンに保つことができます。他のファイルを自動バックアップ バケットに配置すると、それらも同じポリシーで削除されます。

費用

Blazeプランのプロジェクトでは、バックアップ機能を追加料金なしで有効にすることができます。ただし、Cloud Storage バケットに配置されたバックアップ ファイルについては、標準料金が請求されます。 Gzip 圧縮ストレージの 30 日ライフサイクルを有効にして、ストレージ コストを削減できます。