Compute Engine インスタンスをバックアップ ボールトにバックアップする

このページでは、Compute Engine インスタンスを Backup and DR サービス バックアップ Vault にバックアップする方法について説明します。これには、Compute Engine プロジェクトでバックアップ Vault へのアクセス権を付与する方法、スケジュールされたバックアップを構成する方法、オンデマンド バックアップを作成する方法、Vault に保存されたバックアップを管理する方法が含まれます。

概要

バックアップを Backup Vault に送信すると、不変性と保持期間の適用が実現します。Backup Vault を使用すると、バックアップを単一リージョンまたはマルチリージョンに保存できます。Compute Engine インスタンスをバックアップする主な方法は 2 つあります。

  • 管理コンソールを使用して Compute Engine インスタンスをバックアップする: 次のいずれかのバックアップ要件がある場合は、管理コンソールを使用して Compute Engine インスタンスをバックアップできます。

    • リージョン間でのバックアップ
    • 仮想マシン(VM)にアタッチされている特定のディスクのバックアップ
    • タグに基づく Google Compute Engine VM の自動保護
    • Google Cloud コンソール ベースのバックアップ プランとバックアップ ボルトが、ソース VM が実行されているリージョンと互換性のあるロケーションにない場合。
    マルチリージョン Backup Vault へのアクセスは招待制です。 Google Cloudプロジェクトでマルチリージョン バックアップ ボルトへのアクセス権をリクエストする場合は、営業担当者にお問い合わせください。
  • Google Cloud コンソールを使用して Compute Engine インスタンスをバックアップする:Google Cloud コンソールで、バックアップ プランを適用して Compute Engine インスタンスを Backup Vault にバックアップできます。次のいずれかの方法でデータをバックアップできます。どちらの方法でも、バックアップをバックアップ Vault に安全に保存できます。これにより、データ損失やその他の予期しないイベントが発生した場合に、Compute Engine インスタンスを確実に復元できます。

    • スケジュールされたバックアップ: Compute Engine インスタンスを毎日、毎週、毎月、毎年などの特定の頻度で自動的にバックアップします。

    • オンデマンド バックアップ: 必要に応じてオンデマンド バックアップを作成します。オンデマンド バックアップは、インスタンスに大幅な変更を加える前にバックアップを作成する場合や、アドホック データ保護に役立ちます。

始める前に

  1. Compute Engine インスタンスが配置されている場所で Backup and DR サービス API を有効にします。

    API の有効化

  2. Backup Vault を作成します

  3. バックアップ プランを作成します

  4. バックアップ ユーザーに IAM ロールと権限を割り当てます

  5. Compute Engine プロジェクトでバックアップ ボルトへのアクセス権を付与します

  6. Backup and DR のバックアップ ジョブをモニタリングするために、バケットに Log Analytics を設定します。

制限事項

インスタンスで次のいずれかの構成を使用している場合、Backup and DR サービスは Compute Engine インスタンスの Backup Vault へのバックアップをサポートしていません。

  • Extreme 永続ディスクがアタッチされている VM インスタンス。
  • Google Cloud Hyperdisk Extreme ディスクがアタッチされている VM インスタンス。
  • C3D、H3、A3、Z3 マシンタイプを使用する VM インスタンス。
  • 顧客管理の暗号鍵(CMEK)または顧客指定の暗号鍵(CSEK)を使用する VM インスタンス。
  • アタッチされたディスクがない VM インスタンス。
  • 200 テラバイト(TB)を超える VM インスタンス。

バックアップ ユーザーの IAM ロールと権限

スケジュールされたバックアップの構成またはオンデマンド バックアップの実行に必要な権限を取得するには、バックアップ ボルト プロジェクトに対する次の IAM ロールの付与を管理者に依頼してください。

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

これらの事前定義ロールには、スケジュールされたバックアップの構成またはオンデマンド バックアップの実行に必要な権限が含まれています。必要とされる正確な権限については、「必要な権限」セクションを開いてご確認ください。

必要な権限

