ディスクをバックアップ ボールトにバックアップする

このページでは、 Google Cloud コンソールを使用してディスクをバックアップ ボルトにバックアップする方法について説明します。バックアップを Backup Vault に送信すると、不変性と保持期間の適用が実現します。Backup Vault を使用すると、バックアップをリージョンまたはマルチリージョンに保存できます。

マルチリージョン Backup Vault へのアクセスは招待制です。 Google Cloudプロジェクトでマルチリージョン バックアップ ボルトへのアクセス権をリクエストする場合は、営業担当者にお問い合わせください。

Google Cloud コンソールで、バックアップ プランを適用してディスクをバックアップ ボルトにバックアップできます。バックアップは次の 2 つの方法で行えます。

  • スケジュールされたバックアップ: ディスクを特定の頻度(毎日、毎週、毎月、毎年など)で自動的にバックアップできます。
  • オンデマンド バックアップ: 必要に応じてオンデマンド バックアップを作成できます。オンデマンド バックアップは、インスタンスに大幅な変更を加える前にバックアップを作成する場合や、アドホック データ保護を行う場合に便利です。

どちらの方法でも、バックアップを Backup Vault に安全に保存できます。これにより、データ損失やその他の予期しないイベントが発生した場合に、ディスクを確実に復元できます。

始める前に

  1. ディスクが配置されている場所で Backup and DR サービス API を有効にします。
  2. API の有効化
  3. Backup Vault を作成する
  4. バックアップ プランを作成
  5. バックアップ ユーザーに IAM ロールと権限を割り当てる
  6. Compute Engine プロジェクトで Backup Vault へのアクセス権を付与する
  7. Backup and DR のバックアップ ジョブをモニタリングするために、バケットに Log Analytics を設定します。

制限事項

Backup and DR サービスは、次のものをサポートしていません。

  • 顧客管理の暗号鍵(CMEK)または顧客指定の暗号鍵(CSEK)を使用するディスクのバックアップをバックアップ ボルトに作成する。
  • アクセスモードが READ_WRITE_MANY のディスクのバックアップはサポートされていません。
  • クロスリージョン バックアップ。
  • 1 時間に複数回のバックアップ。

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

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

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

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

必要な権限

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

  • backupdr.backupPlans.list
  • backupdr.backupPlanAssociations.createForComputeDisk
  • backupdr.backupPlanAssociations.list
  • backupdr.backupPlanAssociations.get
  • backupdr.backupPlanAssociations.triggerBackupForComputeDisk
  • backupdr.backupPlanAssociations.deleteForComputeDisk
  • backupdr.backupPlans.useForComputeDisk
  • backupdr.locations.list
  • backupdr.operations.get
  • cloudasset.assets.searchAllResources

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

ディスクがあるプロジェクトで Backup Vault へのアクセス権を付与する

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

バックアップ Vault が作成されたプロジェクト内のディスクをバックアップする場合、ロールの付与は必要ありません。

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

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

次の手順で、ディスクのスケジュール設定されたバックアップを構成します。

コンソール

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

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

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

  3. [リソースタイプ] で、[ディスク] を選択します。

  4. [プロジェクト] リストで、[参照] をクリックし、ディスクが配置されているプロジェクトを選択します。

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

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

  7. バックアップするディスクを選択して、[完了] をクリックします。

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

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

  10. ディスクを保護するバックアップ プランを選択します。

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

  12. バックアップの詳細を確認し、[スケジュール] をクリックします。これで、バックアップ プランがディスクに関連付けられました。バックアップ プランは、バックアップ ポリシーで設定された頻度に従って、選択したディスクのバックアップをスケジュールしますが、まだバックアップされていません。現在の時刻がバックアップ プランで設定された時間枠内にある場合、最初のバックアップ ジョブは数分以内に開始されます。現在の時刻がプラン ウィンドウ外の場合は、オンデマンド バックアップを作成します。

gcloud

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

      gcloud compute instances describe DISK_NAME --zone=DISK_ZONE --format="value(id)"
    

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

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

      gcloud backup-dr backup-plan-associations create BACKUP_PLAN_ASSOCIATION_NAME \
      --location=DISK_REGION \
      --resource=projects/DISK_PROJECT_ID/zones/DISK_ZONE/disks/DISK_ID \
      --resource-type=compute.googleapis.com/Disk \
      --backup-plan=projects/PROJECT_ID/locations/LOCATION/backupPlans/BACKUP_PLAN
    

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

    • BACKUP_PLAN_ASSOCIATION_NAME: バックアップ プランの関連付けの名前。
    • DISK_REGION: ディスクが配置されているリージョン。
    • DISK_PROJECT_ID: ディスクが配置されているプロジェクトの名前。
    • DISK_ZONE: ディスクが配置されているゾーン。
    • DISK_ID: ディスク ID。
    • PROJECT_ID: バックアップ プランが存在するプロジェクトの名前。
    • LOCATION: バックアップ プランが存在するリージョン。
    • BACKUP_PLAN: ディスクに関連付けるバックアップ プランの名前。

Terraform

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


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

ディスクに関連付けられているバックアップ プランを変更する

ディスクに関連付けられているバックアップ プランを別のバックアップ プランに変更できます。他のバックアップ プランは、次の条件を満たしている必要があります。

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

ディスクに関連付けられているバックアップ プランを変更する手順は次のとおりです。

コンソール

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

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

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

  2. 別のプランを取得するデータリソースを選択します。バックアップのバックアップ詳細ページから、または Compute Engine インスタンスの右端にある メニューから、[バックアップ プランを変更] を選択します。

  3. [バックアップ プランを選択] ウィンドウには、このインスタンスで有効なバックアップ プランのみが表示されます。バックアップ プランを選択し、[適用] をクリックします。

gcloud

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

      gcloud backup-dr backup-plan-associations update BACKUP_PLAN_ASSOCIATION_NAME \
      --resource-type=compute.googleapis.com/Disk \
      --workload-project=DISK_PROJECT_ID \
      --location=DISK_REGION \
      --backup-plan=BACKUP-PLAN \
      --project=PROJECT_ID
    

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

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

スケジュール設定されたバックアップとオンデマンド バックアップを一覧表示する

バックアップされているディスクまたはバックアップがスケジュールされているディスクを一覧表示する手順は次のとおりです。

コンソール

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

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

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

  2. ディスクをクリックして、そのディスクで使用可能なすべてのバックアップ(スケジュールされたバックアップとオンデマンド バックアップの両方)を表示します。

gcloud

  1. スケジュール バックアップとオンデマンド バックアップを一覧表示します。

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

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

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

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

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

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

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

コンソール

  1. [Vault に保存されているバックアップ] に移動します。
  2. バックアップするディスクを選択します。
  3. [オンデマンド バックアップを作成] をクリックします。
  4. バックアップ ルールを選択します。
  5. [作成] をクリックして、オンデマンド バックアップの作成プロセスを開始します。
  6. オンデマンド バックアップ ジョブのステータスを表示するには、[通知] をクリックします。

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 コマンドを実行して、ディスクに関連付けられているバックアップ プランのリストを取得します。
    • PROJECT_ID: プロジェクトの名前。
    • LOCATION: スケジュール バックアップのロケーション。
    • RULE_ID: オンデマンド バックアップの実行に関連付けるバックアップ ルールの名前。

ディスクの保護を解除する

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

ディスクの保護を解除する手順は次のとおりです。

コンソール

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

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

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

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

gcloud

  1. ディスクの保護を解除します。

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

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

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