このページでは、Spanner データベースのバックアップを作成する方法について説明します。
バックアップの詳細については、バックアップの概要をご覧ください。データベースのバックアップは、次の方法で行うことができます。
始める前に
-
バックアップの作成に必要な権限を取得するには、インスタンスに対する次の IAM ロールを付与するよう管理者に依頼してください。
-
バックアップの作成、表示、更新、削除: Cloud Spanner バックアップ管理者(
roles/spanner.backupAdmin
) -
バックアップを作成して表示する: Cloud Spanner バックアップ書き込み (
roles/spanner.backupWriter
)
-
バックアップの作成、表示、更新、削除: Cloud Spanner バックアップ管理者(
このページの gcloud CLI の例では、次のことを前提としています。
- Spanner で使用する gcloud CLI をすでに設定している。Spanner で gcloud CLI を初めて使用する場合は、gcloud CLI を使用してデータベースを作成してクエリを実行するをご覧ください。
プロジェクトで gcloud CLI を構成している。例:
gcloud config set core/project PROJECT_ID
バックアップの作成
バックアップを作成すると、Spanner はバックアップの進行状況を追跡するためにバックアップ リソースと長時間実行バックアップ オペレーションを作成します。新しく作成されたバックアップは、ソース データベースと同じインスタンス、リージョン、プロジェクトに配置されます。
バックアップを作成するときに、次の情報を指定する必要があります。
- ソース データベース ID。
- バックアップ リソースの名前。
- 有効期限(バックアップの作成時から最長 1 年)。
必要に応じて、ソース データベースに versionTime
を指定することもできます。これにより、データベースを以前の時点にバックアップできます。versionTime
フィールドは通常、複数のデータベースのバックアップを同期させる、またはポイントインタイム リカバリ(PITR)を使用してデータを復元する目的に使用されます。versionTime
が指定されていない場合、バックアップの createTime
に設定されます。
バックアップ スケジュールを使用して、指定した頻度でバックアップを作成することもできます。詳細については、バックアップ スケジュールを作成、管理するをご覧ください。
Console
Google Cloud コンソールで、Spanner [インスタンス] ページに移動します。
バックアップするデータベースを含むインスタンスをクリックします。
データベースをクリックします。
ナビゲーション パネルで [バックアップ / 復元] をクリックします。
[バックアップ] タブで、[バックアップの作成] をクリックします。
フォームに記入し、[作成] をクリックします。
バックアップ オペレーションの進行状況を確認するには、オペレーションの進行状況を確認するをご覧ください。
gcloud
後述のコマンドデータを使用する前に、次のように置き換えます。
- INSTANCE_ID: Spanner インスタンス ID。
- DATABASE_ID: Spanner データベース ID。
- BACKUP_NAME: Spanner バックアップ名。
-
RETENTION_PERIOD: 作成されたバックアップの保持期間。たとえば、保持期間を 1 日にする場合は、
86400s
を使用します。 -
ENCRYPTION_TYPE: 作成されたバックアップの暗号化タイプ。有効な値は
USE_CONFIG_DEFAULT_OR_BACKUP_ENCRYPTION
、GOOGLE_DEFAULT_ENCRYPTION
、またはCUSTOMER_MANAGED_ENCRYPTION
ですCUSTOMER_MANAGED_ENCRYPTION
を使用する場合は、kmsKeyName
を指定する必要があります。
次のコマンドを実行します。
Linux、macOS、Cloud Shell
gcloud spanner backups create BACKUP_NAME\ --instance=INSTANCE_ID\ --database=DATABASE_ID\ --retention-period=RETENTION_PERIOD\ --encryption-type=ENCRYPTION_TYPE\ --async
Windows(PowerShell)
gcloud spanner backups create BACKUP_NAME` --instance=INSTANCE_ID` --database=DATABASE_ID` --retention-period=RETENTION_PERIOD` --encryption-type=ENCRYPTION_TYPE` --async
Windows(cmd.exe)
gcloud spanner backups create BACKUP_NAME^ --instance=INSTANCE_ID^ --database=DATABASE_ID^ --retention-period=RETENTION_PERIOD^ --encryption-type=ENCRYPTION_TYPE^ --async
次のようなレスポンスが返されます。
Create request issued for: BACKUP_NAME Check operation [projects/PROJECT_ID/instances/INSTANCE_ID/backups/BACKUP_NAME/operations/_auto_op_234567] for status.
使用上の注意:
- バックアップの有効期限を設定するには、
--retention-period
または--expiration-date
フラグを指定します。日付の構文の詳細については、gcloud topic datetimes
をご覧ください。 - バックアップの名前はインスタンス内で一意にする必要があります。
- このコマンドは、
--async
フラグが指定されているためすぐに戻ります。フラグを指定しなければ、このコマンドはバックアップ オペレーションが完了するまで待機します。 - コマンドのヘルプを表示するには、
--help
フラグを指定します。
バックアップ オペレーションの進行状況を確認するには、オペレーションの進行状況を確認するをご覧ください。
クライアント ライブラリ
次のコードサンプルは、特定の version_time
にバックアップを作成し、完了するまで待ちます。完了すると、バックアップの準備ができていることを確認し、名前、サイズ、作成日時などの情報を取得します。
C++
C#
Go
Java
Node.js
PHP
Python
Ruby
次のステップ
バックアップの詳細については、バックアップの概要をご覧ください。
バックアップを管理するには、バックアップを管理するをご覧ください。