Backup Vault에서 Compute Engine 인스턴스 복원

이 페이지에서는 Google Cloud 콘솔의 백업 보관소에서 Compute Engine 인스턴스를 복원하는 방법을 설명합니다.

시작하기 전에

  • 복원이 실행되는 타겟 프로젝트의 보관 파일 백업 보관 파일 서비스 에이전트에 백업 및 DR Compute Engine 운영자 (roles/backupdr.computeEngineOperator) IAM 역할을 부여합니다.

  • 공유 VPC를 사용하는 경우 VPC 호스트 프로젝트에 있는 보관 파일의 백업 보관 파일 서비스 에이전트에 Compute 네트워크 사용자 (roles/compute.networkUser) IAM 역할을 부여합니다.

  • 백업 보관소 프로젝트에서 복원을 실행하는 사용자에게 다음 IAM 역할을 부여합니다.

    • 백업 보관 파일과 타겟 프로젝트 모두에 대한 백업 및 DR 복원 사용자 (roles/backupdr.restoreUser)
    • 타겟에만 Compute 뷰어 (roles/compute.viewer)

    이러한 사전 정의된 역할에는 Compute Engine 프로젝트의 백업 보관함에 액세스하는 데 필요한 권한이 포함되어 있습니다. 구체적인 권한은 다음 목록을 참고하세요.

    • backupdr.bvbackups.restore
    • backupdr.compute.restoreFromBackupVault
    • backupdr.backupVaults.get
    • backupdr.backupVaults.list
    • backupdr.bvbackups.list
    • backupdr.bvdataSources.get
    • backupdr.bvdataSources.list
    • backupdr.bvbackups.get

    Google Cloud CLI 또는 API를 사용하여 인스턴스를 복원하려면 사용자에게 다음 권한이 있어야 합니다.

    • 백업 리소스에 대한 backupdr.bvbackups.restore
    • 인스턴스가 복원될 대상 프로젝트에 대한 backupdr.compute.restoreFromBackupVault

Google Cloud 콘솔에 대한 추가 권한

Google Cloud 콘솔을 사용하여 인스턴스를 복원할 때 사용자에게는 CLI 권한과 다음 권한이 필요합니다. 콘솔에서 사용자 인터페이스에서 선택할 수 있는 필수 Compute Engine 리소스를 나열하고 표시하려면 다음 추가 권한이 필요합니다.

  • compute.acceleratorTypes.list
  • compute.disks.list
  • compute.machineTypes.list
  • compute.projects.get
  • compute.regions.list
  • compute.zones.list

역할 부여에 대한 자세한 내용은 프로젝트, 폴더, 조직에 대한 액세스 관리를 참조하세요.

Compute Engine 인스턴스 복원

다음 안내에 따라 VM 인스턴스를 복원합니다.

콘솔

  1. Google Cloud 콘솔에서 보관된 백업 페이지로 이동합니다.

    Vault에 저장된 백업으로 이동

    볼트 백업이 있는 모든 Compute Engine 인스턴스가 여기에 나열됩니다.

  2. 작업 아이콘을 클릭하여 복원 작업을 선택합니다. 복원 페이지에는 다음 복원 옵션을 선택할 수 있는 위치가 표시됩니다.

    • 리소스 이름을 선택합니다.
    • 백업 생성 시간을 선택합니다.
    • VM을 복원할 프로젝트 이름을 선택합니다.
  3. 계속을 클릭합니다.

    • 다음 페이지인 백업에서 새 VM 인스턴스 만들기가 표시되며, 여기에서 VM 속성은 소스 VM 속성을 기반으로 미리 채워집니다. 속성을 수정하여 새 VM을 만들 수 있습니다(예: 리전 또는 머신 유형 선택 변경).
  4. 만들기를 클릭하여 선택한 백업에서 새 VM을 만듭니다.

gcloud

  1. 아직 부여되지 않은 경우 VM이 복구되는 복구 프로젝트의 백업 볼트 서비스 에이전트에 Backup and DR Compute Engine Operator (roles/backupdr.computeEngineOperator) IAM 역할을 부여합니다.

  2. 백업 보관소 서비스 계정을 가져오려면 다음 명령어를 사용하세요.

      gcloud backup-dr backup-vaults describe BACKUPVAULT_NAME
      --location=LOCATION
    

    다음을 바꿉니다.

    • BACKUPVAULT_NAME: 데이터를 복원할 백업 보관소 이름입니다.
    • LOCATION: Backup Vault 위치
  3. VM 인스턴스를 복원하려면 다음 명령어를 사용하세요.

    • 백업 ID를 사용하여 워크로드 프로젝트와 동일한 프로젝트에서 VM을 복원합니다.

        gcloud backup-dr backups restore compute test-backup-id \
        --project=PROJECT --location=LOCATION \
        --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
      
    • 커스텀 서비스 계정 및 네트워크 구성으로 VM 인스턴스를 복원합니다.

        gcloud backup-dr backups restore compute test-backup-id \
        --project=PROJECT --location=LOCATION \
        --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 프로젝트의 이름입니다.
      • LOCATION: Backup Vault 위치
      • BACKUPVAULT_NAME: 데이터를 복원할 백업 보관소 이름입니다.
      • 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 명령어 개요를 참고하세요.

백업 및 DR Compute Engine 가이드