バックアップ ボルトから Cloud SQL インスタンスを復元する

ロールの付与については、プロジェクト、フォルダ、組織に対するアクセス権の管理をご覧ください。

最新のバックアップから Cloud SQL インスタンスを復元する

Cloud SQL インスタンスを復元する手順は次のとおりです。

コンソール

  1. Google Cloud コンソールで、[Vaulted backups] ページに移動します。
  • エンドユーザーには、ターゲット インスタンスが存在するプロジェクトで roles/cloudsql.admin が必要です。
  • エンドユーザーは、ソース バックアップが存在するプロジェクトで roles/backupdr.restoreUser ロールを持っている必要があります。[Vault に保存されているバックアップ] に移動 [Vault に保存されているバックアップ] ページには、バックアップ プランが適用されており、バックアップがそのプロジェクト内の Backup Vault に保存されているデータリソースのみが表示されます。
  1. 復元するバックアップを選択します。バックアップのバックアップ詳細ページまたは メニューから、[復元] を選択します。

[復元ページ] が表示されます。ここで、次の復元オプションを選択します。

  • [リソースタイプ] に Cloud SQL が事前入力されます。
  • [リソース名] で、復元する Cloud SQL インスタンスを選択します。
  • [バックアップ] をクリックすると、利用可能なすべてのバックアップが表示されるペインが開きます。復元する特定のバックアップを選択します。
  • [復元先を選択] で、Cloud SQL インスタンスを復元するプロジェクトを選択します。
  • [続行] をクリックします。
  • 次のページには、これまでの復元に関する詳細が表示され、[復元先を選択] を求めるメッセージが表示されます。次のオプションがあります。

    • 新しいインスタンスに復元: バックアップに保存されている構成に基づき新しいインスタンスが作成されます。復元の完了後にインスタンスをカスタマイズできます。小文字、数字、ハイフンを使用して新しいインスタンス ID を指定します。先頭には英字を使用してください。
    • 既存のインスタンスを上書きする: 使用可能なインスタンスのリストから、上書きする既存のインスタンスを選択します。
    • ソース インスタンスを上書きする: 現在のインスタンスが上書きされます。以前のポイントインタイム リカバリログを含め、選択したインスタンスの現在のデータがすべて上書きされます。上書きされたデータは後で復元できません。本番環境での使用は推奨されていません。

gcloud

始める前に

  1. まず、復元するバックアップを含むデータソースを見つける必要があります。データソースは、Cloud SQL インスタンス プロジェクトまたはバックアップ ボルト プロジェクトから確認できます。

    • Cloud SQL インスタンス プロジェクトから: data-source-reference を使用する
    gcloud alpha backup-dr data-source-references fetch-for-resource-type sqladmin.googleapis.com/Instance \
    --location=LOCATION \
    --project=CSQL_INSTANCE_PROJECT_ID \
    --filter='dataSourceGcpResourceInfo.cloudSqlInstanceProperties.name="projects/CSQL_INSTANCE_PROJECT_ID/instances/CSQL_INSTANCE_ID"' \
    --format="table(RESOURCE_NAME,DATA_SOURCE)"
    

    次のように置き換えます。

    + LOCATION: the location of the backup vault.
    + CSQL_INSTANCE_ID: the database name of the Cloud SQL instance.
    + CSQL_INSTANCE_PROJECT_ID: the project containing the Cloud SQL instance.
    
    • バックアップ Vault プロジェクトから: data-source を使用します。
    gcloud backup-dr data-sources list \
    --location=LOCATION \
    --project=BACKUP_VAULT_PROJECT_ID \
    --filter='dataSourceGcpResource.cloudSqlInstanceDatasourceProperties.name=projects/CSQL_INSTANCE_PROJECT_ID/instances/CSQL_INSTANCE_ID' \
    --format="table(dataSourceGcpResource.cloudSqlInstanceDatasourceProperties.name:label=RESOURCE_NAME,name:label=DATA_SOURCE)"
    

    次のように置き換えます。

    + LOCATION: the location of the backup vault.
    + CSQL_INSTANCE_ID: the name of the Cloud SQL instance.
    + CSQL_INSTANCE_PROJECT_ID: the project containing the Cloud SQL instance.
    + BACKUP_VAULT_PROJECT_ID: the project containing the backup vault.
    
  2. 復元するバックアップを一覧表示して選択します。データソース内のすべてのバックアップを一覧表示する必要があります。これを行うには、backups list コマンドを使用します。

    gcloud backup-dr backups list --data-source=DATA_SOURCE \
    --format="table(consistencyTime,backupType,name:label=BACKUP_NAME)"
    

バックアップの復元

Cloud SQL 復元コマンドを使用して Cloud SQL インスタンスを復元するには、次のコマンドを使用します。

   gcloud sql backups restore BACKUP_NAME \
   --restore-instance=RESTORE_INSTANCE \
   --project=RESTORE_PROJECT

次のように置き換えます。

      + BACKUP_NAME: the backup vault name you want to restore data from.
      + RESTORE_INSTANCE: The target Cloud SQL instance name.
      + RESTORE_PROJECT: the project where you want to restore the Cloud SQL instance.

他のプロパティをオーバーライドするには、Backup and DR Service Google Cloud CLI コマンドの概要をご覧ください。

Cloud SQL インスタンスを別のポイントインタイムに復元する

次の手順に沿って、Cloud SQL インスタンスを特定の時点に復元します。特定の時点に復元すると、Cloud SQL クローンが作成されます。

  1. Google Cloud コンソールで、[Vaulted backups] ページに移動します。

    [Vault に保存されているバックアップ] に移動

  2. 表の上部で、[表をフィルタリング] > [リソースタイプ] を選択します。[Cloud SQL] を選択します。これにより、バックアップ プランが適用されており、バックアップがプロジェクト内の Backup Vault に保存されている Cloud SQL インスタンスのみが表示されます。

  3. [特定の時点から復元] をクリックします。Cloud SQL の [クローンの作成] ページが開きます。

  4. バックアップ ボルトを使用して PITR を実行するの手順に沿って操作します。