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

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

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

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

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

시작하기 전에

Cloud Build API 사용 설정

가상 어플라이언스 가져오기 도구는 Cloud Build를 사용합니다.

대부분의 경우 gcloud compute images import는 Cloud Build 서비스 계정에 이러한 권한을 부여하려고 시도합니다. 하지만 이러한 권한을 수동으로 부여하여 필수 권한이 적용되도록 할 수 있습니다.

Console

  1. 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

    또한 가져오기 도구는 기본 Compute Engine 서비스 계정을 사용합니다. 기본적으로 Compute Engine 서비스 계정에는 Cloud IAM 프로젝트 편집자 역할이 있습니다. 이 역할을 삭제하면 가져오기 프로세스가 실패할 수 있습니다. 서비스 계정에 역할을 다시 추가하려면 액세스 권한 부여를 참조하세요. Compute Engine 기본 서비스 계정에 대한 자세한 내용은 Compute Engine 기본 서비스 계정을 참조하세요.

gcloud

gcloud 명령줄 도구를 사용하여 Cloud Build 서비스를 설정하려면 다음 단계를 따르세요.

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

    gcloud services enable cloudbuild.googleapis.com

    또한 가져오기 도구는 기본 Compute Engine 서비스 계정을 사용합니다. 기본적으로 Compute Engine 서비스 계정에는 Cloud IAM 프로젝트 편집자 역할이 있습니다. 이 역할을 삭제하면 가져오기 프로세스가 실패할 수 있습니다. 서비스 계정에 역할을 다시 추가하려면 액세스 권한 부여를 참조하세요. Compute Engine 기본 서비스 계정에 대한 자세한 내용은 Compute Engine 기본 서비스 계정을 참조하세요.

  2. Cloud Build API의 서비스 계정에 compute.admin 역할을 추가합니다.

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

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

    gcloud projects add-iam-policy-binding project-id \
       --member serviceAccount:project-num@cloudbuild.gserviceaccount.com \
       --role roles/iam.serviceAccountTokenCreator
    

    다음을 바꿉니다.

요구사항

소스 VM 요구사항

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

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

VM이 요구사항을 충족하는지 확인하려면 사전 검사 도구를 실행하면 됩니다.

OVF 파일 요구사항

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

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

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

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

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

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

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

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

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

    게스트 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 SP1
  • Windows Server 2012, Windows Server 2012 R2, Windows Server 2012 R2 Core
  • Windows Server 2016 및 Windows Server 2016 Core
  • Windows Server 2019 및 Windows Server 2019 Core
  • Windows 7 SP1(32비트 및 64 비트, BYOL만 해당)
  • Windows 8.1(32비트 및 64비트, BYOL만 해당)
  • Windows 10, 버전 1709, 1803, 1903, 1909(32비트 및 64비트, BYOL만 해당)

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

BYOL 지원

기본적으로 Windows Server 및 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-2019-byol
  • windows-7-x64-byol
  • windows-7-x86-byol
  • windows-8-x64-byol
  • windows-8-x86-byol
  • windows-10-x64-byol
  • windows-10-x86-byol

OVA 파일 가져오기

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

    gcloud compute instances import instance-name \
       --source-uri=gs:path-to-OVA-file
    

    각 입력 항목은 다음과 같이 바꿉니다.

    • instance-name: 만들려는 인스턴스의 이름
    • path-to-OVA-file: Cloud Storage에서 OVA 파일 경로

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

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

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

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

OVF 파일 가져오기

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

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

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

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

      gcloud 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-ovf-directory 디렉터리에서 my-instance라는 인스턴스를 만드는 Ubuntu.ovf OVF 파일을 가져오려면 다음 명령어를 실행합니다.

      gcloud compute instances import my-instance \
       --source-uri=gs://my-bucket/my-ovf-directory/Ubuntu.ovf
      
    • my-ovf-directory 디렉터리에서 my-instance라는 인스턴스를 만드는 OVF 파일을 가져오려면 다음 명령어를 실행합니다.

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

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

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

커스텀 설정으로 가져오기

커스텀 CPU 및 메모리

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

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

gcloud 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 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 문서