このページでは、Google Distributed Cloud(GDC)のエアギャップで仮想マシン(VM)のバックアップ リポジトリを作成する方法について説明します。
バックアップまたはスナップショットを作成する前に、複数のバックアップまたはスナップショット間で共有できるバックアップ リポジトリを 1 つ以上定義する必要があります。バックアップ リポジトリは、バックアップを保存または取得する場所をバックアップ システムに指示します。VM のバックアップ リポジトリは Management API サーバーに制限されています。
始める前に
バックアップ リポジトリを作成するには、次のものが必要です。
- バケットのストレージ バケットと S3 認証情報。
必要な ID とアクセスロール:
- 組織のバックアップ管理者: ユーザー クラスタのバックアップ プランや復元プランなどのバックアップ リソースを管理します。組織の IAM 管理者に、組織のバックアップ管理者(
organization-backup-admin
)ロールを付与するよう依頼します。詳細については、ロールの定義をご覧ください。
- 組織のバックアップ管理者: ユーザー クラスタのバックアップ プランや復元プランなどのバックアップ リソースを管理します。組織の IAM 管理者に、組織のバックアップ管理者(
バックアップ リポジトリを作成する
GDC コンソールまたは API を使用してリポジトリを作成します。
コンソール
- GDC コンソールにログインします。
- ナビゲーション メニューで、[Backup for Virtual Machines] > [リポジトリ] をクリックします。
- [リポジトリを作成] をクリックします。
- リポジトリ名と説明(省略可)を入力します。
- [S3 URI endpoint] フィールドに、オブジェクト ストレージ サイトの完全修飾ドメイン名を含むエンドポイントを入力します。
- [バケット名] フィールドに、バケットの名前を入力します。
- [バケット リージョン] フィールドに、バケットが作成されたリージョンを入力します。
- [アクセスキー ID] リストに、アクセスキー ID を入力します。
- [アクセスキー] フィールドにアクセスキーを入力します。
- [作成] をクリックします。
API
認証情報を使用して ClusterBackupRepository
カスタム リソースを作成します。
認証情報(
access-key
とaccess-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
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 サーバーに作成します。