スケジュール バックアップを構成するか、オンデマンド バックアップを実行するには、次の権限が必要です。

  • backupdr.backupPlans.list
  • backupdr.backupPlanAssociations.createForComputeInstance
  • backupdr.backupPlanAssociations.list
  • backupdr.backupPlanAssociations.get
  • backupdr.backupPlanAssociations.triggerBackupForComputeInstance
  • backupdr.backupPlanAssociations.deleteForComputeInstance
  • backupdr.backupPlans.useForComputeInstance
  • backupdr.locations.list
  • backupdr.operations.get
  • cloudasset.assets.searchAllResources

カスタムロールや他の事前定義ロールを使用して、これらの権限を取得することもできます。

次の表に、各 API 呼び出しに必要な動的権限を示します。

リソース リソースに対して実行するアクション API 呼び出しごとに必要な権限 割り当てる必要があるプロジェクト
Backup Vault BackupVault を作成する backupdr.backupVaults.create 管理者プロジェクト
BackupVault を削除する backupdr.backupVaults.delete 管理者プロジェクト
BackupVault を更新する backupdr.backupVaults.update 管理者プロジェクト
BackupVault を一覧表示する backupdr.backupVaults.list 管理者プロジェクト
BackupVault を取得する backupdr.backupVaults.get 管理者プロジェクト
バックアップ プラン BackupPlan を作成する backupdr.backupPlans.create 管理者プロジェクト
Delete BackupPlan backupdr.backupPlans.delete 管理者プロジェクト
BackupPlan を取得する backupdr.backupPlans.get 管理者プロジェクト
バックアップ プランを一覧表示する backupdr.backupPlans.list 管理者プロジェクト
バックアップ プランの関連付け バックアップ プランの関連付けを作成する compute.instances.updateBackupDrConfig ワークロード プロジェクト
backupdr.backupPlanAssociations.createForComputeInstance ワークロード プロジェクト
backupdr.backupPlans.useForComputeInstance 管理者プロジェクト
バックアップ プランの関連付けを削除する backupdr.backupPlanAssociations.deleteForComputeInstance ワークロード プロジェクト
compute.instances.updateBackupDrConfig ワークロード プロジェクト
バックアップ プランの関連付けでオンデマンド バックアップをトリガーする backupdr.backupPlanAssociations.triggerBackupForComputeInstance ワークロード プロジェクト
バックアップ プランの関連付けを取得する backupdr.backupPlanAssociations.getForComputeInstance ワークロード プロジェクト
バックアップ プランの関連付けを一覧表示する backupdr.backupPlanAssociations.list ワークロード プロジェクト
バックアップ プランの関連付けを取得する backupdr.backupPlanAssociations.fetchForComputeInstance ワークロード プロジェクト
データソース DataSource を取得する backupdr.bvdataSources.get 管理者プロジェクト
データソースの一覧表示 backupdr.backupPlanAssociations.list 管理者プロジェクト
PiTR 復元 backupdr.bvdataSources.useReadOnlyForComputeInstance 管理者プロジェクト
バックアップ バックアップを取得 backupdr.bvbackups.get 管理者プロジェクト
バックアップを一覧表示する backupdr.bvbackups.list 管理者プロジェクト
バックアップの削除 backupdr.bvbackups.delete 管理者プロジェクト
バックアップを復元 backupdr.bvbackups.useReadOnlyForComputeInstance 管理者プロジェクト
データソースの参照 DataSource 参照を取得する backupdr.dataSourceReferences.getForComputeInstance ワークロード プロジェクト
DataSource 参照を取得する backupdr.dataSourceReferences.fetchForComputeInstance ワークロード プロジェクト
運用 オペレーションの一覧表示 backupdr.operations.list それぞれのプロジェクト
Get オペレーション backupdr.operations.get それぞれのプロジェクト

Compute Engine プロジェクトで Backup Vault へのアクセス権を付与する

バックアップ Vault が作成されたプロジェクトとは異なるプロジェクトにある Compute Engine VM インスタンスをバックアップするには、Compute Engine プロジェクト内のバックアップ Vault サービス エージェントに Backup and DR Compute Engine オペレーター(roles/backupdr.computeEngineOperator)IAM ロールを付与する必要があります。

