バックアップ ボールトから Compute Engine インスタンスを復元する

このページでは、 Google Cloud コンソールで、バックアップ ボールトから Compute Engine インスタンスを復元する方法について説明します。

始める前に

  • 復元が実行されているターゲット プロジェクトの Vault の バックアップ ボールト サービス エージェントに、Backup and DR Compute Engine オペレーター(roles/backupdr.computeEngineOperator)IAM ロールを付与します。

  • 共有 VPC を使用している場合は、VPC ホスト プロジェクト内の Vault のバックアップ ボールト サービス エージェントに Compute ネットワーク ユーザー(roles/compute.networkUser)IAM ロールを付与します。

  • バックアップ ボールト プロジェクトで復元を実行するユーザーに、次の IAM ロールを付与します。

    • バックアップ ボールトとターゲット プロジェクトの両方に対する Backup and DR Restore User(roles/backupdr.restoreUser)。
    • ターゲットに対してのみ Compute 閲覧者(roles/compute.viewer)。

    これらの事前定義ロールには、Compute Engine プロジェクトのバックアップ ボールトにアクセスするために必要な権限が含まれています。具体的な権限については、次のリストをご覧ください。

    • backupdr.bvbackups.restore
    • backupdr.compute.restoreFromBackupVault
    • backupdr.backupVaults.get
    • backupdr.backupVaults.list
    • backupdr.bvbackups.list
    • backupdr.bvdataSources.get
    • backupdr.bvdataSources.list
    • backupdr.bvbackups.get

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

Compute Engine インスタンスを復元する

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

コンソール

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

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

    ここに、Vault にバックアップされているすべての Compute Engine インスタンスが一覧表示されます。

  2. アクション アイコンをクリックして、[復元] アクションを選択します。[復元ページ] が表示されます。ここで、次の復元オプションを選択します。

    • リソース名を選択します。
    • バックアップの作成日時を選択します。
    • VM を復元するプロジェクト名を選択します。
  3. [続行] をクリックします。

    • 次のページ [バックアップから新しい VM インスタンスを作成する] が表示されます。このページでは、ソース VM のプロパティに基づいて VM プロパティが事前に入力されます。プロパティを変更して新しい VM を作成できます。たとえば、[リージョン] や [マシンタイプ] の選択を変更します。
  4. [作成] をクリックして、選択したバックアップから新しい VM を作成します。

gcloud

  1. まだ付与されていない場合は、VM が復元されている復元プロジェクトの Backup Vault サービス エージェントに、バックアップと DR の Compute Engine オペレーター(roles/backupdr.computeEngineOperator)IAM ロールを付与します。

  2. バックアップ ボールトのサービス アカウントを取得するには、次のコマンドを使用します。

      gcloud backup-dr backup-vaults describe BACKUPVAULT_NAME
      --location=LOCATION
    

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

    • BACKUPVAULT_NAME: データを復元するバックアップ ボールトの名前。
    • LOCATION: バックアップ ボールトのロケーション。
  3. VM インスタンスを復元するには、次のコマンドを使用します。

    • バックアップ ID を使用して、ワークロード プロジェクトと同じプロジェクトに VM を復元します。

        gcloud backup-dr backups restore compute test-backup-id \
        --project=PROJECT --location=LOCATION \
        --backup-vault=BACKUPVAULT_NAME --data-source=DATA_SOURCE\
        --name=NAME --target-zone=TARGET_ZONE \
        --target-project=TARGET_PROJECT
      
    • バックアップの完全なリソース URL を使用して、ワークロード プロジェクトと同じプロジェクト内の VM を復元します。

        gcloud backup-dr backups restore compute projects/test-project-id/locations/us-central1/backupVaults/test-vault/dataSources/test-ds/backups/test-backup-id \
        --name=NAME --target-zone=TARGET_ZONE \
        --target-project=TARGET_PROJECT
      
    • カスタムのサービス アカウントとネットワーク構成を使用して VM インスタンスを復元する。

        gcloud backup-dr backups restore compute test-backup-id \
        --project=PROJECT --location=LOCATION \
        --backup-vault=BACKUPVAULT_NAME --data-source=DATA_SOURCE\
        --name=NAME --target-zone=TARGET_ZONE \
        --target-project=TARGET_PROJECT \
        --network-interface=network=NETWORK,subnet=SUBNET \
        --service-account=SERVICE_ACCOUNT \
        --scopes=SCOPE
      

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

      • PROJECT: バックアップ ボールト プロジェクトの名前。
      • LOCATION: バックアップ ボールトのロケーション。
      • BACKUPVAULT_NAME: データを復元するバックアップ ボールトの名前。
      • DATA_SOURCE: データを復元するデータソース名。
      • NAME: 復元された VM の名前。
      • TARGET_ZONE: VM が復元されるリージョン。
      • TARGET_PROJECT: VM が復元されるプロジェクト。
      • NETWORK: VM のネットワーク URI。
      • SUBNET: VM のサブネット URI。
      • SERVICE_ACCOUNT: 復元された VM のサービス アカウント。
      • SCOPE: サービス アカウントの承認スコープ。

他の VM プロパティをオーバーライドするには、バックアップと DR サービスの Google Cloud CLI コマンドの概要をご覧ください。

バックアップと DR の Compute Engine ガイド