ディスクをバックアップ Vault にバックアップする

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

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

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

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

始める前に

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

制限事項

Backup and DR サービスでは、次の機能はサポートされていません。

  • 顧客指定の暗号鍵(CSEK)を使用するディスクの Backup Vault へのバックアップ。
  • アクセスモードが READ_WRITE_MANY のディスクのバックアップは対象外です。
  • 1 時間に複数のバックアップ。
  • リージョン間でのバックアップ。

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

スケジュール バックアップを構成するか、オンデマンド バックアップを実行するために必要な権限を取得するには、Backup Vault プロジェクトに対して次の 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 へのアクセス権を付与する

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

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

ディスクが顧客管理の暗号鍵(CMEK)で保護されている場合は、ディスクの暗号化に使用する KMS 鍵の Backup Vault サービス エージェント (service-BACKUP_VAULT_PROJECT_NUMBER@gcp-sa-backupdr.iam.gserviceaccount.com) に Cloud KMS CryptoKey Encrypter/Decrypterロール (roles/cloudkms.cryptoKeyEncrypterDecrypter) を付与する必要があります。この権限は、バックアップ オペレーションと復元オペレーション中に Backup and DR サービス が鍵にアクセスするために必要です。

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

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

ディスクのスケジュール バックアップを構成する手順は次のとおりです。

コンソール

  1. コンソールで、[Vault に保存されているバックアップ] ページに移動します。 Google Cloud

    [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
}

Backup and DR ディスク バックアップのアプリケーション整合性

アプリケーション整合性のあるスナップショット は、すべてのアプリケーション トランザクションが完了し、保留中の書き込みがすべてディスクにフラッシュされた状態で、バックアップの時点でのアプリケーション データの状態をキャプチャします。

ディスクのアプリケーション整合性バックアップを構成する手順は次のとおりです。この手順は、gcloud CLI でのみ実行できます。

始める前に

アプリケーション整合性ディスク バックアップのバックアップ プランを作成する

ディスクのアプリケーション整合性バックアップを作成する手順は次のとおりです。この手順は、gcloud CLI でのみ実行できます。

gcloud

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

    gcloud backup-dr backup-plans create BACKUP_PLAN_NAME \
    --disk-properties=guest-flush=true \
    --resource-type=compute.googleapis.com/Disk \
    --location=REGION \
    --project=PROJECT_ID \
    --backup-vault=BACKUPVAULT_NAME \
    --backup-rule=rule-id=RULE_NAME,recurrence=RECURRENCE,hourly-frequency=HOURS,time-zone=TIME_ZONE,backup-window-start=START_TIME,backup-window-end=END_TIME,retention-days=BACKUP_RETENTION --max-custom-on-demand-retention-days=MAX_ONDEMAND_RETENTION
    

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

    • BACKUP_PLAN_NAME: バックアップ プランの名前。
    • REGION: バックアップ プランを作成する Google Cloud リージョン。
    • PROJECT_ID: Backup Vault が存在するプロジェクトの名前。
    • BACKUPVAULT_NAME: バックアップ ストレージに使用する Backup Vault の名前。
    • RULE_NAME: バックアップ ルールの名前。
    • RECURRENCE: 作成するバックアップの頻度。1 時間ごと、毎日、毎週、毎月、毎年を指定できます。
    • HOURS: 1 時間ごとのバックアップの頻度。 この値は、頻度を 1 時間ごとに設定した場合にのみ指定します。 1 時間ごとの最小値は常に 6 時間に設定されます。
    • TIME_ZONE: バックアップ プランのタイムゾーン(UTC など)。IANA タイムゾーン形式を使用して、バックアップ プランのタイムゾーンを含めます。
    • START_TIME: 開始時刻は、24 時間形式の時刻です。開始時刻は終了時刻より前である必要があり、バックアップ ウィンドウに含まれます。
    • END_TIME: 終了時刻は、24 時間形式の時刻です。終了時刻は開始時刻より後である必要があり、バックアップ ウィンドウには含まれません。
    • BACKUP_RETENTION: バックアップの保持期間。バックアップの保持期間は、Backup Vault に適用される最小保持期間以上にする必要があります。
    • MAX_ONDEMAND_RETENTION: このバックアップ プランを使用して作成されたオンデマンド バックアップに許可されるカスタム保持期間の最大値(日数)。

アプリケーション整合性ディスク バックアップの既存のバックアップ プランを更新する

バックアップ プランを更新して、アプリケーション整合性ディスク バックアップを作成する手順は次のとおりです。