バックアップ Vault が作成されたプロジェクトと同じプロジェクトで Compute Engine VM インスタンスをバックアップする場合、ロールの付与は必要ありません。

バックアップするプロジェクト内のバックアップ ボルト サービス エージェントにロールを付与する方法については、サービス エージェントにロールを付与するをご覧ください。

スケジュール バックアップを構成する

次の手順で、Compute Engine インスタンスの定期的なバックアップを構成します。

コンソール

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

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

  2. [バックアップのスケジュールを設定] をクリックします。

  3. [プロジェクト] リストで [参照] をクリックし、Compute Engine インスタンスが配置されているプロジェクトを選択します。

  4. [リージョン] リストから、インスタンスが配置されているリージョンを選択します。

  5. [リソース] リストで [参照] をクリックします。

  6. バックアップする Compute Engine インスタンスを選択し、[完了] をクリックします。

  7. [続行] をクリックします。

  8. [バックアップ プラン] リストで、[選択] をクリックします。

  9. Compute Engine インスタンスを保護するバックアップ プランを選択します。

  10. [完了] をクリックします。

  11. バックアップの詳細を確認し、[スケジュール] をクリックします。

gcloud

  1. インスタンス ID を取得します。

      gcloud compute instances describe VM_NAME --zone=VM_ZONE --format="value(id)"
    

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

    • VM_NAME: VM インスタンスの名前。
    • VM_ZONE: VM が配置されているロケーション。
  2. スケジュール バックアップを構成します。

      gcloud backup-dr backup-plan-associations create BACKUP_PLAN_ASSOCIATION_NAME \
      --location=VM_REGION \
      --resource=projects/VM_PROJECT_ID/zones/VM_ZONE/instances/VM_ID \
      --backup-plan=projects/PROJECT_ID/locations/LOCATION/backupPlans/BACKUP_PLAN
    

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

    • BACKUP_PLAN_ASSOCIATION_NAME: バックアップ プランの関連付けの名前。
    • VM_REGION: Compute Engine インスタンスが配置されているリージョン。
    • VM_PROJECT_ID: Compute Engine インスタンスが配置されているプロジェクトの名前。
    • VM_ZONE: Compute Engine インスタンスが配置されているゾーン。
    • VM_ID: Compute Engine インスタンス ID。
    • PROJECT_ID: バックアップ プランが存在するプロジェクトの名前。
    • LOCATION: バックアップ プランが存在するリージョン。
    • BACKUP_PLAN: Compute Engine インスタンスを関連付けるバックアップ プランの名前。

Terraform

Terraform リソースを使用して、スケジュールされたバックアップを構成できます。


# Before creating a backup plan association, you need to create backup plan (google_backup_dr_backup_plan)
# and compute instance (google_compute_instance).
resource "google_backup_dr_backup_plan_association" "default" {
  provider                   = google-beta
  location                   = "us-central1"
  backup_plan_association_id = "my-bpa"
  resource                   = google_compute_instance.default.id
  resource_type              = "compute.googleapis.com/Instance"
  backup_plan                = google_backup_dr_backup_plan.default.name
}

Compute Engine インスタンスに適用されているバックアップ プランを変更する

Compute Engine インスタンスに適用されているバックアップ プランを別のバックアップ プランに変更できます。他のバックアップ プランは、次の条件を満たしている必要があります。

  • 同じバックアップ Vault を使用する
  • Compute Engine インスタンスと同じリージョンに存在する

次の手順で、Compute Engine インスタンスに関連付けられているバックアップ プランを変更します。

コンソール

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

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

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

  2. 別のプランに変更するバックアップを選択します。バックアップのバックアップ詳細ページまたは メニューから、[バックアップ プランを変更] を選択します。[バックアップ プランを選択] ウィンドウには、このインスタンスで有効なバックアップ プランのみが表示されます。

  3. バックアップ プランを選択し、[適用] をクリックします。

