OVF 가상 어플라이언스 가져오기

가상 어플라이언스는 가상 머신의 디스크 이미지 및 하드웨어 구성이 포함된 패키지입니다.

가상 어플라이언스에 널리 사용되는 형식은 OVF 형식입니다. 가상 어플라이언스를 OVF 형식으로 패키지하면 OVF 패키지가 생성됩니다. OVF 패키지는 하나의 .ovf 설명자 파일과 디스크와 같은 기타 리소스 모음이 포함된 폴더입니다. OVF 패키지가 단일 파일로 보관처리되면 이를 OVA 파일이라고 합니다.

OVF 형식(OVF 패키지 또는 OVA 단일 파일)의 가상 머신을 Compute Engine으로 가져올 수 있습니다. 가상 어플라이언스 사용이 사용 사례에 가장 적합한 선택인지 확인하려면 가져오기 방법 선택을 검토하세요.

가상 어플라이언스를 가져오면 가져오기 프로세스가 설명자 파일에 저장된 정보를 사용하여 Compute Engine에 VM 인스턴스를 만들어서 시작합니다.

시작하기 전에

Cloud Build API 사용 설정

가상 어플라이언스 가져오기 도구는 Cloud Build를 사용합니다. 프로젝트에서 Cloud Build 서비스를 사용 설정하고 Cloud Build 서비스 계정에 컴퓨팅 리소스를 만들고 관리할 수 있는 권한을 부여합니다.

Console

Cloud Build API를 사용 설정합니다.

Cloud Build API 사용 설정

Console에서 Cloud Build API를 사용 설정하면 Cloud Build 서비스가 인스턴스를 Compute Engine으로 가져올 수 있도록 Compute Engine이 Cloud Build 서비스 계정에 다음 역할을 부여합니다.

  • roles/iam.serviceAccountTokenCreator
  • roles/compute.admin
  • roles/iam.serviceAccountUser

gcloud

gcloud를 사용하여 Cloud Build 서비스를 설정하려면 다음 단계를 완료하세요.

  1. Cloud Build를 사용 설정합니다.

    gcloud services enable cloudbuild.googleapis.com
    
  2. compute.admin 역할을 Cloud Build API의 서비스 계정에 추가합니다.

    gcloud projects add-iam-policy-binding [PROJECT_ID] \
      --member serviceAccount:[PROJECT_NUM]@cloudbuild.gserviceaccount.com \
      --role roles/compute.admin
    
  3. iam.serviceAccountUser 역할을 Cloud Build API의 서비스 계정에 추가합니다.

    gcloud projects add-iam-policy-binding [PROJECT_ID] \
      --member serviceAccount:[PROJECT_NUM]@cloudbuild.gserviceaccount.com \
      --role roles/iam.serviceAccountUser
    
  4. iam.serviceAccountTokenCreator 역할을 Cloud Build API의 서비스 계정에 추가합니다.

    gcloud projects add-iam-policy-binding [PROJECT_ID] \
      --member serviceAccount:[PROJECT_NUM]@cloudbuild.gserviceaccount.com \
      --role roles/iam.serviceAccountTokenCreator
    

    각 항목의 의미는 다음과 같습니다.

요구사항

소스 가상 머신 요구사항

OVF 파일을 만드는 데 사용되는 가상 머신은 다음 요구사항을 충족해야 합니다.

  • 가상 디스크는 VMDK 또는 VHD 형식이어야 합니다.
  • 가상 디스크는 MBR 부팅으로 구성해야 합니다. UEFI는 지원되지 않습니다.
  • 가상 디스크는 암호화되지 않아야 합니다.

가상 머신이 요구사항을 충족하는지 확인하려면 precheck 도구를 실행하면 됩니다.

OVF 파일 요구사항

OVF 파일은 다음 요구사항을 충족해야 합니다.

  • OVF 파일은 OVF 사양 문서에 설명된 대로 Level 1 이동성을 제공해야 합니다. Level 2 이동성을 충족하는 가상 어플라이언스는 가져올 수 있지만, 소스 하이퍼바이저에 대한 구체적인 세부정보와 같은 커스텀 확장은 가져오기 프로세스 동안 무시됩니다.
  • OVF 파일에 가상 머신이 하나만 포함되어야 합니다. 둘 이상의 가상 머신이 있는 경우 첫 번째 가상 머신만 가져옵니다.
  • OVF 파일의 첫 번째 디스크는 부팅 가능해야 합니다.

가져오기 도구로 가져오는 구성

