このページでは、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
次のステップ
バックアップの詳細については、バックアップの概要をご覧ください。
バックアップを管理するには、バックアップを管理するをご覧ください。