gcloud

  • 割り当てられたバックアップ プランを変更します。

      gcloud backup-dr backup-plan-associations update BACKUP_PLAN_ASSOCIATION_NAME \
      --workload-project=VM_PROJECT_ID \
      --location=VM_REGION \
      --backup-plan=BACKUP-PLAN \
      --project=PROJECT_ID
    

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

    • BACKUP_PLAN_ASSOCIATION_NAME: バックアップ プランの関連付けリソースの名前。
    • VM_PROJECT_ID: Compute Engine インスタンスのプロジェクト ID。
    • VM_REGION: Compute Engine インスタンスのロケーション。
    • BACKUP_PLAN: 切り替えるバックアップ プランの名前。
    • PROJECT_ID: 選択したバックアップ プランのプロジェクト ID。

スケジュールされたバックアップを一覧表示する

次の手順で、バックアップされた Compute Engine インスタンスを一覧表示します。

コンソール

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

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

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

gcloud

  1. スケジュールされたバックアップを一覧表示します。

      gcloud backup-dr backup-plan-associations list \
      --location=LOCATION \
      --project=PROJECT_ID
    

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

    • PROJECT_ID: プロジェクトの名前。
    • LOCATION: スケジュール バックアップのロケーション。

オンデマンド バックアップの作成

バックアップ プランを使用して Compute Engine インスタンスのオンデマンド バックアップを開始するには、選択したバックアップ ルールをすぐに実行するようにトリガーします。オンデマンド バックアップでは通常、前回のバックアップ以降に変更されたデータのみがキャプチャされます(増分)。

オンデマンド バックアップを作成するときに、Compute Engine インスタンスに関連付けられたバックアップ プランからルールを選択できます。このルールは、オンデマンド バックアップが削除されるタイミングを決定します。バックアップ ジョブのステータスは、[ジョブ] ページで確認できます。詳細については、 Google Cloud コンソールでバックアップ ジョブと復元ジョブをモニタリングするをご覧ください。

オンデマンド バックアップを作成する手順は次のとおりです。

コンソール

  1. [VM インスタンス] > [詳細] > [バックアップ プラン] に移動して、オンデマンド バックアップを作成します。
  2. [オンデマンド バックアップを作成] をクリックします。オンデマンド バックアップを作成するには、適切な権限が必要です。
  3. バックアップ ルールを選択します。
  4. [作成] をクリックして、オンデマンド バックアップの作成プロセスを開始します。
  5. オンデマンド バックアップ ジョブのステータスを表示するには、[通知] をクリックします。

gcloud

  1. オンデマンド バックアップを作成します。

      gcloud backup-dr backup-plan-associations trigger-backup BACKUP_PLAN_ASSOCIATION_NAME \
      --project=PROJECT_ID --location=LOCATION \
      --backup-rule-id=RULE_ID
    

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

    • BACKUP_PLAN_ASSOCIATION_NAME: バックアップ プランの関連付けの名前。gcloud backup-dr backup-plan-associations list --location=LOCATION --project=PROJECT_ID コマンドを実行して、Compute Engine インスタンスに関連付けられているバックアップ プランのリストを取得します。
    • PROJECT_ID: プロジェクトの名前。
    • LOCATION: スケジュール バックアップのロケーション。
    • RULE_ID: オンデマンド バックアップの実行に関連付けるバックアップ ルールの名前。

Compute Engine インスタンスの保護を解除する

Compute Engine インスタンスに適用されたバックアップ プランを削除すると、インスタンスの保護を解除できます。Compute Engine インスタンスからバックアップ プランを削除しても、バックアップ プランや、インスタンスの使用中に作成されたバックアップは削除されません。これらの既存のバックアップには引き続きアクセスして管理できます。

次の手順で、Compute Engine インスタンスの保護を解除します。

コンソール

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

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

  2. バックアップ プランを削除するインスタンスの名前をクリックします。

  3. [バックアップ プランを削除] を選択します。

gcloud

  1. Compute Engine インスタンスの保護を解除する。

      gcloud backup-dr backup-plan-associations delete BACKUP_PLAN_ASSOCIATION_NAME\
      --project=PROJECT_ID \
      --location=LOCATION
    

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

    • BACKUP_PLAN_ASSOCIATION_NAME: 削除するバックアップの名前。
    • PROJECT_ID: プロジェクトの名前。
    • LOCATION: スケジュール バックアップのロケーション。

次のステップ