Backup Vault から Cloud SQL インスタンスを復元する

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

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

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

コンソール

始める前に:

  • エンドユーザーには、ターゲット インスタンスがあるプロジェクトの roles/cloudsql.admin が必要です。
  • エンドユーザーには、ソース バックアップが存在するプロジェクトの roles/backupdr.restoreUser が必要です。
  1. Google Cloud コンソールで、[Vaulted backups] ページに移動します。

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

    [Vaulted backups] ページには、バックアップ プランが適用されており、バックアップがそのプロジェクト内の Backup Vault に保存されているデータリソースのみが表示されます。

  2. 復元するバックアップを選択します。バックアップのバックアップ詳細ページまたは メニューから、[復元] を選択します。

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

  • [リソースタイプ] に 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: Backup Vault のロケーション。
    • CSQL_INSTANCE_ID: Cloud SQL インスタンスのデータベース名。
    • CSQL_INSTANCE_PROJECT_ID: Cloud SQL インスタンスを含むプロジェクト。

    • バックアップ 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: Backup Vault のロケーション。
    • CSQL_INSTANCE_ID: Cloud SQL インスタンスの名前。
    • CSQL_INSTANCE_PROJECT_ID: Cloud SQL インスタンスを含むプロジェクト。
    • BACKUP_VAULT_PROJECT_ID: 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
   --region=RESTORE_REGION

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

  • BACKUP_NAME: データの復元元となる Backup Vault の名前。
  • RESTORE_INSTANCE: ターゲット Cloud SQL インスタンスの名前。
  • RESTORE_PROJECT: Cloud SQL インスタンスを復元するプロジェクト。
  • RESTORE_REGION: 新しい Cloud SQL インスタンスに復元するリージョン。リージョン バックアップの場合、これは省略可能です。既存のインスタンスに復元する場合は使用しないでください。

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

Cloud SQL インスタンスを別の時点に復元する

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

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

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

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

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

  4. Backup Vault を使用して PITR を実行するの手順に沿って操作します。