gcloud

  1. バックアップ プランを更新します。

    gcloud backup-dr backup-plans update BACKUP_PLAN_NAME \
    --disk-properties=guest-flush=true \
    --project=PROJECT_ID\
    --location=REGION \
    --description=DESCRIPTION \
    --backup-rule=BACKUP_RULE \
    --add-backup-rule=ADD_BACKUP_RULE \
    --remove-backup-rule=REMOVE_BACKUP_RULE
    --max-custom-on-demand-retention-days=MAX_ONDEMAND_RETENTION
    

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

    • BACKUP_PLAN_NAME: バックアップ プランの名前。
    • PROJECT_ID: Backup Vault が存在するプロジェクトの名前。
    • REGION: バックアップ プランを作成するロケーション。
    • DESCRIPTION: バックアップ プランの更新された説明。
    • BACKUP_RULE: 更新された値を持つ既存のバックアップ ルールの完全な定義。
    • ADD_BACKUP_RULE: バックアップ プランに追加するバックアップ ルールのパラメータ。このフラグを繰り返して、バックアップ ルールを追加できます。
    • REMOVE_BACKUP_RULE: バックアップ プランから削除する既存のバックアップ ルール。
    • MAX_ONDEMAND_RETENTION: このバックアップ プランを使用して作成されたオンデマンド バックアップに許可されるカスタム保持期間の最大値(日数)。

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

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

  • 同じ Backup Vault を使用する
  • ディスクの Compute Engine インスタンスと同じリージョンにある

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

コンソール

  1. コンソールで、[Vault に保存されているバックアップ] ページに移動します。 Google Cloud

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

    [Vault に保存されているバックアップ] ページには、バックアップ プランが適用されており、バックアップがプロジェクト内の 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. コンソールで、[Vault に保存されているバックアップ] ページに移動します。 Google Cloud

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

    [Vault に保存されているバックアップ] ページには、バックアップ プランが適用されており、バックアップがプロジェクト内の 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. このバックアップを削除するタイミングを選択します。次のいずれかを行います。

    • カスタム保持期間に基づく デフォルトでは、上限は Backup Vault の最小強制保持期間に 30 日を加えた期間に設定されます。別の上限を設定するには、バックアップ プランにカスタム オンデマンド保持期間の最大値を追加してください。
    • 既存のバックアップ ルールに基づく 。[バックアップを削除するまでの期間] プルダウンからルールを選択します。
  5. [作成] をクリックして、オンデマンド バックアップの作成プロセスを開始します。

  6. オンデマンド バックアップ ジョブのステータスを表示するには、[通知] をクリックします。

gcloud

  • バックアップ ルールを使用するオンデマンド バックアップを作成します。

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

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

    • BACKUP_PLAN_ASSOCIATION_NAME: バックアップ プランの関連付けの名前。gcloud backup-dr backup-plan-associations list --location=LOCATION --project=PROJECT_ID コマンドを実行して、Compute Engine ディスクに関連付けられているバックアップ プランのリストを取得します。
    • PROJECT_ID: プロジェクトの名前。
    • REGION: スケジュール バックアップのロケーション。
    • RULE_ID: オンデマンド バックアップを実行するために関連付けるバックアップ ルール名。
    • LABELS: バックアップの省略可能なラベル(webserver=backend,media=images などの Key-Value ペアをカンマ区切り)。
  • カスタム保持を使用するオンデマンド バックアップを作成します。

      gcloud backup-dr backup-plan-associations trigger-backup BACKUP_PLAN_ASSOCIATION_NAME \
      --project=PROJECT_ID \
      --location=REGION \
      --custom-retention-days=CUSTOM_RETENTION
      --labels=LABELS
    

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

    • BACKUP_PLAN_ASSOCIATION_NAME: バックアップ プランの関連付けの名前。gcloud backup-dr backup-plan-associations list --location=LOCATION --project=PROJECT_ID コマンドを実行して、Compute Engine ディスクに関連付けられているバックアップ プランのリストを取得します。
    • PROJECT_ID: プロジェクトの名前。
    • REGION: スケジュール バックアップのロケーション。
    • CUSTOM_RETENTION: このオンデマンド バックアップのカスタム保持期間(日数)。この値は、Backup Vault の保持期間以上で、バックアップ プランで構成されている max-custom-on-demand-retention-days 値以下にする必要があります(max-custom-on-demand-retention-days が構成されていない場合は、Vault の保持期間 + 30 日)。
    • LABELS: バックアップの省略可能なラベル(webserver=backend,media=images などの Key-Value ペアをカンマ区切り)。

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

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

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

コンソール

  1. コンソールで、[Vault に保存されているバックアップ] ページに移動します。 Google Cloud

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

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

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

gcloud

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

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

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

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