バックアップ リポジトリを追加する

このページでは、Google Distributed Cloud(GDC)エアギャップでクラスタ ワークロードのバックアップ リポジトリを作成する方法について説明します。

バックアップ リポジトリは、バックアップ用の互換性のあるストレージの場所を表します。バックアップ リポジトリは、バックアップ、バックアップ プラン、復元プラン、復元のレコードを保存するためにも使用されます。

始める前に

バックアップ リポジトリを作成するには、次のものが必要です。

  • 互換性のあるエンドポイントが利用可能。
  • バックアップ リポジトリとして使用する、以前に作成したバケット
  • オブジェクト ストレージ バケットのアクセス権が付与されている
  • 必要な ID とアクセスロール:

    • 組織のバックアップ管理者: ユーザー クラスタのバックアップ プランや復元プランなどのバックアップ リソースを管理します。組織の IAM 管理者に、組織のバックアップ管理者(organization-backup-admin)ロールを付与するよう依頼します。詳細については、ロールの定義をご覧ください。

リポジトリを作成する

リポジトリを作成するには、GDC コンソールまたは API を使用します。

コンソール

  1. GDC コンソールにログインします。
  2. ナビゲーション メニューで [Backup for Clusters] をクリックします。プロジェクト セレクタでプロジェクトが選択されていないことを確認します。
  3. [リポジトリを作成] をクリックします。
  4. リポジトリ名を入力します。説明は省略可能です。
  5. [メイン クラスタ(読み取り/書き込み)] リストで、クラスタを選択します。
  6. [リンクされたクラスタ(読み取り専用)] リストで、リンクされたクラスタを選択します。
  7. [S3 URI endpoint] フィールドに、オブジェクト ストレージ サイトの完全修飾ドメイン名を含むエンドポイントを入力します。
  8. [バケット名] フィールドに、バケットの完全修飾名を入力します。これは、GDC バケット カスタム リソースのステータスから確認できます。
  9. [バケット リージョン] フィールドに、バケットが作成されたリージョンを入力します。
  10. [アクセスキー ID] リストに、アクセスキー ID を入力します。
  11. [アクセスキー] フィールドにアクセスキーを入力します。
  12. [作成] をクリックします。

API

バックアップと復元の API を使用するには、バックアップのロケーションとなる有効な ClusterBackupRepository カスタム リソースを構成し、必要な認証情報を指定する必要があります。

  1. ストレージ バケットへのアクセス権の付与と取得で生成されたシークレットを取得します。

  2. これらの認証情報を使用する 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 エンドポイントの構成。typeS3 の場合は必須です。
    • bucket: バケットの完全修飾名。これは、GDC バケット カスタム リソースのステータスから確認できます。
    • region: 指定されたエンドポイントのリージョン。リージョンはストレージ システム固有です。
    • forcePathStyle: このオプションは、オブジェクトのパス スタイル URL を強制するかどうかを決定します。
    importPolicy 次のいずれかに設定します。
    • ReadWrite: このリポジトリを使用して、バックアップ、バックアップ プラン、復元をスケジュールまたは作成できます。
    • ReadOnly: このリポジトリは、バックアップのインポートと表示にのみ使用できます。このリポジトリでは新しいバックアップやリソースを作成できませんが、復元では読み取り専用のバックアップを使用して参照できます。バックアップ リポジトリを ReadOnly. として使用できる頻度に制限はありません。

バックアップ リポジトリのインポート ポリシー

バックアップと復元の機能を正常に使用するには、すべてのクラスタに少なくとも 1 つの ReadWrite リポジトリが必要です。ReadOnly リポジトリは省略可能で、制限はありません。クロス クラスタ復元のために他のクラスタ バックアップの可視性を高めるために使用されます。

ReadOnly リポジトリは、追加のバックアップの保存場所として、またはインポートされたクラスタ内のバックアップ プランとして使用できません。

リポジトリを ReadWrite としてインポートすると、そのクラスタのリポジトリが要求され、他のクラスタが同じリポジトリを ReadWrite としてインポートできなくなります。ReadWrite リポジトリをインポートすると、そのリポジトリ内の以前のバックアップ、バックアップ プラン、復元のすべてのレコードが、ローカル カスタム リソースとしてターゲット クラスタにインポートされます。

リポジトリを ReadOnly としてインポートしても、リポジトリは所有されません。バックアップ、バックアップ プラン、復元、復元プランのみがインポートされます。読み取り専用リポジトリのバックアップ プランはバックアップをスケジュールしません。インポート元のクラスタに存在するバックアップ プランを可視化するために存在します。ReadOnly リポジトリを削除すると、クラスタからインポートされたリソースがクリーンアップされます。読み取り専用リポジトリのオブジェクト ストレージに対する書き込みオペレーションは発生しないため、ストレージ ロケーションのリソースには影響しません。

ReadWrite リポジトリがクラスタから削除された場合:

  • そのリポジトリに関連付けられているすべてのローカル カスタム リソース(バックアップや復元など)が現在のクラスタから削除されます。
  • クラスタのリポジトリに対する所有権が削除され、リポジトリを別のクラスタで ReadWrite として使用できるようになります。ただし、これらのリソースはストレージ エンドポイントから削除されません。

次のステップ