新しいデータベースに 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