OVF 표준은 가상화 제공업체에 종속되지 않는 방식으로 가상 어플라이언스를 패키징하는 프로세스를 지정합니다. OVF 가상 어플라이언스 패키지에는 하나의 .ovf 설명자 파일과 가상 디스크와 같은 기타 리소스 모음이 포함됩니다.

OVF 가상 어플라이언스를 Compute Engine으로 가져오면 설명자 파일에서 다음 구성을 처리하여 가져옵니다.

  • OVF 패키지의 DiskSection 요소에서 검색한 가상 디스크 정보
  • OVF 패키지의 ResourceAllocationSection에서 검색한 CPU 및 메모리

    CPU 또는 메모리 구성이 Compute Engine에서 지원되는 범위 한도를 벗어나는 경우 가져오기 프로세스가 값을 Compute Engine에서 지원되는 최대값으로 설정합니다.

  • OVF 패키지의 BootDeviceSection 요소에서 검색한 부팅 디스크 세부정보

  • OVF 패키지의 OperatingSystemSection 요소에서 검색한 게스트 OS 세부정보

    게스트 OS 정보는 올바른 드라이버 및 게스트 환경 패키지를 가져온 인스턴스에 설치하는 데 사용됩니다. OVF에서 찾은 게스트 OS 정보가 올바르지 않는 경우 가져오기가 실패합니다. --os 플래그를 사용하여 게스트 OS 정보를 재정의할 수 있습니다.

가져온 인스턴스는 항상 외부 IP 없이 단일 네트워크 어댑터로 생성됩니다. 이 단일 네트워크 어댑터는 OVF 파일에 지정된 네트워킹 구성에 관계없이 사용됩니다.

제한사항

가상 어플라이언스를 가져올 때 설명자 파일의 다음 섹션은 무시됩니다(가져오지 않음).

  • NetworkSection
  • AnnotationSection
  • ProductSection
  • EulaSection
  • StartupSection
  • DeploymentOptionSection
  • InstallSection
  • EnvironmentFilesSection
  • SharedDiskSection
  • ScaleOutSection
  • PlacementGroupSection
  • PlacementSection
  • EncryptionSection

지원되는 운영체제

설명자 파일OperatingSystemSection에서 다음 운영체제 중 하나를 지정합니다.

Linux 배포판 및 버전

  • CentOS 6 및 CentOS 7
  • Debian 8 및 Debian 9
  • Red Hat Enterprise Linux 6 및 Red Hat Enterprise Linux 7
  • Ubuntu 14.04 LTS 및 Ubuntu 16.04 LTS

모든 Linux 배포판의 경우 부팅 디스크에 GRUB가 설치되어 있어야 합니다.

Windows 버전

  • Windows Server 2008 R2
  • Windows Server 2012, Windows Server 2012 R2 및 Windows Server 2012 R2 Core
  • Windows Server 2016 및 Windows Server 2016 Core
  • Windows 7 SP1 x64(BYOL만 지원됨)
  • Windows 10 Enterprise x64(BYOL만 지원됨)

모든 Windows 운영체제의 경우 PowerShell 버전 3 이상이 설치되어 있어야 합니다. 3.0 이전의 PowerShell 버전은 가져오기 프로세스 동안 사용된 시작 및 종료 스크립트에 문제가 발생할 수 있습니다.

BYOL(Bring Your Own License) 지원

기본적으로 Windows 및 Red Hat Enterprise Linux(RHEL) 운영체제를 사용하는 OVF 파일을 가져와서 추가 요금이 발생하는 프리미엄 OS 주문형 결제를 사용하도록 구성합니다.

RHEL에서 자체 소프트웨어 구독을 사용하려면 가상 어플라이언스를 BYOL 라이선스 어플라이언스로 가져오면 됩니다.

어플라이언스를 BYOL 라이선스 어플라이언스로 가져오려면 가져오기 명령어를 실행할 때 [--os] 플래그에 다음 BYOL 값 중 하나를 지정합니다.

  • rhel-6-byol
  • rhel-7-byol
  • windows-2008r2-byol
  • windows-2012-byol
  • windows-2012r2-byol
  • windows-2016-byol
  • windows-7-byol
  • windows-10-byol

