このページでは、Google Distributed Cloud(GDC)エアギャップでクラスタ ワークロードのバックアップ リポジトリを作成する方法について説明します。
バックアップ リポジトリは、バックアップ用の互換性のあるストレージの場所を表します。バックアップ リポジトリは、バックアップ、バックアップ プラン、復元プラン、復元のレコードを保存するためにも使用されます。
始める前に
バックアップ リポジトリを作成するには、次のものが必要です。- 互換性のあるエンドポイントが利用可能。
- バックアップ リポジトリとして使用する、以前に作成したバケット。
- オブジェクト ストレージ バケットのアクセス権が付与されている。
必要な ID とアクセスロール:
- 組織のバックアップ管理者: ユーザー クラスタのバックアップ プランや復元プランなどのバックアップ リソースを管理します。組織の IAM 管理者に、組織のバックアップ管理者(
organization-backup-admin
)ロールを付与するよう依頼します。詳細については、ロールの定義をご覧ください。
- 組織のバックアップ管理者: ユーザー クラスタのバックアップ プランや復元プランなどのバックアップ リソースを管理します。組織の IAM 管理者に、組織のバックアップ管理者(
リポジトリを作成する
リポジトリを作成するには、GDC コンソールまたは API を使用します。
コンソール
- GDC コンソールにログインします。
- ナビゲーション メニューで [Backup for Clusters] をクリックします。プロジェクト セレクタでプロジェクトが選択されていないことを確認します。
- [リポジトリを作成] をクリックします。
- リポジトリ名を入力します。説明は省略可能です。
- [メイン クラスタ(読み取り/書き込み)] リストで、クラスタを選択します。
- [リンクされたクラスタ(読み取り専用)] リストで、リンクされたクラスタを選択します。
- [S3 URI endpoint] フィールドに、オブジェクト ストレージ サイトの完全修飾ドメイン名を含むエンドポイントを入力します。
- [バケット名] フィールドに、バケットの完全修飾名を入力します。これは、GDC バケット カスタム リソースのステータスから確認できます。
- [バケット リージョン] フィールドに、バケットが作成されたリージョンを入力します。
- [アクセスキー ID] リストに、アクセスキー ID を入力します。
- [アクセスキー] フィールドにアクセスキーを入力します。
- [作成] をクリックします。
API
バックアップと復元の API を使用するには、バックアップのロケーションとなる有効な ClusterBackupRepository
カスタム リソースを構成し、必要な認証情報を指定する必要があります。
ストレージ バケットへのアクセス権の付与と取得で生成されたシークレットを取得します。
これらの認証情報を使用する
ClusterBackupRepository
カスタム リソースを追加し、新しいリソースを Management API サーバーに適用します。バックアップ リポジトリはクラスタ スコープです。apiVersion: backup.gdc.goog/v1 kind: ClusterBackupRepository metadata: name: user-1-user namespace: user-1-user-cluster spec: secretReference: namespace: "object-storage-secret-ns" name: "object-storage-secret" endpoint: "https://objectstorage.google.gdch.test" type: "S3" s3Options: bucket: "fully-qualified-bucket-name" region: "us-east-1" forcePathStyle: true importPolicy: "ReadWrite"
この例には次の値が含まれています。
値 説明 secretReference
endpoint
のアクセス認証情報を含むシークレットを参照するNamespacedName
。endpoint
ストレージ システムの完全修飾ドメイン名。 type
バックアップ リポジトリのタイプ。 S3
タイプのみがサポートされています。s3Options
S3 エンドポイントの構成。 type
がS3
の場合は必須です。bucket
: バケットの完全修飾名。これは、GDC バケット カスタム リソースのステータスから確認できます。region
: 指定されたエンドポイントのリージョン。リージョンはストレージ システム固有です。forcePathStyle
: このオプションは、オブジェクトのパス スタイル URL を強制するかどうかを決定します。
importPolicy
次のいずれかに設定します。
ReadWrite
: このリポジトリを使用して、バックアップ、バックアップ プラン、復元をスケジュールまたは作成できます。ReadOnly
: このリポジトリは、バックアップのインポートと表示にのみ使用できます。このリポジトリでは新しいバックアップやリソースを作成できませんが、復元では読み取り専用のバックアップを使用して参照できます。バックアップ リポジトリをReadOnly.
として使用できる頻度に制限はありません。
バックアップ リポジトリのインポート ポリシー
バックアップと復元の機能を正常に使用するには、すべてのクラスタに少なくとも 1 つの ReadWrite
リポジトリが必要です。ReadOnly
リポジトリは省略可能で、制限はありません。クロス クラスタ復元のために他のクラスタ バックアップの可視性を高めるために使用されます。
ReadOnly
リポジトリは、追加のバックアップの保存場所として、またはインポートされたクラスタ内のバックアップ プランとして使用できません。
リポジトリを ReadWrite
としてインポートすると、そのクラスタのリポジトリが要求され、他のクラスタが同じリポジトリを ReadWrite
としてインポートできなくなります。ReadWrite
リポジトリをインポートすると、そのリポジトリ内の以前のバックアップ、バックアップ プラン、復元のすべてのレコードが、ローカル カスタム リソースとしてターゲット クラスタにインポートされます。
リポジトリを ReadOnly
としてインポートしても、リポジトリは所有されません。バックアップ、バックアップ プラン、復元、復元プランのみがインポートされます。読み取り専用リポジトリのバックアップ プランはバックアップをスケジュールしません。インポート元のクラスタに存在するバックアップ プランを可視化するために存在します。ReadOnly
リポジトリを削除すると、クラスタからインポートされたリソースがクリーンアップされます。読み取り専用リポジトリのオブジェクト ストレージに対する書き込みオペレーションは発生しないため、ストレージ ロケーションのリソースには影響しません。
ReadWrite
リポジトリがクラスタから削除された場合:
- そのリポジトリに関連付けられているすべてのローカル カスタム リソース(バックアップや復元など)が現在のクラスタから削除されます。
- クラスタのリポジトリに対する所有権が削除され、リポジトリを別のクラスタで
ReadWrite
として使用できるようになります。ただし、これらのリソースはストレージ エンドポイントから削除されません。