バックアップ リポジトリを作成する

このページでは、Google Distributed Cloud(GDC)のエアギャップで仮想マシン(VM)のバックアップ リポジトリを作成する方法について説明します。

バックアップまたはスナップショットを作成する前に、複数のバックアップまたはスナップショット間で共有できるバックアップ リポジトリを 1 つ以上定義する必要があります。バックアップ リポジトリは、バックアップを保存または取得する場所をバックアップ システムに指示します。VM のバックアップ リポジトリは Management API サーバーに制限されています。

始める前に

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

  • バケットのストレージ バケットと S3 認証情報
  • 必要な ID とアクセスロール:

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

バックアップ リポジトリを作成する

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

コンソール

  1. GDC コンソールにログインします。
  2. ナビゲーション メニューで、[Backup for Virtual Machines] > [リポジトリ] をクリックします。
  3. [リポジトリを作成] をクリックします。
  4. リポジトリ名と説明(省略可)を入力します。
  5. [S3 URI endpoint] フィールドに、オブジェクト ストレージ サイトの完全修飾ドメイン名を含むエンドポイントを入力します。
  6. [バケット名] フィールドに、バケットの名前を入力します。
  7. [バケット リージョン] フィールドに、バケットが作成されたリージョンを入力します。
  8. [アクセスキー ID] リストに、アクセスキー ID を入力します。
  9. [アクセスキー] フィールドにアクセスキーを入力します。
  10. [作成] をクリックします。

API

認証情報を使用して ClusterBackupRepository カスタム リソースを作成します。

  1. 認証情報(access-keyaccess-key-id)を Management API サーバーにシークレットとして追加し、さまざまな VM のバックアップと復元に使用できるストレージ バケットと通信します。このシークレットは、バックアップと復元オペレーションを自動化するために Management API サーバーに追加されます。このシークレットは、バックアップまたは復元される VM の内部には存在しません。認証情報は次の例のようになります。

    apiVersion: v1
    kind: Namespace
    metadata:
      name: "s3-secret-ns"
      labels:
        name: "s3-secret-ns"
    ---
    apiVersion: v1
    kind: Secret
    metadata:
      namespace: "s3-secret-ns"
      name: "s3-secret"
    type: Opaque
    data:
      access-key-id: YWNjZXNzS2V5MQ== # echo -n accessKey1 | base64 -w0
      access-key:  dmVyeVNlY3JldEtleTE= # echo -n verySecretKey1 | base64 -w0
    
  2. Management API サーバーに ClusterBackupRepository を直接作成します。

    apiVersion: backup.gdc.goog/v1
    kind: ClusterBackupRepository
    metadata:
      name: REPOSITORY_NAME
    spec:
      secretReference:
        namespace: STORAGE_NAMESPACE
        name: STORAGE_NAME
      endpoint: ENDPOINT
      type: "S3"
      s3Options:
        bucket: BUCKET_NAME
        region: REGION
        forcePathStyle: FORCE_PATH_STYLE
      importPolicy: IMPORT_POLICY
    

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

    • REPOSITORY_NAME: バックアップ リポジトリの名前。
    • STORAGE_NAMESPACE: エンドポイントのアクセス認証情報を含む Secret の Namespace(object-storage-secret-ns など)。
    • STORAGE_NAME: エンドポイントのアクセス認証情報を含む Secret の名前(object-storage-secret など)。
    • ENDPOINT: ストレージ システムの完全修飾ドメイン名(https://objectstorage.google.gdch.test など)。type フィールドでは、S3 の値のみがサポートされます。
    • BUCKET_NAME: バケットの名前。
    • REGION: バケットが作成されたリージョン。
    • FORCE_PATH_STYLE: forcePathStyle フィールドを使用して、オブジェクトのパス スタイル URL を強制的に適用します。このフィールドの値は true または false にする必要があります。
    • IMPORT_POLICY: 次のいずれかに設定します。
      • ReadWrite: このリポジトリを使用して、バックアップ、バックアップ プラン、復元をスケジュールまたは作成できます。
      • ReadOnly: このリポジトリは、バックアップのインポートと表示にのみ使用できます。このリポジトリでは新しいバックアップやリソースを作成できませんが、復元では読み取り専用バックアップを使用して参照できます。バックアップ リポジトリを ReadOnly として使用できる頻度に制限はありません。

    ClusterBackupRepository は、同じ名前の読み取り / 書き込みが有効な BackupRepository リソースを Management API サーバーに作成します。

次のステップ