スケジュールされたバックアップ プランを作成する

このドキュメントでは、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
        maxConcurrency: MAX_CONCURRENCY

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

  • BACKUP_PLAN_NAME: バックアップ プランの名前。
  • BACKUP_PLAN_NAMESPACE: バックアップ プランを含む Namespace。
  • BACKUP_TEMPLATE_NAME: VM バックアップ プラン テンプレートを作成するで作成された関連するバックアップ リポジトリを指す仮想マシン バックアップ プラン テンプレート。
  • VM_NAME: selectedVirtualMachines フィールドのリストとしての VM 名。この 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: 基盤となるストレージ プロビジョナーのバックアップと復元の機能を活用します。includeVolumeDatatrue の場合は、このオプションを使用します。
    • LocalSnapshotOnly: ローカル ストレージ システム自体にのみボリュームの特定の時点のコピーを作成します。
  • CRON_SCHEDULE: 選択したバックアップ スケジュールを定義する cron 式。たとえば、cron 値 0 */12 * * * は 12 時間ごとにバックアップを作成します。バックアップ スケジュールの最小間隔は 10 分です。

  • MAX_CONCURRENCY: バックアップ プランで同時に存在できるアクティブなスケジュール設定されたバックアップの最大数を指定します。指定した場合、このバックアップ プランのスケジュール設定されたバックアップのうち、一度にアクティブな状態にできるのはこの数までです。指定しない場合、デフォルトは 2 です。値は 1 ~ 7 の範囲で指定する必要があります。

ラベルを使用して 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
        maxConcurrency: MAX_CONCURRENCY

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

  • BACKUP_PLAN_NAME: バックアップ プランの名前。
  • BACKUP_PLAN_NAMESPACE: バックアップ プランを含む Namespace。
  • BACKUP_TEMPLATE_NAME: VM バックアップ プラン テンプレートを作成するで作成された関連するバックアップ リポジトリを指す仮想マシン バックアップ プラン テンプレート。
  • KEY: VALUE: 指定されたラベルをそのラベルを含む VM に一致させるラベル セレクタ。同じ Namespace 内で一致する VM は、このバックアップ プランによってバックアップされます。このオブジェクトは keys:string, values:string の形式にする必要があります。
  • VOLUME_STRATEGY: 実行するボリューム バックアップのタイプ。次のいずれかの値を使用する必要があります。
    • ProvisionerSpecific: 基盤となるストレージ プロビジョナーのバックアップと復元の機能を活用します。includeVolumeDatatrue の場合は、このオプションを使用します。
    • LocalSnapshotOnly: ローカル ストレージ システム自体にのみボリュームの特定の時点のコピーを作成します。
  • CRON_SCHEDULE: 選択したバックアップ スケジュールを定義する cron 式。たとえば、cron 値 0 */12 * * * は 12 時間ごとにバックアップを作成します。
  • MAX_CONCURRENCY: バックアップ プランで同時に存在できるアクティブなスケジュール設定されたバックアップの最大数を指定します。指定した場合、このバックアップ プランのスケジュール設定されたバックアップのうち、一度にアクティブな状態にできるのはこの数までです。指定しない場合、デフォルトは 2 です。値は 1 ~ 7 の範囲で指定する必要があります。

バックアップ プランの表示

バックアップ プランを表示するには、GDC コンソールまたは kubectl を使用します。

コンソール

GDC コンソールを使用してバックアップ プランのリストを表示します。

  1. GDC コンソールにログインします。
  2. ナビゲーション メニューで、[Backup for Virtual Machines] > [バックアップ プラン] をクリックします。
  3. プロジェクトを選択します。
  4. リスト内のバックアップ プランをクリックすると、その詳細が表示されます。

kubectl

バックアップ プランを表示するには、バックアップ プランを一覧表示し、kubectl を使用して詳細を表示します。

  1. 既存のバックアップ プランを一覧表示します。

    kubectl get backupplans.backup.gdc.goog -n PROJECT_NAME
    
  2. リストで、表示するバックアップ プランを見つけます。

  3. バックアップ プランの詳細を表示します。

    kubectl describe backupplans.backup.gdc.goog BACKUP_PLAN_NAME -n PROJECT_NAME
    

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

    • BACKUP_PLAN_NAME: バックアップ プランの名前。
    • PROJECT_NAME: プロジェクトの名前。

次のステップ