このドキュメントでは、Google Distributed Cloud(GDC)のエアギャップで定義されたスケジュールで仮想マシン(VM)ワークロードをバックアップするスケジュール設定されたバックアップ プランを作成する方法について説明します。
バックアップ プランは、バックアップの構成とロケーションを提供します。バックアップ プランには、ソース VM とバックアップする VM の選択を含むバックアップ構成が含まれます。バックアップ プランは、VM のバックアップが実行される定期的なスケジュールを定義します。VM ベースのすべてのバックアップ プランは、ProtectedApplication リソースで定義されたラベル セレクタを使用して、バックアップするターゲット VM または VM ディスク リソースを参照します。
このドキュメントは、VM バックアップ オペレーションを管理するプラットフォーム管理者グループまたはアプリケーション オペレーター グループのデベロッパーを対象としています。詳細については、GDC エアギャップの対象読者に関するドキュメントをご覧ください。
始める前に
VM バックアップ プランを作成するには、次のものが必要です。
IAM 権限をリクエストする
ユーザー クラスタ内でのバックアップ プランと復元プランの作成、表示、削除など、VM バックアップ リソースのライフサイクルを管理するには、組織の IAM 管理者に組織のバックアップ管理者(organization-backup-admin)ロールを付与するよう依頼してください。このロールを使用すると、VM データ保護戦略を構成して実行できます。
VM のバックアップ プラン テンプレートを作成する
バックアップを計画するには、VirtualMachineBackupPlanTemplate カスタム リソースを作成します。次に VirtualMachineBackupPlanTemplate の例を示します。
apiVersion: virtualmachine.gdc.goog/v1
kind: VirtualMachineBackupPlanTemplate
metadata:
name: BACKUP_TEMPLATE_NAME
namespace: PROJECT_NAME
spec:
backupRepository: "BACKUP_REPOSITORY_NAME"
次のように置き換えます。
BACKUP_TEMPLATE_NAME: バックアップ プラン テンプレートの名前。PROJECT_NAME: テンプレートを作成するプロジェクトの名前。BACKUP_REPOSITORY_NAME: 前のセクションで作成したリポジトリの名前。
VM の定義済みバックアップ プランを作成する
スコープが指定された定義済みのスケジュールで VM バックアップを作成するには、API を使用して VirtualMachineBackupPlan リソースを作成する必要があります。このリソースは、VM バックアップのスコープと、バックアップ作成の頻度を定義する cron スケジュールを指定します。
VM バックアップ プランのスコープを設定するには、次の 2 つの方法があります。
- リストを使用する: バックアップする仮想マシンまたは仮想マシン ディスクをリスト形式で指定します。これらのバックアップ ターゲットは、
selectedVirtualMachinesフィールドとselectedVirtualMachineDisksフィールドにリストされています。 - ラベルを使用する: そのラベル値を含むすべての仮想マシンまたは仮想マシン ディスクを選択するラベルを指定します。一致する VM は、このバックアップ プランによってバックアップされます。
リストを使用して VM バックアップ プランを作成する
リストメソッドを使用して VM バックアップ プランを作成するには、selectedVirtualMachines フィールドと selectedVirtualMachineDisks フィールドでバックアップ ターゲットを指定します。
apiVersion: virtualmachine.gdc.goog/v1
kind: VirtualMachineBackupPlan
metadata:
name: BACKUP_PLAN_NAME
namespace: BACKUP_PLAN_NAMESPACE
spec:
virtualMachineBackupPlanTemplate: BACKUP_TEMPLATE_NAME
backupConfig:
backupScope:
selectedVirtualMachines:
- resourceName: VM_NAME
selectedVirtualMachineDisks:
- resourceName: VM_DISK_NAME
volumeStrategy: VOLUME_STRATEGY
backupSchedule:
cronSchedule: CRON_SCHEDULE
paused: false
次のように置き換えます。
BACKUP_PLAN_NAME: バックアップ プランの名前。BACKUP_PLAN_NAMESPACE: バックアップ プランを含む Namespace。BACKUP_TEMPLATE_NAME: VM バックアップ プラン テンプレートを作成するで作成された関連するバックアップ リポジトリを指す仮想マシン バックアップ プラン テンプレート。VM_NAME:selectedVirtualMachinesフィールドに VM 名をリストとして指定します。この VM のリストは、この仮想マシン バックアップ プランによってバックアップされます。複数の VM を指定する場合は、リストを次の形式にする必要があります。selectedVirtualMachines: - resourceName: "virtualmachine" - resourceName: "virtualmachine-2" ... - resourceName: "virtualmachine-n"VM_DISK_NAME: この仮想マシン バックアップ プランでバックアップする VM ディスク。複数の VM ディスクを指定する場合は、リストを次の形式にする必要があります。selectedVirtualMachineDisks: - resourceName: "disk-1" - resourceName: "disk-2" ... - resourceName: "disk-n"VOLUME_STRATEGY: 実行するボリューム バックアップのタイプ。次のいずれかの値を使用する必要があります。ProvisionerSpecific: 基盤となるストレージ プロビジョナーのバックアップと復元機能を活用します。includeVolumeDataがtrueの場合は、このオプションを使用します。LocalSnapshotOnly: ローカル ストレージ システム自体にのみボリュームの特定の時点のコピーを作成します。
CRON_SCHEDULE: 選択したバックアップ スケジュールを定義する cron 式。たとえば、cron 値0 */12 * * *は 12 時間ごとにバックアップを作成します。
ラベルを使用して VM バックアップ プランを作成する
ラベル方式を使用して VM バックアップ プランを作成するには、バックアップするターゲット VM と一致するラベルを vmResourceLabelSelector フィールドで指定します。
apiVersion: virtualmachine.gdc.goog/v1
kind: VirtualMachineBackupPlan
metadata:
name: BACKUP_PLAN_NAME
namespace: BACKUP_PLAN_NAMESPACE
spec:
virtualMachineBackupPlanTemplate: BACKUP_TEMPLATE_NAME
backupConfig:
backupScope:
vmResourceLabelSelector:
KEY: VALUE
volumeStrategy: VOLUME_STRATEGY
backupSchedule:
cronSchedule: CRON_SCHEDULE
paused: false
次のように置き換えます。
BACKUP_PLAN_NAME: バックアップ プランの名前。BACKUP_PLAN_NAMESPACE: バックアップ プランを含む Namespace。BACKUP_TEMPLATE_NAME: VM バックアップ プラン テンプレートを作成するで作成された関連するバックアップ リポジトリを指す仮想マシン バックアップ プラン テンプレート。KEY: VALUE: 指定されたラベルをそのラベルを含む VM に一致させるラベル セレクタ。同じ Namespace 内で一致する VM は、このバックアップ プランによってバックアップされます。このオブジェクトはkeys:string, values:stringの形式にする必要があります。VOLUME_STRATEGY: 実行するボリューム バックアップのタイプ。次のいずれかの値を使用する必要があります。ProvisionerSpecific: 基盤となるストレージ プロビジョナーのバックアップと復元機能を活用します。includeVolumeDataがtrueの場合は、このオプションを使用します。LocalSnapshotOnly: ローカル ストレージ システム自体にのみボリュームの特定の時点のコピーを作成します。
CRON_SCHEDULE: 選択したバックアップ スケジュールを定義する cron 式。たとえば、cron 値0 */12 * * *は 12 時間ごとにバックアップを作成します。
バックアップ プランの表示
バックアップ プランを表示するには、GDC コンソールまたは kubectl を使用します。
Console
GDC コンソールを使用してバックアップ プランのリストを表示します。
- GDC コンソールにログインします。
- ナビゲーション メニューで、[Backup for Virtual Machines] > [バックアップ プラン] をクリックします。
- プロジェクトを選択します。
- リスト内のバックアップ プランをクリックすると、その詳細が表示されます。
kubectl
バックアップ プランを表示するには、バックアップ プランを一覧表示し、kubectl を使用して詳細を表示します。
既存のバックアップ プランを一覧表示します。
kubectl get backupplans.backup.gdc.goog -n PROJECT_NAMEリストで、表示するバックアップ プランを見つけます。
バックアップ プランの詳細を表示します。
kubectl describe backupplans.backup.gdc.goog BACKUP_PLAN_NAME -n PROJECT_NAME次のように置き換えます。
BACKUP_PLAN_NAME: バックアップ プランの名前。PROJECT_NAME: プロジェクトの名前。