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

このページでは、 Google Cloud コンソールを使用して、Compute Engine インスタンスをバックアップ ボールトにバックアップする方法について説明します。バックアップを Backup Vault に送信すると、不変性と強制保持が実現されます。Backup Vault を使用すると、バックアップを単一のリージョンに保存できます。次のいずれかのバックアップ要件がある場合は、管理コンソールを使用して Compute Engine インスタンスをバックアップできます。

  • マルチリージョンまたはリージョン間のバックアップ
  • VM にアタッチされている特定のディスクのバックアップ
  • タグに基づく Google Compute Engine VM の自動保護
  • Google Cloud コンソールベースのバックアップ プランとバックアップ ボールトが、VM が実行されているリージョンでサポートされていない場合

Google Cloud コンソールで、バックアップ プランを適用して Compute Engine インスタンスをバックアップ ボールトにバックアップできます。バックアップは次の 2 つの方法で行うことができます。どちらの方法でも、バックアップを Backup Vault に安全に保存できるため、データ損失やその他の予期しないイベントが発生した場合に Compute Engine インスタンスを確実に復元できます。

  • スケジュール バックアップ。Compute Engine インスタンスは、日次、週次、月次、年次など、特定の間隔で自動的にバックアップできます。
  • オンデマンド バックアップ。オンデマンド バックアップは、必要に応じていつでも作成できます。オンデマンド バックアップは、インスタンスに大幅な変更を加える前にバックアップを作成するときや、アドホックなデータ保護に役立ちます。

始める前に

  1. Compute Engine インスタンスがある場所で Backup and DR Service API を有効にします。
  2. API の有効化
  3. Backup Vault を作成する
  4. バックアップ プランを作成する
  5. バックアップ ユーザーに IAM ロールと権限を割り当てる
  6. Compute Engine プロジェクトで Backup Vault へのアクセス権を付与する
  7. バックアップと DR バックアップ ジョブをモニタリングするように、バケットにログ分析を設定します。

制限事項

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

  • エクストリーム永続ディスクがアタッチされた VM インスタンス。
  • 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

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

Compute Engine プロジェクトでバックアップ ボールトへのアクセス権を付与する

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

バックアップ ボールトが作成されたプロジェクト内の 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 インスタンスを一覧表示します。

コンソール

  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. [Create On-Demand Backup] をクリックします。オンデマンド バックアップを作成するための適切な権限があることを確認します。
  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: スケジュール設定されたバックアップのロケーション。

次のステップ