このページでは、Google Distributed Cloud(GDC)エアギャップ環境でクラスタ ワークロードのバックアップ プランを作成して管理する方法について説明します。
バックアップ プランは、一連のバックアップの構成、ロケーション、管理機能を提供します。 バックアップ プランには、ソースクラスタやバックアップするワークロードの選択などのバックアップ構成が含まれます。Google では、すべてのクラスタに少なくとも 1 つのバックアップ プランを提供することをおすすめします。
クラスタごとに 1 つ以上のバックアップ プランを作成できます。次のような理由で、クラスタのバックアップをパーティション分割することがあります。
- 1 日に 1 回だけ非常に大きなバックアップを作成するのではなく、1 日を通して複数の小さなバックアップを作成したい。
- クラスタの一部を他の部分よりも頻繁にバックアップする(たとえば、一部の名前空間を毎日バックアップし、他の名前空間は 1 時間ごとにバックアップする場合など)。
1 つのクラスタまたは仮想マシン(VM)は、1 つ以上のバックアップ プランに属することができます。バックアップ プランは複数のクラスタにまたがることはできませんが、同じクラスタ内に複数の VM が存在する場合は、1 つのバックアップ プランで複数の VM をキャプチャできます。すべてのバックアップ リソースと復元リソースは、プロジェクト名に関連付ける必要があります。
始める前に
バックアップ プランを作成するには、次のものが必要です。
- 必要な ID とアクセスロール:
- ユーザー クラスタ バックアップ管理者: ユーザー クラスタ内のバックアップ プランや復元プランなどのバックアップ リソースを管理します。組織 IAM 管理者に、ユーザー クラスタ バックアップ管理者(
user-cluster-backup-admin)ロールの付与を依頼してください。詳細については、ロールの定義をご覧ください。
- ユーザー クラスタ バックアップ管理者: ユーザー クラスタ内のバックアップ プランや復元プランなどのバックアップ リソースを管理します。組織 IAM 管理者に、ユーザー クラスタ バックアップ管理者(
- アプリケーション オペレーターの場合は、ユーザー クラスタ バックアップ管理者の権限を持つ管理者にバックアップ プランの作成を依頼してください。
- ユーザー クラスタをバックアップする場合は、バックアップ プランの作成に使用するプロジェクトがそのクラスタに接続されていることを確認してください。
バックアップ プランの作成
バックアップ プランの cron スケジュールを定義し、そのスケジュールに従ってバックアップが自動的に作成されるようにすることをおすすめします。ワークロードを手動でバックアップすることもできます。詳細については、手動バックアップの作成をご覧ください。
バックアップ プランを作成するには、GDC コンソールまたは API を使用します。
コンソール
- GDC コンソールにログインします。
- ナビゲーション メニューで [クラスタのバックアップ] をクリックします。
- [バックアップ プランを作成] をクリックします。
- [**プランの詳細**] セクションで、次の操作を行い、
[**続行**] をクリックします。
- [クラスタ] リストで、バックアップするクラスタを選択します。
- [プロジェクト] リストで、プロジェクトを選択します。
- [バックアップ プラン名] フィールドに、選択したバックアップ プラン名を入力します。
- (省略可)[バックアップ プランの説明] に、バックアップ プランの説明を入力します。
- [バックアップ リポジトリ] フィールドで、バックアップ リポジトリを選択します。バックアップ リポジトリは、オブジェクト ストレージ実装のセットです。
- [次へ] をクリックします。
[**スコープと暗号化**] セクションで、次の操作を行い、[**続行**] をクリックします。
バックアップ プランのスコープを次のいずれかを選択します。
- [クラスタ全体] をクリックして、バックアップ内のすべての名前空間リソースをバックアップします。
- [クラスタ内の選択した名前空間] をクリックして、バックアップするクラスタ内の名前空間を選択します。
- [クラスタの名前空間を編集]、[クラスタの名前空間を追加] の順にクリックして、[名前空間] を入力します。
- [このクラスタ内の選択した保護対象アプリケーション] をクリックして、名前空間とアプリケーション名を指定してリソースを追加します。
- [保護対象アプリケーションを編集]、[保護対象アプリケーションを追加] の順にクリックして、[名前空間] と [保護対象アプリケーション] を入力します。
[シークレットを含める] をクリックして、Kubernetes
Secretリソースを含めます。バックアップにボリューム データを含める場合は、[永続ボリューム データを含める] をクリックします。バックアップ中に空のボリュームを作成する場合は、このチェックボックスをオフにします。
In the [Schedule and retention] section, complete the following steps and click [Continue]:
- スケジュールを定義するには、[CRON 文字列] フィールドに標準の cron 構文を使用して式を入力します。たとえば、式
10 3 * * *は毎日 03:10 にバックアップを作成します。時刻はすべて UTC と解釈されます。バックアップ スケジュールの最小間隔は 10 分です。 - [次の期間後にバックアップを削除] フィールドに、バックアップを保持する日数を設定します。日数が経過すると、バックアップは自動的に削除されます。
- バックアップを削除できない日数を設定します。
- 保持ポリシーをロックするには、鍵アイコンをクリックして、ロックをオフ からオン に切り替えます。
- スケジュールを定義するには、[CRON 文字列] フィールドに標準の cron 構文を使用して式を入力します。たとえば、式
バックアップ プランの詳細を確認して、[プランの作成] をクリックします。
API
クラスタに ClusterBackupPlan カスタム リソースを作成して、バックアップをスケジュールします。バックアップ
プランは、backupSchedule に基づいて定期的にバックアップをスケジュールします。
ClusterBackupPlan
リソースは Namespace リソースです。ClusterBackupPlan の例を次に示します。
apiVersion: backup.gdc.goog/v1
kind: ClusterBackupPlan
metadata:
name: CLUSTER_BACKUP_PLAN
namespace: PROJECT_NAME
spec:
targetCluster:
targetClusterType: UserCluster
targetClusterName:
kind: "Cluster"
name: CLUSTER_NAME
backupSchedule:
cronSchedule: CRON_SCHEDULE
paused: BACKUP_SCHEDULE_STATUS
clusterBackupConfig:
backupScope:
selectedNamespaces:
namespaces: [NAME_SPACE]
clusterBackupRepositoryName: CLUSTER_BACKUP_REPOSITORY
retentionPolicy:
backupDeleteLockDays: BACKUP_DELETE_LOCK_DAYS
backupRetainDays: BACKUP_RETAIN_DAYS
description: BACKUP_PLAN_DESCRIPTION
次のように置き換えます。
CLUSTER_BACKUP_PLAN: クラスタ バックアップ プランの名前。PROJECT_NAME: GDC プロジェクトの名前。CLUSTER_NAME: バックアップするクラスタの名前。囲みフィールドtargetClusterには、次のコンポーネントがあります。targetClusterType: バックアップするクラスタのタイプ(UserCluster、ManagementAPIなど)。この例ではUserClusterを使用します。targetClusterName:nameを含みます。これはCLUSTER_NAMEによって設定されます。
CRON_SCHEDULE: バックアップをスケジュールするタイミングを示す crontab スケジュール("*/30 * * * *"など)。バックアップ スケジュールの最小間隔は 10 分です。BACKUP_SCHEDULE_STATUS:trueの場合、定期的なバックアップはスケジュールされません。NAME_SPACE: バックアップに含める Namespace のリスト。囲みフィールドclusterBackupConfigには、バックアップの構成の詳細が含まれています。backupScope: バックアップされるリソースを示します。この例ではselectedNamespacesを使用します。使用できる値は次のとおりです。allNamespaces: すべての Namespace のすべてのリソースをキャプチャします。selectedNamespaces: 指定された Namespace のリスト内のリソースをキャプチャします。selectedApplication:protectedApplicationsで定義されたリソースをキャプチャします。
namespaces:backupScopeがselectedNamespacesの場合に適用されます。
CLUSTER_BACKUP_REPOSITORY:clusterBackupConfigのclusterBackupRepositoryNameの値。これはバックアップを保存するターゲット リポジトリであり、ReadWriteとしてインポートする必要があります。BACKUP_DELETE_LOCK_DAYS: バックアップの作成後に指定した日数(10 daysなど)はバックアップを削除できません。BACKUP_RETAIN_DAYS: バックアップを保持する合計日数を定義します。この期間を過ぎると、バックアップは自動的に削除されます。この値を大きくするとストレージが不足する可能性がありますが、値を小さくするとデータ損失のリスクが高まります。指定しない場合、この値はデフォルトで 35 に設定されます。保持ポリシーは、ストレージ ロケーションの保持ポリシーをオーバーライドすることはできません。また、90 日を超えることはできません。BACKUP_PLAN_DESCRIPTION: バックアップ プランの説明。
バックアップ プランを作成すると、バックアップ スケジュールに基づいて、指定したバックアップ構成でバックアップが自動的に作成されます。
バックアップ プランの表示
GDC コンソールを使用してバックアップ プランを表示します。
- GDC コンソールにログインします。
- ナビゲーション メニューで [クラスタのバックアップ] をクリックします。
- [プロジェクトを選択] をクリックし、ロールに応じて組織またはプロジェクトを選択します。
- ユーザー クラスタ バックアップ管理者: 組織を選択して組織内のすべてのバックアップ プランを表示するか、プロジェクトを選択してプロジェクト内のすべてのバックアップ プランを表示します。
- バックアップ作成者: プロジェクトを選択して、プロジェクト内のすべてのバックアップ プランを表示します。
- [バックアップ プラン] タブをクリックします。
- リスト内のバックアップ プランをクリックして、詳細を表示します。ユーザー クラスタ バックアップ管理者の権限を持つユーザーは、組織内のすべてのバックアップ プランを表示できます。バックアップ作成者のロールを持つユーザーは、選択したプロジェクト内のすべてのバックアップ プランを表示できます。
バックアップ プランを編集する
GDC コンソールを使用してバックアップ プランを編集します。
- GDC コンソールにログインします。
- ナビゲーション メニューで [クラスタのバックアップ] をクリックします。
-
[**プロジェクトを選択**] をクリックし、ロールに応じて組織またはプロジェクトを選択します。
- ユーザー クラスタ バックアップ管理者: 組織を選択して組織内のすべてのバックアップ プランを表示するか、プロジェクトを選択してプロジェクト内のすべてのバックアップ プランを表示します。
- バックアップ作成者: プロジェクトを選択して、プロジェクト内のすべてのバックアップ プランを表示します。
- [バックアップ プラン] タブをクリックします。
- 編集するバックアップ プランの名前をクリックします。
- [プランの構成] タブをクリックして、変更可能なフィールドを表示します。
edit[**スケジュールと保持**] の編集アイコンをクリックして、そのリソースを編集します。
- スケジュールを更新するには、[CRON 文字列] フィールドに標準の cron 構文を使用して式を入力します。たとえば、式
10 3 * * *は毎日 03:10 にバックアップを作成します。時刻はすべて UTC と解釈されます。バックアップ スケジュールの最小間隔は 10 分です。 - [次の期間後にバックアップを削除] フィールドに、バックアップを保持する日数を設定します。日数が経過すると、バックアップは自動的に削除されます。
[削除を防止する期間] フィールドに、バックアップを削除できない日数を設定します。
保持ポリシーをロックするには、鍵アイコン をクリックして、オフ から オン に切り替えます。
[保存] ボタンをクリックして、変更を確定します。
- スケジュールを更新するには、[CRON 文字列] フィールドに標準の cron 構文を使用して式を入力します。たとえば、式
バックアップ プランを無効にする
GDC コンソールを使用してバックアップ プランを無効にします。
- GDC コンソールにログインします。
- ナビゲーション メニューで [クラスタのバックアップ] をクリックします。
-
[**プロジェクトを選択**] をクリックし、ロールに応じて組織またはプロジェクトを選択します。
- ユーザー クラスタ バックアップ管理者: 組織を選択して組織内のすべてのバックアップ プランを表示するか、プロジェクトを選択してプロジェクト内のすべてのバックアップ プランを表示します。
- バックアップ作成者: プロジェクトを選択して、プロジェクト内のすべてのバックアップ プランを表示します。
- [バックアップ プラン] タブをクリックします。
- 無効にするバックアップ プランの名前をクリックします。
- [プランを無効にする] ボタンをクリックします。
- 無効にするバックアップ プランの名前をフィールドに入力します。
[無効にする] ボタンをクリックして、このバックアップ プランの無効化を完了します。