Spanner Omni バックアップを復元する

新しいデータベースに Spanner Omni データベースのバックアップを復元できます。復元されたデータベースには、バックアップの versionTime にある元のデータベースのすべてのデータとスキーマ情報が含まれます。ALTER DATABASE SET OPTIONS コマンドで設定したすべてのデータベース オプションも含まれます。

復元されたデータベースには、次の項目は含まれません。

  • IAM 権限。復元が完了したら、適切な IAM 権限を適用する必要があります。

  • 変更ストリームの内部データ。

  • 行削除ポリシーで定義された有効期間(TTL)。これらのポリシーは、復元が完了した後に再構成する必要があります。

  • データベースの事前分割時に作成した分割ポイント。

復元の仕組み

Spanner Omni データベースを復元する場合は、ソース バックアップと新しいターゲット データベースを指定する必要があります。既存のデータベースに復元することはできません。

復元プロセスは高可用性を提供します。ターゲット内のリージョンとゾーンのクォーラムの大部分が使用可能であれば、データベースを復元できます。

復元の状態

復元されたデータベースは、2 つの長時間実行オペレーションによって追跡される 3 つの状態に順次移行します。

状態 説明
CREATING Spanner Omni は、新しいデータベースを作成し、バックアップからファイルをマウントすることによって、復元を開始します。この状態では、復元されたデータベースはまだ使用できません。完了すると、データベースを使用できるようになります。

注: Spanner Omni では、復元中のバックアップは削除できません。削除できるのは、復元が完了してデータベースが READY 状態になってからです。
READY_OPTIMIZING バックアップをマウントすると、Spanner Omni は保存サイズを最適化しながら、新しいデータベースへのデータのコピーを開始します。このプロセスでデータベースの使用準備が完了します。

注意点:
  • 読み取りレイテンシが通常よりも若干高くなる場合があります。
  • ストレージ指標には、バックアップではなく、新しいデータベースのサイズが表示されます。転送中に、すべてのデータの合計サイズが結果に反映されないことがあります。
  • この状態では、マウントされたバックアップを削除できません。
READY コピーと最適化のオペレーションが完了すると、データベースは READY 状態に移行します。データベースが完全に復元され、バックアップが不要になります。

CREATING 状態の進行状況を追跡するには、長時間実行復元オペレーションをクエリします。これにより、RestoreDatabaseMetadata オブジェクトが返されます。READY_OPTIMIZING 状態では、オペレーションは OptimizeRestoredDatabaseMetadata オブジェクトを返します。

アクセス制御(IAM)

次のロールは、Spanner Omni の復元オペレーションに必要な権限を提供します。

IAM ロール 権限
roles/spanner.restoreAdmin バックアップから復元する権限。
roles/spanner.admin 復元オペレーションと他のすべての Spanner Omni リソースに対する完全アクセス権。
owner 復元オペレーションに対する完全アクセス権。
editor 復元オペレーションに対する完全アクセス権。
viewer 復元オペレーションを表示する権限。バックアップの作成、更新、削除、コピーはできません。

バックアップからデータベースを復元する

データベースを復元するには、spanner databases restore コマンドを使用します。

spanner databases restore \
  --destination-database=RESTORE_DATABASE_NAME \
  --source-backup=BACKUP_NAME \
  --async