このページでは、ディスクを Backup Vault にバックアップする方法について説明します。バックアップを Backup Vault に送信すると、不変性と保持期間の適用が実現します。Backup Vault を使用すると、バックアップをリージョンまたはマルチリージョンに保存できます。
Google Cloud コンソールで、バックアップ プランを適用してディスクを Backup Vault にバックアップできます。バックアップは次の 2 つの方法で行えます。
- スケジュールされたバックアップ: ディスクを毎日、毎週、毎月、毎年などの特定の頻度で自動的にバックアップできます。
- オンデマンド バックアップ: 必要に応じてオンデマンド バックアップを作成できます。オンデマンド バックアップは、インスタンスに大幅な変更を加える前にバックアップを作成する場合や、アドホック データ保護に役立ちます。
どちらの方法でも、バックアップを Backup Vault に安全に保存できます。これにより、データ損失やその他の予期しないイベントが発生した場合に、ディスクを確実に復元できます。
始める前に
- ディスクが配置されている場所で Backup and DR サービス API を有効にします。
- API を有効化
- Backup Vault を作成する
- バックアップ プランを作成
- バックアップ ユーザーに IAM ロールと権限を割り当てる
- Compute Engine プロジェクトで Backup Vault へのアクセス権を付与する
- Backup and DR のバックアップ ジョブをモニタリングするために、バケットにオブザーバビリティ分析を設定します。
制限事項
Backup and DR サービスは、次のものをサポートしていません。
- 顧客指定の暗号鍵(CSEK)を使用するディスクの Backup Vault にディスクをバックアップする。
- アクセスモードが READ_WRITE_MANY のディスクのバックアップは対象外です。
- 1 時間に複数回のバックアップ。
クロスリージョン バックアップ。
バックアップ ユーザーの IAM ロールと権限
スケジュールされたバックアップの構成またはオンデマンド バックアップの実行に必要な権限を取得するには、Backup Vault プロジェクトに対する次の IAM ロールを付与するよう管理者に依頼してください。
- Backup and DR バックアップ ユーザー (
roles/backupdr.backupUser) - 閲覧者 (
roles/viewer)
ロールの付与については、プロジェクト、フォルダ、組織へのアクセス権の管理をご覧ください。
これらの事前定義ロールには、スケジュールされたバックアップの構成またはオンデマンド バックアップの実行に必要な権限が含まれています。必要とされる正確な権限については、「必要な権限」セクションを開いてご確認ください。
必要な権限
スケジュール バックアップを構成するか、オンデマンド バックアップを実行するには、次の権限が必要です。
-
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 ロールを付与する必要があります。
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 サービス エージェントにロールを付与する方法については、サービス エージェントにロールを付与するをご覧ください。
スケジュールされたバックアップを構成する
次の手順で、ディスクのスケジュール設定されたバックアップを構成します。
コンソール
Google Cloud コンソールで、[Vaulted backups] ページに移動します。
[バックアップのスケジュールを設定] をクリックします。
[リソースタイプ] で、[ディスク] を選択します。
[プロジェクト] リストで、[参照] をクリックし、ディスクが配置されているプロジェクトを選択します。
[リージョン] リストから、ディスクが配置されているリージョンを選択します。
[リソース] リストで [ブラウズ] をクリックします。
バックアップするディスクを選択して、[完了] をクリックします。
[続行] をクリックします。
[バックアップ プラン] リストで、[選択] をクリックします。
ディスクを保護するバックアップ プランを選択します。
[完了] をクリックします。
バックアップの詳細を確認し、[スケジュール] をクリックします。これで、バックアップ プランがディスクに関連付けられました。バックアップ プランは、バックアップ ポリシーで設定された頻度に従って、選択したディスクのバックアップをスケジュールしますが、まだバックアップされていません。現在の時刻がバックアップ プランで設定された時間枠内にある場合、最初のバックアップ ジョブは数分以内に開始されます。現在の時刻がプラン ウィンドウ外の場合は、オンデマンド バックアップを作成します。
gcloud
インスタンス ID を取得します。
gcloud compute instances describe DISK_NAME --zone=DISK_ZONE --format="value(id)"次のように置き換えます。
DISK_NAME: ディスクの名前。DISK_ZONE: ディスクが配置されているロケーション。
スケジュールされたバックアップを構成します。
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
Backup and DR ディスク バックアップのアプリケーション整合性
アプリケーション整合性スナップショットは、すべてのアプリケーション トランザクションが完了し、保留中の書き込みがすべてディスクにフラッシュされた状態で、バックアップの時点でのアプリケーション データの状態をキャプチャします。
次の手順で、ディスクのアプリケーション整合性バックアップを構成します。この手順は Google Cloud CLI でのみ実行できます。
始める前に
Linux 環境の場合:
続行する前に、アプリケーション整合性スナップショットをお読みになり、始める前にの手順に沿って操作してください。
Linux 環境でアプリケーション整合性のあるディスク バックアップのバックアップ プランを作成するには、事前スクリプトと事後スクリプトが必要です。Linux 環境に必要なスナップショット前後のスクリプトを作成します。
Windows 環境の場合:
続行する前に、アプリケーション整合性スナップショットをご覧ください。
アプリケーション整合性のあるディスク バックアップのバックアップ プランを作成する
ディスクのアプリケーション整合性バックアップを作成するには、次の操作を行います。この手順は、gcloud CLI でのみ実行できます。
gcloud
バックアップ プランを作成します。
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: バックアップの作成頻度。時間間隔は、時間、日、週、月、年の単位で指定できます。HOURS: 1 時間ごとのバックアップの頻度。この値は、定期的な実行を 1 時間ごとに設定した場合にのみ指定します。最小時間数は常に 6 時間に設定されます。TIME_ZONE: バックアップ プランのタイムゾーン(UTC など)。IANA タイムゾーン形式を使用して、バックアップ プランのタイムゾーンを含めます。START_TIME: 開始時刻は 24 時間形式の時間です。開始時刻は終了時刻より前にする必要があります。バックアップ ウィンドウには開始時刻が含まれます。END_TIME: 終了時間は 24 時間形式の時刻です。終了時間は開始時間より後にする必要があります。また、バックアップ ウィンドウの終了時間は含まれません。BACKUP_RETENTION: バックアップの保持期間。バックアップの保持期間は、Backup Vault に適用される最短保持期間以上にする必要があります。MAX_ONDEMAND_RETENTION: このバックアップ プランを使用して作成されたオンデマンド バックアップで許可されるカスタム保持期間の最大値(日数)。
アプリケーション整合性のあるディスク バックアップ用に既存のバックアップ プランを更新する
バックアップ プランを更新してアプリケーション整合性のあるディスク バックアップを作成する手順は次のとおりです。
gcloud
バックアップ プランを更新します。
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 インスタンスと同じリージョンに存在する
ディスクに関連付けられているバックアップ プランを変更する手順は次のとおりです。
コンソール
Google Cloud コンソールで、[Vaulted backups] ページに移動します。
[Vaulted backups] ページには、バックアップ プランが適用され、バックアップがプロジェクト内の Backup Vault に保存されているインスタンスのみが表示されます。
別のプランを取得するデータリソースを選択します。バックアップのバックアップ詳細ページから、または Compute Engine インスタンスの右端にある メニューから、[バックアップ プランを変更] を選択します。
[バックアップ プランを選択] ウィンドウには、このインスタンスで有効なバックアップ プランのみが表示されます。バックアップ プランを選択し、[適用] をクリックします。
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。
スケジュール設定されたバックアップとオンデマンド バックアップを一覧表示する
バックアップされているディスクまたはバックアップがスケジュールされているディスクを一覧表示する手順は次のとおりです。
コンソール
Google Cloud コンソールで、[Vaulted backups] ページに移動します。
[Vaulted backups] ページには、バックアップ プランが適用され、バックアップがプロジェクト内の Backup Vault に保存されているインスタンスとディスクのみが表示されます。
ディスクをクリックして、そのディスクで使用可能なすべてのバックアップ(スケジュールされたバックアップとオンデマンド バックアップの両方)を表示します。
gcloud
スケジュールされたバックアップとオンデマンド バックアップを一覧表示します。
gcloud backup-dr backup-plan-associations list \ --location=LOCATION \ --project=PROJECT_ID次のように置き換えます。
LOCATION: スケジュール バックアップのロケーション。PROJECT_ID: プロジェクトの名前。
オンデマンド バックアップの作成
バックアップ プランがあるディスクのオンデマンド バックアップを開始するには、選択したバックアップ ルールをすぐに実行するようにトリガーします。オンデマンド バックアップは増分バックアップであり、前回のバックアップ以降に変更されたデータのみが取り込まれます。
オンデマンド バックアップを作成するときに、ディスクに関連付けられているバックアップ プランからルールを選択できます。このルールは、オンデマンド バックアップが削除されるタイミングを決定します。バックアップ ジョブのステータスは、[ジョブ] ページで確認できます。詳細については、 Google Cloud コンソールでバックアップ ジョブと復元ジョブをモニタリングするをご覧ください。
オンデマンド バックアップを作成する手順は次のとおりです。
コンソール
- [Vault に保存されているバックアップ] に移動します。
- バックアップするディスクを選択します。
- [オンデマンド バックアップを作成] をクリックします。
このバックアップを削除するタイミングを選択します。次のいずれかを行います。
- カスタム保持期間に基づく デフォルトでは、上限は Backup Vault の最小強制保持期間に 30 日を加えた期間として設定されます。別の上限を設定するには、バックアップ プランにカスタム オンデマンド保持期間の最大値を追加してください。
- 既存のバックアップ ルールに基づく。[次の期間の経過後バックアップを削除] プルダウンからルールを選択します。
[作成] をクリックして、オンデマンド バックアップの作成プロセスを開始します。
オンデマンド バックアップ ジョブのステータスを表示するには、[通知] をクリックします。
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 ペアのカンマ区切りリスト。
ディスクの保護を解除する
ディスクに適用されているバックアップ プランを削除すると、ディスクの保護を解除できます。ディスクからバックアップ プランを削除しても、バックアップ プランや、インスタンスの使用中に作成されたバックアップは削除されません。既存のバックアップには引き続きアクセスして管理できます。
ディスクの保護を解除する手順は次のとおりです。
コンソール
Google Cloud コンソールで、[Vaulted backups] ページに移動します。
バックアップ プランを削除するディスクの名前をクリックします。
[バックアップ プランを削除] を選択します。
gcloud
ディスクの保護を解除します。
gcloud backup-dr backup-plan-associations delete BACKUP_PLAN_ASSOCIATION_NAME\ --project=PROJECT_ID \ --location=REGION次のように置き換えます。
BACKUP_PLAN_ASSOCIATION_NAME: 削除するバックアップ プランの関連付けの名前。PROJECT_ID: プロジェクトの名前。REGION: スケジュール バックアップのロケーション。