이 문서에서는 Google Distributed Cloud (GDC) 에어 갭에서 정의된 일정에 따라 가상 머신 (VM) 워크로드를 백업하는 예약 백업 계획을 만드는 방법을 설명합니다.
백업 계획은 백업의 구성과 위치를 제공합니다. 백업 계획에는 소스 VM 및 백업할 VM 선택을 포함한 백업 구성이 포함됩니다. 백업 계획은 VM 백업이 발생하는 정기 일정을 정의합니다. 모든 VM 기반 백업 계획은 ProtectedApplication 리소스에 정의된 라벨 선택기를 사용하여 백업할 대상 VM 또는 VM 디스크 리소스를 참조합니다.
이 문서는 VM 백업 작업을 관리하는 플랫폼 관리자 또는 애플리케이션 운영자 그룹의 개발자를 대상으로 합니다. 자세한 내용은 GDC 오프라인 문서의 대상을 참고하세요.
시작하기 전에
VM 백업 계획을 만들려면 다음이 필요합니다.
IAM 권한 요청
사용자 클러스터 내에서 백업 및 복원 계획을 생성, 보기, 삭제하는 등 VM 백업 리소스의 수명 주기를 관리하려면 조직 IAM 관리자에게 조직 백업 관리자 (organization-backup-admin) 역할을 부여해 달라고 요청하세요. 이 역할을 사용하면 VM 데이터 보호 전략을 구성하고 실행할 수 있습니다.
VM의 백업 계획 템플릿 만들기
백업을 계획하려면 VirtualMachineBackupPlanTemplate 커스텀 리소스를 만드세요. VirtualMachineBackupPlanTemplate의 예는 다음과 같습니다.
apiVersion: virtualmachine.gdc.goog/v1
kind: VirtualMachineBackupPlanTemplate
metadata:
name: BACKUP_TEMPLATE_NAME
namespace: PROJECT_NAME
spec:
backupRepository: "BACKUP_REPOSITORY_NAME"
다음을 바꿉니다.
BACKUP_TEMPLATE_NAME: 백업 계획 템플릿의 이름입니다.PROJECT_NAME: 템플릿을 만들 프로젝트의 이름입니다.BACKUP_REPOSITORY_NAME: 이전 섹션에서 만든 저장소의 이름입니다.
VM의 정의된 백업 계획 만들기
범위가 지정된 정의된 일정에 따라 VM 백업을 만들려면 API를 사용하여 VirtualMachineBackupPlan 리소스를 만들어야 합니다. 이 리소스는 VM 백업의 범위와 백업 생성 빈도를 정의하는 cron 일정을 지정합니다.
다음 두 가지 방법으로 VM 백업 계획의 범위를 설정합니다.
- 목록 사용: 백업할 가상 머신 또는 가상 머신 디스크를 목록 형식으로 지정합니다. 이러한 백업 타겟은
selectedVirtualMachines및selectedVirtualMachineDisks필드에 나열됩니다. - 라벨 사용: 해당 라벨 값을 포함하는 모든 가상 머신 또는 가상 머신 디스크를 선택하는 라벨을 제공합니다. 일치하는 VM은 이 백업 계획에 따라 백업됩니다.
목록을 사용하여 VM 백업 계획 만들기
목록 메서드를 사용하여 VM 백업 계획을 만들려면 selectedVirtualMachines 및 selectedVirtualMachineDisks 필드에 백업 타겟을 지정합니다.
apiVersion: virtualmachine.gdc.goog/v1
kind: VirtualMachineBackupPlan
metadata:
name: BACKUP_PLAN_NAME
namespace: BACKUP_PLAN_NAMESPACE
spec:
virtualMachineBackupPlanTemplate: BACKUP_TEMPLATE_NAME
backupConfig:
backupScope:
selectedVirtualMachines:
- resourceName: VM_NAME
selectedVirtualMachineDisks:
- resourceName: VM_DISK_NAME
volumeStrategy: VOLUME_STRATEGY
backupSchedule:
cronSchedule: CRON_SCHEDULE
paused: false
다음을 바꿉니다.
BACKUP_PLAN_NAME: 백업 계획 이름.BACKUP_PLAN_NAMESPACE: 백업 계획이 포함된 네임스페이스BACKUP_TEMPLATE_NAME: VM 백업 계획 템플릿 만들기에서 만든 관련 백업 저장소를 가리키는 가상 머신 백업 계획 템플릿입니다.VM_NAME:selectedVirtualMachines필드에 VM 이름을 목록으로 지정합니다. 이 가상 머신 백업 계획으로 백업되는 VM 목록입니다. VM을 두 개 이상 지정하는 경우 목록은 다음 형식이어야 합니다.selectedVirtualMachines: - resourceName: "virtualmachine" - resourceName: "virtualmachine-2" ... - resourceName: "virtualmachine-n"VM_DISK_NAME: 이 가상 머신 백업 계획으로 백업할 VM 디스크입니다. VM 디스크가 두 개 이상 지정된 경우 목록은 다음 형식이어야 합니다.selectedVirtualMachineDisks: - resourceName: "disk-1" - resourceName: "disk-2" ... - resourceName: "disk-n"VOLUME_STRATEGY: 실행할 볼륨 백업 유형입니다. 다음 값 중 하나를 사용해야 합니다.ProvisionerSpecific: 기본 스토리지 프로비저너의 백업 및 복원 기능을 활용합니다.includeVolumeData가true인 경우 이 옵션을 사용합니다.LocalSnapshotOnly: 로컬 스토리지 시스템 자체에만 볼륨의 특정 시점 사본을 만듭니다.
CRON_SCHEDULE: 선택한 백업 일정을 정의하는 cron 표현식입니다. 예를 들어 cron 값이0 */12 * * *이면 12시간마다 백업이 생성됩니다.
라벨을 사용하여 VM 백업 계획 만들기
라벨 메서드를 사용하여 VM 백업 계획을 만들려면 백업하려는 대상 VM과 일치하는 라벨을 vmResourceLabelSelector 필드에 지정합니다.
apiVersion: virtualmachine.gdc.goog/v1
kind: VirtualMachineBackupPlan
metadata:
name: BACKUP_PLAN_NAME
namespace: BACKUP_PLAN_NAMESPACE
spec:
virtualMachineBackupPlanTemplate: BACKUP_TEMPLATE_NAME
backupConfig:
backupScope:
vmResourceLabelSelector:
KEY: VALUE
volumeStrategy: VOLUME_STRATEGY
backupSchedule:
cronSchedule: CRON_SCHEDULE
paused: false
다음을 바꿉니다.
BACKUP_PLAN_NAME: 백업 계획 이름.BACKUP_PLAN_NAMESPACE: 백업 계획이 포함된 네임스페이스BACKUP_TEMPLATE_NAME: VM 백업 계획 템플릿 만들기에서 만든 관련 백업 저장소를 가리키는 가상 머신 백업 계획 템플릿입니다.KEY: VALUE: 지정된 라벨을 해당 라벨이 포함된 VM과 일치시키는 라벨 선택기입니다. 동일한 네임스페이스에서 일치하는 VM은 이 백업 계획에 의해 백업됩니다. 이 객체는keys:string, values:string형식이어야 합니다.VOLUME_STRATEGY: 실행할 볼륨 백업 유형입니다. 다음 값 중 하나를 사용해야 합니다.ProvisionerSpecific: 기본 스토리지 프로비저너의 백업 및 복원 기능을 활용합니다.includeVolumeData가true인 경우 이 옵션을 사용합니다.LocalSnapshotOnly: 로컬 스토리지 시스템 자체에만 볼륨의 특정 시점 사본을 만듭니다.
CRON_SCHEDULE: 선택한 백업 일정을 정의하는 cron 표현식입니다. 예를 들어 cron 값이0 */12 * * *이면 12시간마다 백업이 생성됩니다.
백업 계획 보기
GDC 콘솔 또는 kubectl를 사용하여 백업 계획을 확인합니다.
콘솔
GDC 콘솔을 사용하여 백업 계획 목록을 확인합니다.
- GDC 콘솔에 로그인합니다.
- 탐색 메뉴에서 가상 머신 백업 > 백업 계획을 클릭합니다.
- 프로젝트를 선택합니다.
- 목록에서 백업 계획을 클릭하여 세부정보를 확인합니다.
kubectl
백업 계획을 나열하고 kubectl를 사용하여 세부정보를 확인하여 백업 계획을 확인합니다.
기존 백업 계획을 나열합니다.
kubectl get backupplans.backup.gdc.goog -n PROJECT_NAME목록에서 보려는 백업 계획을 찾습니다.
백업 계획 세부정보를 확인합니다.
kubectl describe backupplans.backup.gdc.goog BACKUP_PLAN_NAME -n PROJECT_NAME다음을 바꿉니다.
BACKUP_PLAN_NAME: 백업 계획 이름.PROJECT_NAME: 프로젝트의 이름입니다.