Compute Engine 인스턴스의 Google 관리 백업 프로세스에는 데이터를 Backup Vault로 전송하는 작업이 포함됩니다. 이러한 Backup Vault는 변경 불가능성과 강제 보관을 제공합니다. 단일 리전 또는 여러 리전에 백업을 저장할 수 있습니다.
Google 관리 모델은 예약된 백업과 주문형 백업이라는 두 가지 기본 실행 방법을 지원합니다. 이 문서에서는 이러한 백업을 구성하고 관리하는 방법을 보여줍니다.
개요
백업을 Backup Vault로 전송하면 변경 불가능성과 강제 보관이 제공됩니다. Backup Vault를 사용하면 단일 리전 또는 멀티 리전에 백업을 저장할 수 있습니다. Compute Engine 인스턴스를 백업하는 두 가지 주요 방법은 다음과 같습니다.
Google Cloud 콘솔을 사용하여 Compute Engine 인스턴스 백업:Google Cloud 콘솔에서 백업 계획을 적용하여 Compute Engine 인스턴스를 Backup Vault에 백업할 수 있습니다. 다음 방법 중 하나를 사용하여 데이터를 백업할 수 있습니다. 두 방법을 모두 사용하면 백업을 Backup Vault에 안전하게 저장할 수 있으므로 데이터 손실이나 기타 예기치 않은 이벤트가 발생할 경우 Compute Engine 인스턴스를 안정적으로 복구할 수 있습니다.
예약 백업: 일, 주, 월, 연도와 같은 특정 간격으로 Compute Engine 인스턴스를 자동으로 백업합니다.
주문형 백업: 필요할 때마다 주문형 백업을 만듭니다. 주문형 백업은 인스턴스를 크게 변경하기 전에 백업을 만들거나 임시 데이터 보호에 유용합니다.
관리 콘솔을 사용하여 Compute Engine 인스턴스 백업: 다음 백업 요구사항이 있는 경우 관리 콘솔을 사용하여 Compute Engine 인스턴스를 백업할 수 있습니다.
- 리전 간 백업
- 가상 머신 (VM)에 연결된 특정 디스크의 백업
- 태그를 기반으로 Compute Engine VM 자동 보호
- Google Cloud 콘솔 기반 백업 계획 및 백업 보관소가 소스 VM이 실행되는 리전과 호환되는 위치에 있지 않은 경우
어플라이언스 관리 콘솔은 어플라이언스 관리 백업용 백업 및 DR의 일부입니다. 어플라이언스 관리 콘솔을 사용해야 하는 경우 어플라이언스 관리 콘솔에서 Compute Engine 인스턴스 검색 및 보호를 참고하세요.
시작하기 전에
Compute Engine 인스턴스가 있는 위치에서 백업 및 DR 서비스 API를 사용 설정합니다.
[백업 계획을 만듭니다][2].
버킷에 관측 가능성 분석을 설정하여 백업 및 DR 백업 작업을 모니터링합니다.
IAM 구성
예약된 백업을 구성하거나 주문형 백업을 실행하려면 관리자가 Backup Vault 프로젝트에 다음 IAM 역할을 부여해야 합니다.
- 백업 및 DR 백업 사용자 (
roles/backupdr.backupUser) - 뷰어(
roles/viewer)
Google 관리 백업 작업에 필요한 구체적인 권한은 다음과 같습니다.
backupdr.backupPlans.listbackupdr.backupPlanAssociations.createForComputeInstancebackupdr.backupPlanAssociations.listbackupdr.backupPlanAssociations.getbackupdr.backupPlanAssociations.triggerBackupForComputeInstancebackupdr.backupPlanAssociations.deleteForComputeInstancebackupdr.backupPlans.useForComputeInstancebackupdr.locations.listbackupdr.operations.getcloudasset.assets.searchAllResources
복원 권한 외에도 사용자에게 백업 메타데이터를 보고 검색할 수 있는 권한이 있어야 합니다.
backupdr.backupVaults.getbackupdr.backupVaults.listbackupdr.bvbackups.listbackupdr.bvbackups.getbackupdr.bvdataSources.listbackupdr.bvdataSources.get
Compute Engine 인스턴스가 Backup Vault와 다른 프로젝트에 있는 경우 Compute Engine 프로젝트 내에서 Backup Vault 서비스 에이전트에게 백업 및 DR Compute Engine 운영자(roles/backupdr.computeEngineOperator) 역할을 부여해야 합니다.
다음 표에는 각 API 호출에 필요한 권한이 나와 있습니다.
| 리소스 | 리소스에 수행할 작업 | 각 API 호출에 필요한 권한 | 할당해야 하는 프로젝트 |
|---|---|---|---|
| Backup Vault | BackupVault 생성 | backupdr.backupVaults.create | 관리 프로젝트 |
| BackupVault 삭제 | backupdr.backupVaults.delete | 관리 프로젝트 | |
| BackupVault 업데이트 | backupdr.backupVaults.update | 관리 프로젝트 | |
| BackupVault 나열 | backupdr.backupVaults.list | 관리 프로젝트 | |
| BackupVault 가져오기 | backupdr.backupVaults.get | 관리 프로젝트 | |
| 백업 계획 | Create BackupPlan | backupdr.backupPlans.create | 관리 프로젝트 |
| Delete BackupPlan | backupdr.backupPlans.delete | 관리 프로젝트 | |
| Get BackupPlan | backupdr.backupPlans.get | 관리 프로젝트 | |
| 백업 계획 나열 | backupdr.backupPlans.list | 관리 프로젝트 | |
| 백업 계획 연결 | 백업 계획 연결 만들기 | 워크로드 프로젝트 | |
| backupdr.backupPlanAssociations.createForComputeInstance | 워크로드 프로젝트 | ||
| backupdr.backupPlans.useForComputeInstance | 관리 프로젝트 | ||
| 백업 계획 연결 삭제 | backupdr.backupPlanAssociations.deleteForComputeInstance | 워크로드 프로젝트 | |
| 백업 계획 연결에서 주문형 백업 트리거 | backupdr.backupPlanAssociations.triggerBackupForComputeInstance | 워크로드 프로젝트 | |
| 백업 계획 연결 가져오기 | backupdr.backupPlanAssociations.getForComputeInstance | 워크로드 프로젝트 | |
| 백업 계획 연결 목록 | backupdr.backupPlanAssociations.list | 워크로드 프로젝트 | |
| 백업 계획 연결 가져오기 | backupdr.backupPlanAssociations.fetchForComputeInstance | 워크로드 프로젝트 | |
| 데이터 소스 | 데이터 소스 가져오기 | backupdr.bvdataSources.get | 관리 프로젝트 |
| 데이터 소스 나열 | backupdr.backupPlanAssociations.list | 관리 프로젝트 | |
| 백업 | 백업 가져오기 | backupdr.bvbackups.get | 관리 프로젝트 |
| 백업 나열 | backupdr.bvbackups.list | 관리 프로젝트 | |
| 백업 삭제 | backupdr.bvbackups.delete | 관리 프로젝트 | |
| 백업 복원 | backupdr.bvbackups.restore | 관리 프로젝트 | |
| 작업 | 작업 나열 | backupdr.operations.list | 해당 프로젝트 |
| 가져오기 작업 | backupdr.operations.get | 해당 프로젝트 |
제약조건 및 제한사항
백업 및 DR은 다음 구성을 사용하는 Compute Engine 인스턴스의 Google 관리 백업을 지원하지 않습니다.
- 익스트림 영구 디스크가 연결된 인스턴스
- hyperdisk-* 디스크 유형을 사용하는 인스턴스
- C3D, H3, A3 또는 Z3 머신 유형을 사용하는 인스턴스
- 고객 제공 암호화 키 (CSEK)가 있는 인스턴스
- 연결된 디스크가 없는 인스턴스
- 크기가 200테라바이트 (TB)를 초과하는 인스턴스
예약 백업 구성
다음 안내에 따라 Compute Engine 인스턴스의 예약된 백업을 구성합니다.
콘솔
Google Cloud 콘솔에서 보관된 백업 페이지로 이동합니다.
백업 예약을 클릭합니다.
프로젝트 목록에서 찾아보기를 클릭하고 Compute Engine 인스턴스가 있는 프로젝트를 선택합니다.
리전 목록에서 인스턴스가 있는 리전을 선택합니다.
리소스 목록에서 찾아보기를 클릭합니다.
백업할 Compute Engine 인스턴스를 선택하고 완료를 클릭합니다.
계속을 클릭합니다.
백업 계획 목록에서 선택을 클릭합니다.
Compute Engine 인스턴스를 보호할 백업 계획을 선택합니다.
완료를 클릭합니다.
백업 세부정보를 검토하고 예약을 클릭합니다.
gcloud
인스턴스 ID를 가져옵니다.
gcloud compute instances describe VM_NAME --zone=VM_ZONE --format="value(id)"다음을 바꿉니다.
VM_NAME: VM 인스턴스의 이름입니다.VM_ZONE: VM이 있는 위치입니다.
예약 백업을 구성합니다.
gcloud backup-dr backup-plan-associations create BACKUP_PLAN_ASSOCIATION_NAME \ --location=VM_REGION \ --resource=projects/VM_PROJECT_ID/zones/VM_ZONE/instances/VM_ID \ --backup-plan=projects/PROJECT_ID/locations/LOCATION/backupPlans/BACKUP_PLAN다음을 바꿉니다.
BACKUP_PLAN_ASSOCIATION_NAME: 백업 계획 연결 이름VM_REGION: Compute Engine 인스턴스가 있는 리전입니다.VM_PROJECT_ID: Compute Engine 인스턴스가 있는 프로젝트의 이름입니다.VM_ZONE: Compute Engine 인스턴스가 있는 영역입니다.VM_ID: Compute Engine 인스턴스 ID입니다.PROJECT_ID: 백업 계획이 있는 프로젝트의 이름입니다.LOCATION: 백업 계획이 있는 리전입니다.BACKUP_PLAN: Compute Engine 인스턴스를 연결할 백업 계획의 이름입니다.
Terraform
Terraform 리소스를 사용하여 예약된 백업을 구성할 수 있습니다.
백업 및 DR Compute Engine 백업의 애플리케이션 일관성
애플리케이션 일관성 스냅샷에서는 완료된 모든 애플리케이션 트랜잭션과 디스크에서 삭제된 대기 중인 모든 쓰기를 사용해 백업 시점에 애플리케이션 데이터 상태를 캡처합니다.
다음 안내에 따라 Compute Engine 인스턴스의 애플리케이션 일관성 백업을 구성하세요.
시작하기 전에
애플리케이션 일관성이 있는 스냅샷을 읽어보세요.
Linux 환경에서 애플리케이션 일관성 인스턴스 백업을 위한 백업 계획에는 사전 및 사후 스크립트가 필요합니다. Linux 환경에 필요한 사전 및 사후 스냅샷 스크립트를 만듭니다.
Compute Engine 인스턴스에서 애플리케이션 일관성 백업을 위한 백업 계획 만들기
다음 안내에 따라 Compute Engine 인스턴스의 애플리케이션 일관성 백업을 만드세요.
gcloud
백업 계획을 만듭니다.
gcloud backup-dr backup-plans create BACKUP_PLAN_NAME \ --compute-instance-properties=guest-flush=true \ --resource-type=compute.googleapis.com/Instance \ --location=REGION \ --project=PROJECT_ID \ --backup-vault=BACKUPVAULT_NAME \ --backup-rule=rule-id=RULE_NAME,recurrence=RECURRENCE,hourly-frequency=HOURS, \ time-zone=TIME_ZONE,backup-window-start=START_TIME,backup-window-end=END_TIME,\ retention-days=BACKUP_RETENTION --max-custom-on-demand-retention-days=MAX_ONDEMAND_RETENTION다음을 바꿉니다.
BACKUP_PLAN_NAME: 백업 계획 이름.REGION: 백업 계획을 만들려는 Google Cloud 리전입니다.PROJECT_ID: Backup Vault가 있는 프로젝트의 이름BACKUPVAULT_NAME: 백업 스토리지에 사용할 Backup Vault의 이름입니다.RULE_NAME: 백업 규칙의 이름입니다.RECURRENCE: 백업을 생성할 빈도입니다. 시간, 일, 주, 월 또는 연 단위일 수 있습니다.HOURS: 시간별 백업의 빈도입니다. 반복을 시간별로 설정한 경우에만 이 값을 지정하세요. 최소 시간별 빈도 기본값은 6시간입니다.TIME_ZONE: 백업 계획의 시간대입니다(예: UTC). IANA 시간대 형식을 사용하여 백업 계획의 시간대를 포함합니다.START_TIME: 시작 시간은 24시간 형식의 시간입니다. 시작 시간은 종료 시간 이전이어야 하며 백업 기간에 포함됩니다.END_TIME: 종료 시간은 24시간 형식의 시간입니다. 종료 시간은 시작 시간 이후여야 하며 백업 기간에서 제외됩니다.BACKUP_RETENTION: 백업의 보관 기간입니다. 백업 보관 기간은 Backup Vault의 최소 시행 보관 기간 이상이어야 합니다.MAX_ONDEMAND_RETENTION: 이 백업 계획을 사용하여 생성된 주문형 백업에 허용되는 최대 맞춤 보관 기간 (일)입니다.
Compute Engine 인스턴스의 애플리케이션 일관성 백업을 위한 기존 백업 계획 업데이트
다음 안내에 따라 백업 계획을 업데이트하여 Compute Engine 인스턴스의 애플리케이션 일관성 백업을 생성합니다.
gcloud
백업 계획을 업데이트합니다.
gcloud backup-dr backup-plans update BACKUP_PLAN_NAME \ --compute-instance-properties=guest-flush=true \ --project=PROJECT_ID \ --location=REGION \ --description=DESCRIPTION \ --backup-rule=BACKUP_RULE \ --add-backup-rule=ADD_BACKUP_RULE \ --remove-backup-rule=REMOVE_BACKUP_RULE \ --max-custom-on-demand-retention-days=MAX_ONDEMAND_RETENTION다음을 바꿉니다.
BACKUP_PLAN_NAME: 백업 계획 이름.PROJECT_ID: Backup Vault가 있는 프로젝트의 이름REGION: 백업 계획을 만들 위치입니다.DESCRIPTION: 업데이트된 백업 계획 설명입니다.BACKUP_RULE: 업데이트된 값이 포함된 기존 백업 규칙의 전체 정의입니다.ADD_BACKUP_RULE: 백업 계획에 추가할 백업 규칙의 매개변수입니다. 이 플래그를 반복하여 백업 규칙을 추가할 수 있습니다.REMOVE_BACKUP_RULE: 백업 계획에서 삭제할 기존 백업 규칙입니다.MAX_ONDEMAND_RETENTION: 이 백업 계획을 사용하여 생성된 주문형 백업에 허용되는 최대 맞춤 보관 기간 (일)입니다.
Compute Engine 인스턴스에 적용된 백업 계획 변경
Compute Engine 인스턴스에 적용된 백업 계획을 다른 백업 계획으로 변경할 수 있습니다. 다른 백업 계획은 다음 기준을 충족해야 합니다.
- 동일한 Backup Vault 사용
- Compute Engine 인스턴스와 동일한 리전에 있어야 합니다.
다음 안내에 따라 Compute Engine 인스턴스와 연결된 백업 계획을 변경합니다.
콘솔
Google Cloud 콘솔에서 보관된 백업 페이지로 이동합니다.
Vaulted backups 페이지에는 백업 계획이 적용되고 프로젝트 내의 Backup Vault에 백업이 저장된 인스턴스만 나열됩니다.
다른 요금제를 적용할 백업을 선택합니다. 백업의 백업 세부정보 페이지 또는 메뉴에서 백업 계획 변경을 선택합니다. 백업 계획 선택 창에는 이 인스턴스에 유효한 백업 계획만 나열됩니다.
백업 계획을 선택하고 적용을 클릭합니다.
gcloud
할당된 백업 계획을 변경합니다.
gcloud backup-dr backup-plan-associations update BACKUP_PLAN_ASSOCIATION_NAME \ --workload-project=VM_PROJECT_ID \ --location=VM_REGION \ --backup-plan=BACKUP-PLAN \ --project=PROJECT_ID다음을 바꿉니다.
BACKUP_PLAN_ASSOCIATION_NAME: 백업 계획 연결 리소스의 이름입니다.VM_PROJECT_ID: Compute Engine 인스턴스의 project-id입니다.VM_REGION: Compute Engine 인스턴스의 위치입니다.BACKUP_PLAN: 전환할 백업 계획의 이름입니다.PROJECT_ID: 선택한 백업 계획의 project-id입니다.
예약된 백업 나열
다음 안내에 따라 백업된 Compute Engine 인스턴스를 나열합니다.
콘솔
Google Cloud 콘솔에서 보관된 백업 페이지로 이동합니다.
Vaulted backups 페이지에는 백업 계획이 적용되고 프로젝트 내의 Backup Vault에 백업이 저장된 인스턴스만 나열됩니다.
gcloud
예약된 백업을 나열합니다.
gcloud backup-dr backup-plan-associations list \ --location=LOCATION \ --project=PROJECT_ID다음을 바꿉니다.
PROJECT_ID: 프로젝트의 이름입니다.LOCATION: 예약된 백업의 위치입니다.
주문형 백업 만들기
원하는 백업 규칙을 즉시 실행하도록 트리거하여 백업 계획이 있는 Compute Engine 인스턴스의 주문형 백업을 시작할 수 있습니다. 주문형 백업은 일반적으로 마지막 백업 이후 변경된 데이터만 캡처합니다(증분).
주문형 백업을 만들 때 Compute Engine 인스턴스와 연결된 백업 계획에서 규칙을 선택할 수 있습니다. 이 규칙은 주문형 백업이 삭제되는 시기를 결정합니다. 작업 페이지에서 백업 작업 상태를 확인할 수 있습니다. 자세한 내용은 Google Cloud 콘솔에서 백업 및 복원 작업 모니터링을 참고하세요.
다음 안내에 따라 주문형 백업을 만듭니다.
콘솔
- VM 인스턴스 > 세부정보 > 백업 계획으로 이동하여 주문형 백업을 만듭니다.
- 주문형 백업 만들기를 클릭합니다. 주문형 백업을 만들려면 올바른 권한이 있어야 합니다.
이 백업을 삭제할 시기를 선택합니다. 다음과 같은 옵션이 있습니다.
- 커스텀 보관 기간 기준 기본적으로 한도는 Backup Vault에 적용되는 최소 보관 기간에 30일을 더한 기간으로 설정됩니다. 다른 한도를 설정하려면 백업 계획에 최대 커스텀 주문형 보관 기간을 추가하세요.
- 기존 백업 규칙 기준 다음 날짜 후에 백업 삭제 드롭다운에서 규칙을 선택합니다.
만들기를 클릭하여 주문형 백업 작업을 시작합니다.
주문형 백업 작업의 상태를 확인하려면 알림을 클릭합니다.
gcloud
백업 규칙을 사용하는 주문형 백업을 만듭니다.
gcloud backup-dr backup-plan-associations trigger-backup BACKUP_PLAN_ASSOCIATION_NAME \ --project=PROJECT_ID \ --location=REGION \ --backup-rule-id=RULE_ID --labels=LABELS다음을 바꿉니다.
BACKUP_PLAN_ASSOCIATION_NAME: 백업 계획 연결 이름gcloud backup-dr backup-plan-associations list --location=LOCATION --project=PROJECT_ID명령어를 실행하여 Compute Engine 디스크와 연결된 백업 계획 목록을 가져옵니다.PROJECT_ID: 프로젝트의 이름입니다.REGION: 예약된 백업의 위치입니다.RULE_ID: 주문형 백업을 실행하는 데 연결할 백업 규칙 이름입니다.LABELS: 백업의 선택적 라벨(예:webserver=backend,media=images)입니다(쉼표로 구분된 키-값 쌍).
맞춤 보관을 사용하는 주문형 백업을 만듭니다.
gcloud backup-dr backup-plan-associations trigger-backup BACKUP_PLAN_ASSOCIATION_NAME \ --project=PROJECT_ID \ --location=REGION \ --custom-retention-days=CUSTOM_RETENTION --labels=LABELS다음을 바꿉니다.
BACKUP_PLAN_ASSOCIATION_NAME: 백업 계획 연결 이름gcloud backup-dr backup-plan-associations list --location=LOCATION --project=PROJECT_ID명령어를 실행하여 Compute Engine 디스크와 연결된 백업 계획 목록을 가져옵니다.PROJECT_ID: 프로젝트의 이름입니다.REGION: 예약된 백업의 위치입니다.CUSTOM_RETENTION: 이 주문형 백업의 맞춤 보관 기간(일)입니다. 이 값은 백업 Vault 보관 기간 이상이고 백업 계획에 구성된max-custom-on-demand-retention-days값 이하 (또는max-custom-on-demand-retention-days가 구성되지 않은 경우 Vault 보관 기간 + 30일)여야 합니다.LABELS: 백업의 선택적 라벨(예:webserver=backend,media=images)입니다(쉼표로 구분된 키-값 쌍).
Compute Engine 인스턴스 보호 해제
인스턴스에 적용된 백업 계획을 삭제하여 Compute Engine 인스턴스의 보호를 해제할 수 있습니다. Compute Engine 인스턴스에서 백업 계획을 삭제해도 백업 계획 또는 인스턴스가 사용되는 동안 생성된 백업은 삭제되지 않습니다. 기존 백업에는 계속 액세스하고 관리할 수 있습니다.
다음 안내에 따라 Compute Engine 인스턴스의 보호를 해제하세요.
콘솔
Google Cloud 콘솔에서 보관된 백업 페이지로 이동합니다.
백업 계획을 삭제할 인스턴스의 이름을 클릭합니다.
백업 계획 삭제를 선택합니다.
gcloud
Compute Engine 인스턴스의 보호를 해제합니다.
gcloud backup-dr backup-plan-associations delete BACKUP_PLAN_ASSOCIATION_NAME\ --project=PROJECT_ID \ --location=LOCATION다음을 바꿉니다.
BACKUP_PLAN_ASSOCIATION_NAME: 삭제하려는 백업의 이름입니다.PROJECT_ID: 프로젝트의 이름입니다.LOCATION: 예약 백업의 위치입니다.