이 페이지에서는 콘솔의 Backup Vault에서 Compute Engine 인스턴스를 복원하는 방법을 설명합니다. Google Cloud
시작하기 전에
복원이 수행되는 대상 프로젝트의 Backup Vault 서비스 에이전트에 백업 및 DR Compute Engine 작업자 (
roles/backupdr.computeEngineOperator) IAM 역할 을 부여합니다.Backup Vault 프로젝트에서 복원을 수행하는 사용자에게 다음 IAM 역할을 부여합니다.
- Backup Vault 및 대상 프로젝트 모두에 대한 백업 및 DR 복원 사용자 (
roles/backupdr.restoreUser) - 대상에만 Compute 뷰어 (
roles/compute.viewer)
이러한 사전 정의된 역할에는 Compute Engine 프로젝트의 Backup Vault에 액세스하는 데 필요한 권한이 포함되어 있습니다. 구체적인 권한은 다음 목록을 참조하세요.
backupdr.bvbackups.restorebackupdr.compute.restoreFromBackupVaultbackupdr.backupVaults.getbackupdr.backupVaults.listbackupdr.bvbackups.listbackupdr.bvdataSources.getbackupdr.bvdataSources.listbackupdr.bvbackups.get
Google Cloud CLI CLI 또는 API를 사용하여 인스턴스를 복원하려면 사용자에게 다음 권한이 있어야 합니다.
- 백업 리소스에 대한
backupdr.bvbackups.restore - 인스턴스가 복원될 대상 프로젝트에 대한
backupdr.compute.restoreFromBackupVault
- Backup Vault 및 대상 프로젝트 모두에 대한 백업 및 DR 복원 사용자 (
콘솔의 추가 권한 Google Cloud
콘솔을 사용하여 인스턴스를 복원할 때 사용자에게는 CLI 권한과 다음 권한이 필요합니다. Google Cloud 콘솔에서 사용자 인터페이스에서 선택하는 데 필요한 Compute Engine 리소스를 나열하고 표시하려면 이러한 추가 권한이 필요합니다.
compute.acceleratorTypes.listcompute.disks.listcompute.machineTypes.listcompute.projects.getcompute.regions.listcompute.zones.list
역할 부여에 대한 자세한 내용은 프로젝트, 폴더, 조직에 대한 액세스 관리를 참조하세요.
Compute Engine 인스턴스 복원
다음 안내에 따라 Compute Engine 인스턴스를 복원합니다.
콘솔
콘솔에서 Vault에 저장된 백업 페이지로 이동합니다. Google Cloud
Vault에 저장된 백업이 있는 모든 Compute Engine 인스턴스가 여기에 나열됩니다.
작업 아이콘을 클릭하여 복원 작업을 선택합니다. 복원 페이지 가 표시되면 다음 복원 옵션을 선택합니다.
- 리소스 이름 을 선택합니다.
- 백업 생성 시간 을 선택합니다.
- VM을 복원할 프로젝트 이름 을 선택합니다.
계속 을 클릭합니다.
- 다음 페이지인 백업에서 새 VM 인스턴스 만들기 가 표시됩니다. 여기에서 VM 속성은 소스 VM 속성을 기반으로 미리 채워집니다. 속성을 수정하여 새 VM을 만들 수 있습니다(예: 리전 또는 머신 유형 선택 변경).
만들기 를 클릭하여 선택한 백업에서 새 VM을 만듭니다.
gcloud
아직 부여되지 않은 경우 VM이 복구되는 복구 프로젝트의 Backup Vault 서비스 에이전트에 백업 및 DR Compute Engine 작업자 (
roles/backupdr.computeEngineOperator) IAM 역할을 부여합니다.Backup Vault 서비스 계정을 가져오려면 다음 명령어를 사용합니다.
gcloud backup-dr backup-vaults describe BACKUPVAULT_NAME --location=REGION다음을 바꿉니다.
- BACKUPVAULT_NAME: 데이터를 복원할 Backup Vault 이름
- REGION: Backup Vault의 리전
Compute Engine 인스턴스를 복원하기 전에 다음 명령어를 사용하여 데이터 소스 ID와 필요한 백업의 ID를 가져옵니다.
데이터 소스 ID 찾기
gcloud backup-dr data-sources list \ --project=PROJECT \ --location=REGION \ --backup-vault=BACKUPVAULT_NAME \ "--filter=dataSourceGcpResource.computeInstanceDatasourceProperties.name:(DATA_SOURCE)" \ "--format=get(name)")데이터 소스의 기존 백업을 나열하여 올바른 BACKUP_ID를 찾습니다.
gcloud backup-dr backups list \ --location=REGION \ --backup-vault=BACKUPVAULT_NAME \ --data-source=DATA_SOURCE \ "--format=yaml(backupType,computeInstanceBackupProperties.sourceInstance,consistencyTime,enforcedRetentionEndTime,expireTime,name)"
Compute Engine 인스턴스를 복원하려면 다음 명령어를 사용합니다.
백업 ID가 있는 워크로드 프로젝트와 동일한 프로젝트에서 VM을 복원합니다.
gcloud backup-dr backups restore compute test-backup-id \ --project=PROJECT --location=REGION \ --backup-vault=BACKUPVAULT_NAME --data-source=DATA_SOURCE\ --name=NAME --target-zone=TARGET_ZONE \ --target-project=TARGET_PROJECT백업 전체 리소스 URL이 있는 워크로드 프로젝트와 동일한 프로젝트에서 VM을 복원합니다.
gcloud backup-dr backups restore compute projects/test-project-id/locations/us-central1/backupVaults/test-vault/dataSources/test-ds/backups/test-backup-id \ --name=NAME --target-zone=TARGET_ZONE \ --target-project=TARGET_PROJECT커스텀 서비스 계정 및 네트워크 구성으로 Compute Engine 인스턴스를 복원합니다.
gcloud backup-dr backups restore compute test-backup-id \ --project=PROJECT --location=REGION \ --backup-vault=BACKUPVAULT_NAME --data-source=DATA_SOURCE\ --name=NAME --target-zone=TARGET_ZONE \ --target-project=TARGET_PROJECT \ --network-interface=network=NETWORK,subnet=SUBNET \ --service-account=SERVICE_ACCOUNT \ --scopes=SCOPE다음을 바꿉니다.
- PROJECT: Backup Vault 프로젝트의 이름
- REGION: Backup Vault의 위치
- BACKUPVAULT_NAME: 데이터를 복원할 Backup Vault 이름
- DATA_SOURCE: 데이터를 복원할 데이터 소스 이름
- NAME: 복원된 VM의 이름
- TARGET_ZONE: VM이 복원되는 리전
- TARGET_PROJECT: VM이 복원되는 프로젝트
- NETWORK: VM의 네트워크 URI
- SUBNET: VM의 서브넷 URI
- SERVICE_ACCOUNT: 복원된 VM의 서비스 계정
- SCOPE: 서비스 계정의 승인 범위
다른 VM 속성을 재정의하려면 백업 및 DR 서비스 Google Cloud CLI 명령어 개요를 참조하세요.
CMEK 지원 Backup Vault에서 복원
CMEK 지원 Backup Vault에서 백업을 복원하면 복원된 리소스의 암호화는 소스의 암호화에 따라 달라집니다.
- 소스 리소스가 CMEK로 보호된 경우: 복원된 리소스는 기본적으로 소스와 동일한 CMEK 키를 사용합니다. 예를 들면 다음과 같습니다.
- 키
K1로 암호화된 Compute Engine 영구 디스크가K1로 암호화된 디스크로 복원됩니다. - VM에 여러 디스크가 있는 경우 복원된 VM의 각 디스크는 해당 소스 디스크의 암호화를 상속합니다 (CMEK로 암호화된 디스크는 원래 키로 암호화된 상태로 유지되고 Google 관리 암호화된 디스크는 Google 관리 상태로 유지됨).
- 키
- 소스 리소스가 Google 관리 암호화를 사용한 경우: 복원된 리소스는 기본적으로 Google 관리 암호화를 사용합니다.
API 또는 Google Cloud CLI를 사용하여 Compute Engine 영구 디스크 또는 Compute Engine 인스턴스를 복원할 때 이 기본 동작을 재정의할 수 있습니다. 예를 들어 CMEK로 보호되는 리소스의 백업을 Google 관리 암호화를 사용하는 새 리소스 또는 다른 CMEK 키로 보호되는 새 리소스로 복원할 수 있습니다. 새 CMEK 키로 보호되는 리소스로 복원하려면 대상 프로젝트의 관련 서비스 에이전트 (예: Compute Engine 서비스 에이전트)에 새 대상 키에 대한 roles/cloudkms.cryptoKeyEncrypterDecrypter 권한이 있는지 확인합니다.
복원 작업 중에 소스 워크로드를 보호하는 Cloud Key Management Service 키를 사용할 수 없는 경우 복원은 기본적으로 실패합니다. 이 경우 API 또는 Google Cloud CLI를 사용하여 새 CMEK 키를 지정하거나 복원된 리소스의 암호화 유형을 Google 관리 암호화로 변경하여 암호화 설정을 재정의해야 합니다.
Backup Vault에서 데이터를 암호화하는 데 사용되는 Cloud Key Management Service 키 버전이 사용 중지되거나 삭제되면 해당 백업에서 복원할 수 없습니다.
백업 및 DR Compute Engine 가이드
- Vault에 저장된 백업의 백업 계획 만들기 및 관리
- 클라우드 사용자 인증 정보 확인
- Compute Engine 인스턴스 검색 및 보호
- Compute Engine 영구 디스크의 백업 이미지 마운트
- Compute Engine 인스턴스 복원
- 영구 디스크 스냅샷 이미지 가져오기