このページでは、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