このページでは、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
test-instance
という名前のインスタンスとexample-db
という名前のデータベースがある。
-
バックアップからデータベースを復元するために必要な権限を取得するには、インスタンスに対する Cloud Spanner 復元管理者(
roles/spanner.restoreAdmin
)IAM ロールを付与するよう管理者に依頼してください。
バックアップからデータベースを復元する
コンソール
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