このページでは、Spanner の復元オペレーションとデータベースの復元方法について説明します。Spanner でのデータベースの復元の詳細については、復元の概要をご覧ください。
Spanner データベースは、次の方法で復元できます。
始める前に
このページの gcloud CLI の例では、次のことを前提としています。
- Spanner で使用する gcloud CLI をすでに設定している。Spanner で Google Cloud CLI を初めて使用する場合は、Google Cloud CLI を使用した Spanner のスタートガイドをご覧ください。
- プロジェクトで Google Cloud CLI を構成している。次に例を示します。
gcloud config set core/project PROJECT_ID
* You have an instance named `test-instance` and a database named `example-db`.-
バックアップからデータベースを復元するために必要な権限を取得するには、インスタンスに対する次の IAM ロールの付与を管理者に依頼してください。
-
すべて:
Cloud Spanner 復元管理者 (
roles/spanner.restoreAdmin)
-
すべて:
Cloud Spanner 復元管理者 (
バックアップからデータベースを復元する
コンソール
- Google Cloud コンソールの [Spanner インスタンス] ページに移動します。
データベースが含まれているインスタンスをクリックして、[概要] ページを開きます。
データベースをクリックして [概要] ページを開きます。
ナビゲーション パネルで [バックアップ / 復元] をクリックします。
選択したバックアップの [アクション] ボタンをクリックし、[復元] を選択します。
フォームに入力し、[復元] ボタンをクリックします。
オペレーションの進行状況は、オペレーション ページに表示される進行状況インジケーターで確認できます。
オペレーションに時間がかかりすぎる場合はキャンセルできます。詳細については、長時間実行インスタンス オペレーションをキャンセルするをご覧ください。
gcloud
データベースを復元するには、gcloud spanner
databases restore を使用します。
gcloud spanner databases restore --async \
--destination-instance=test-instance --destination-database=example-db-restored \
--source-instance=test-instance --source-backup=example-db-backup-6 \
--encryption_type=google-managed-encryption使用上の注意:
- このコマンドは
--asyncフラグが指定されているためすぐに戻ります。フラグが指定されていない場合、このコマンドは復元オペレーションが完了するまで待機します。 - ソースと宛先のインスタンスが異なる場合は、同じインスタンス構成にする必要があります。
- 宛先にデータベースがすでに存在する場合、オペレーションは失敗します。
encryption_typeで使用できる値は、USE_DATABASE_ENCRYPTION、GOOGLE_DEFAULT_ENCRYPTION、CUSTOMER_MANAGED_ENCRYPTIONです。CUSTOMER_MANAGED_ENCRYPTIONを使用する場合は、kmsKeyNameを指定する必要があります。
クライアント ライブラリ
次のコードサンプルでは、指定されたバックアップからデータベースを復元しますが、復元オペレーション(RestoreDatabaseMetadata によるオペレーション)が完了するまで待機します。復元されたデータベースは、バックアップと同じインスタンス内に作成されます。完了すると、サンプルはデータベースからいくつかの復元情報を取得して表示します。
C++
C#
Go
Java
Node.js
PHP
Python
Ruby