OVA 파일 가져오기

  1. 가상 어플라이언스를 Cloud Storage에 추가합니다.
  2. Cloud Storage에서 Compute Engine으로 OVA 파일을 가져오려면 gcloud beta compute instances import 명령어를 사용합니다.

    gcloud beta compute instances import [INSTANCE_NAME] \
      --source-uri=gs:[PATH_TO_OVA_FILE]
    

    각 항목의 의미는 다음과 같습니다.

    • [INSTANCE_NAME]은 만들려는 인스턴스의 이름입니다.
    • [PATH_TO_OVA_FILE]은 Cloud Storage에서 OVA 파일의 경로입니다.

    예를 들어 OVA 파일 Ubuntu.ova를 가져오고 my-instance 인스턴스를 만들려면 다음 명령어를 실행합니다.

    gcloud beta compute instances import my-instance \
      --source-uri=gs://my-bucket/Ubuntu.ova
    

    경우에 따라 운영체제의 값을 제공하라는 메시지가 표시될 수 있습니다. 운영체제를 지정하려면 --os 플래그를 추가해야 합니다. 예를 들어 OVA 파일 Ubuntu.ova를 가져오고 Ubuntu 16.04를 실행하는 my-instance 인스턴스를 만들려면 다음 명령어를 실행합니다.

    gcloud beta compute instances import my-instance \
     --os=ubuntu-1604
     --source-uri=gs://my-bucket/Ubuntu.ova
    

OVF 파일 가져오기

  1. 가상 어플라이언스를 Cloud Storage에 추가합니다.
  2. Cloud Storage에서 Compute Engine으로 OVF 파일을 가져오려면 gcloud beta compute instances import 명령어를 사용합니다.

    디렉터리에 OVF 파일이 하나만 있는 경우 설명자 파일의 경로 또는 OVF 파일이 있는 디렉터리의 경로를 제공할 수 있습니다.

    • 설명자 파일의 경로를 사용하여 OVF 파일을 가져오려면 다음 명령어를 실행합니다.

      gcloud beta compute instances import [INSTANCE_NAME] \
        --source-uri=gs:[PATH_TO_OVF_FILE]
      
    • 디렉터리의 경로를 사용하여 OVF 파일을 가져오려면 다음 명령어를 실행합니다.

      gcloud beta compute instances import [INSTANCE_NAME] \
        --source-uri=gs:[PATH_TO_OVF_DIRECTORY]
      

    각 항목의 의미는 다음과 같습니다.

    • [INSTANCE_NAME]은 만들려는 인스턴스의 이름입니다.
    • [PATH_TO_OVF_FILE]은 Cloud Storage에서 OVF 파일의 경로입니다.
    • [PATH_TO_OVF_DIRECTORY]는 Cloud Storage에 OVF 파일이 포함된 디렉터리의 경로입니다.

    예를 들어 my-bucket 디렉터리에서 my-instance라는 인스턴스를 만드는 OVF 파일 Ubuntu.ovf를 가져오려면 다음 명령어를 실행합니다.

    gcloud beta compute instances import my-instance \
      --source-uri=gs://my-bucket/
    

    경우에 따라 운영체제의 값을 제공하라는 메시지가 표시될 수 있습니다. 운영체제를 지정하려면 --os 플래그를 추가해야 합니다. 예를 들어 OVF 파일 Ubuntu.ovf를 가져오고 Ubuntu 16.04를 실행하는 my-instance라는 인스턴스를 만들려면 다음 명령어를 실행합니다.

    gcloud beta compute instances import my-instance \
     --os=ubuntu-1604 \
     --source-uri=gs://my-bucket/
    

커스텀 설정으로 가져오기

커스텀 CPU 및 메모리

OVF 파일에 지정된 CPU 또는 메모리 구성을 재정의하려면 --custom-cpu--custom-memory 플래그를 지정합니다.

예를 들어 Ubuntu 1404를 실행하고 2개의 CPU와 2048MB의 메모리가 있는 my-instance 인스턴스를 가져오려면 다음 명령어를 실행합니다.

gcloud beta compute instances import my-instance \
  --os=ubuntu-1404 --source-uri=gs://my-bucket/Ubuntu.ova \
  --custom-cpu=2 --custom-memory=2048MB

커스텀 네트워크

프로젝트가 커스텀 네트워크를 사용하도록 설정된 경우 --network 플래그를 지정해야 합니다. 네트워크가 커스텀 서브넷 모드로 구성된 경우 --subnet--zone 플래그도 지정해야 합니다.

예를 들어 다음 속성의 인스턴스를 가져옵니다.

  • 인스턴스 이름: my-instance
  • 운영체제: Ubuntu 1404
  • 네트워크: custom-vpc network
  • 서브넷: company-vpc-us-east1-c
  • 영역: us-east1-c

다음 명령어를 실행합니다.

gcloud beta compute instances import my-instance --os ubuntu-1404 \
  --source-uri=gs://my-bucket/Ubuntu.ova \
  --network company-vpc \
  --subnet company-vpc-us-east1-c \
  --zone us-east1-c

다음 단계

이 페이지가 도움이 되었나요? 평가를 부탁드립니다.

다음에 대한 의견 보내기...

Compute Engine 문서