가상 디스플레이 사용 설정


VM 인스턴스의 애플리케이션에 디스플레이 기기가 필요하지만 고가 또는 완벽한 성능의 GPU가 필요하지 않은 경우에는 가상 디스플레이 기기로 인스턴스를 구성할 수 있습니다. 이렇게 하면 디스플레이 기기를 필요로 하는 원격 시스템 관리 도구 및 원격 데스크톱 소프트웨어를 실행할 수 있습니다.

새 인스턴스를 만들 때 가상 디스플레이 기기를 구성하거나 중지된 상태에서 기존 인스턴스에 가상 디스플레이 기기를 추가합니다. 가상 디스플레이 기기로 인스턴스를 사용 설정하는 데는 비용이 들지 않습니다.

시작하기 전에

  • 아직 인증을 설정하지 않았다면 설정합니다. 인증은 Google Cloud 서비스 및 API에 액세스하기 위해 ID를 확인하는 프로세스입니다. 로컬 개발 환경에서 코드 또는 샘플을 실행하려면 다음과 같이 Compute Engine에 인증하면 됩니다.

    이 페이지의 샘플 사용 방법에 대한 탭을 선택하세요.

    콘솔

    Google Cloud 콘솔을 사용하여 Google Cloud 서비스 및 API에 액세스할 때는 인증을 설정할 필요가 없습니다.

    gcloud

    1. Google Cloud CLI를 설치한 후 다음 명령어를 실행하여 초기화합니다.

      gcloud init
    2. 기본 리전 및 영역을 설정합니다.

    Terraform

    로컬 개발 환경에서 이 페이지의 Terraform 샘플을 사용하려면 gcloud CLI를 설치 및 초기화한 다음 사용자 인증 정보로 애플리케이션 기본 사용자 인증 정보를 설정하세요.

    1. Google Cloud CLI를 설치합니다.
    2. gcloud CLI를 초기화하려면 다음 명령어를 실행합니다.

      gcloud init
    3. Google 계정의 로컬 인증 사용자 인증 정보를 만듭니다.

      gcloud auth application-default login

    자세한 내용은 로컬 개발 환경의 인증 설정를 참조하세요.

    REST

    로컬 개발 환경에서 이 페이지의 REST API 샘플을 사용하려면 gcloud CLI에 제공한 사용자 인증 정보를 사용합니다.

      Google Cloud CLI를 설치한 후 다음 명령어를 실행하여 초기화합니다.

      gcloud init

필요한 역할

VM에서 가상 디스플레이를 수정하는 데 필요한 권한을 얻으려면 관리자에게 프로젝트에 대한 Compute 인스턴스 관리자(v1)(roles/compute.instanceAdmin.v1) IAM 역할을 부여해 달라고 요청하세요. 역할 부여에 대한 자세한 내용은 액세스 관리를 참조하세요.

이 사전 정의된 역할에는 VM에서 가상 디스플레이를 수정하는 데 필요한 권한이 포함되어 있습니다. 필요한 정확한 권한을 보려면 필수 권한 섹션을 펼치세요.

필수 권한

VM에서 가상 디스플레이를 수정하는 데 필요한 권한은 다음과 같습니다.

  • 기존 VM에서 가상 디스플레이를 추가 또는 삭제: VM에 대한 compute.instances.updateDisplayDevice 권한
  • 가상 디스플레이 기기로 VM 만들기:
    • 프로젝트에 대한 compute.instances.create 권한
    • 커스텀 이미지를 사용하여 VM 만들기: 이미지에 대한 compute.images.useReadOnly 권한
    • 스냅샷을 사용하여 VM 만들기: 스냅샷에 대한 compute.snapshots.useReadOnly 권한
    • 인스턴스 템플릿을 사용하여 VM 만들기: 인스턴스 템플릿에 대한 compute.instanceTemplates.useReadOnly 권한
    • VM에 기존 네트워크 할당: 프로젝트에 대한 compute.networks.use 권한
    • VM의 고정 IP 주소 지정: 프로젝트에 대한 compute.addresses.use 권한
    • 기존 네트워크 사용 시 VM에 외부 IP 주소 할당: 프로젝트에 대한 compute.networks.useExternalIp 권한
    • VM의 서브넷 지정: 프로젝트 또는 선택한 서브넷에 대한 compute.subnetworks.use 권한
    • VPC 네트워크를 사용할 때 VM에 외부 IP 주소 할당: 프로젝트 또는 선택한 서브넷에 대한 compute.subnetworks.useExternalIp 권한
    • VM에 VM 인스턴스 메타데이터 설정: 프로젝트에 대한 compute.instances.setMetadata 권한
    • VM에 태그 설정: VM에 대한 compute.instances.setTags 권한
    • VM에 라벨 설정: VM에 대한 compute.instances.setLabels 권한
    • VM에 사용할 서비스 계정 설정: VM에 대한 compute.instances.setServiceAccount 권한
    • VM의 새 디스크 만들기: 프로젝트에 대한 compute.disks.create 권한
    • 기존 디스크를 읽기 전용 또는 읽기-쓰기 모드로 연결: 디스크에 대한 compute.disks.use 권한
    • 기존 디스크를 읽기 전용 모드로 연결: 디스크에 대한 compute.disks.useReadOnly 권한

커스텀 역할이나 다른 사전 정의된 역할을 사용하여 이 권한을 부여받을 수도 있습니다.

제한사항

  • Google은 Linux 인스턴스 및 모든 64비트 기반 Windows 이미지 v20190312 이상을 사용하는 Windows 인스턴스에서 가상 디스플레이 기기를 지원합니다.
  • VM 인스턴스가 v20190312 이전의 Windows 이미지를 실행 중인 경우 인스턴스의 가상 디스플레이를 사용 설정한 후 기기 드라이버도 수동으로 설치해야 합니다. v20190312 이후의 이미지는 기기 드라이버에 사전 설치된 상태로 제공됩니다.
  • 가상 디스플레이 기기는 게스트 운영체제가 부팅되고 가상 디스플레이 드라이버를 초기화한 후에만 작동합니다. POST 중에 또는 게스트 운영체제 부팅 중에는 가상 디스플레이 기기를 사용할 수 없습니다.
  • 가상 디스플레이 기기는 Sandy Bridge CPU 플랫폼을 실행하는 인스턴스와 호환되지 않습니다.
  • 가상 디스플레이 기기는 T2A Arm VM과 호환되지 않습니다.

가상 디스플레이 기기로 인스턴스 만들기

새 인스턴스를 만들 때 인스턴스에서 가상 디스플레이 기기를 사용 설정합니다. 또는 기존 인스턴스에 가상 디스플레이 기기를 추가할 수 있습니다.

콘솔

  1. Google Cloud 콘솔에서 인스턴스 만들기 페이지로 이동합니다.

    인스턴스 만들기로 이동

  2. 이름, 리전, 영역, 머신 구성을 포함하여 VM의 속성을 정의합니다.

  3. 가상 디스플레이 기기를 사용 설정하려면 머신 구성 > 디스플레이 기기 설정에서 디스플레이 기기 사용 설정 체크박스를 선택합니다.

    가상 디스플레이 기기를 사용하면 화면 캡처를 사용할 수 있습니다.

  4. 만들기를 클릭하여 VM을 만듭니다.

gcloud

Google Cloud CLI에서 compute instances create 명령어를 사용하고 --enable-display-device 플래그를 포함합니다.

 gcloud compute instances create [INSTANCE_NAME] --enable-display-device

여기서 [INSTANCE_NAME]은 만들려는 인스턴스의 이름입니다.

Terraform

Terraform 리소스를 사용하여 enable_display 인수를 true로 설정하여 가상 디스플레이가 사용 설정된 인스턴스를 만들 수 있습니다.


resource "google_compute_instance" "instance_virtual_display" {
  name         = "instance-virtual-display"
  machine_type = "f1-micro"
  zone         = "us-central1-c"

  # Set the below to true to enable virtual display
  enable_display = true

  boot_disk {
    initialize_params {
      image = "debian-cloud/debian-11"
    }
  }
  network_interface {
    # A default network is created for all GCP projects
    network = "default"
    access_config {
    }
  }
}

REST

API에서 compute.instances.insert 메서드에 대해 POST 요청을 작성합니다. 요청 본문에 인스턴스 속성과 enableDisplaytrue로 설정된 displayDevice 속성을 포함합니다.

POST https://compute.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/[ZONE]/instances

{
  "name": "[INSTANCE_NAME]",
  "machineType": "zones/[ZONE]/machineTypes/[MACHINE_TYPE]",
  "displayDevice": {
    "enableDisplay": true
  },
⋮
}]

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

  • [INSTANCE_NAME]은 인스턴스의 이름입니다.
  • [PROJECT_ID]는 프로젝트 ID입니다.
  • [ZONE]은 인스턴스가 있는 영역입니다.

가상 디스플레이 기기로 인스턴스를 만든 후 원격 데스크톱에서 원격으로 Windows 인스턴스를 관리하도록 구성할 수 있습니다.

기존 인스턴스에 가상 디스플레이 기기 추가 또는 삭제

기존 인스턴스에 가상 디스플레이 기기를 사용 설정할 수 있습니다. 또는 새 인스턴스를 만들 때 가상 디스플레이 기기를 사용 설정할 수 있습니다.

실행 중인 인스턴스에서 가상 디스플레이 기기를 사용 설정하거나 사용 중지하려면 먼저 인스턴스를 중지해야 합니다.

콘솔

  1. VM 인스턴스 페이지로 이동합니다.

    VM 인스턴스 페이지로 이동

  2. 이름 열에서 가상 디스플레이 기기를 추가하거나 삭제할 인스턴스 이름을 클릭합니다.

  3. VM 인스턴스 세부정보 페이지의 상단에서 중지를 클릭합니다.

  4. VM 인스턴스 세부정보 페이지의 상단에서 수정을 클릭합니다.

  5. 디스플레이 기기에서 디스플레이 기기 켜기를 클릭하여 이 인스턴스에 대해 가상 디스플레이기 기기를 사용 설정하거나 사용 중지합니다.

  6. 인스턴스 만들기 설정 하단에서 저장을 클릭합니다.

gcloud

가상 디스플레이 기기를 추가하려면 Google Cloud CLI에서 compute instances update 명령어를 사용하고 --enable-display-device 플래그를 포함합니다.

 gcloud compute instances update [INSTANCE_NAME] --enable-display-device

여기서 [INSTANCE_NAME]은 만들려는 인스턴스의 이름입니다.

가상 디스플레이 기기를 삭제하려면 gcloud CLI에서 compute instances update 명령어를 사용하고 --no-enable-display-device 플래그를 포함합니다.

 gcloud compute instances update [INSTANCE_NAME] --no-enable-display-device

여기서 [INSTANCE_NAME]은 만들려는 인스턴스의 이름입니다.

REST

API에서 compute.instances.updateDisplayDevice 메서드에 대해 POST 요청을 작성합니다. 요청 본문에 enableDisplay 속성을 포함합니다. 이 인스턴스에 가상 디스플레이 기기를 사용 설정하려면 enableDisplaytrue로 설정합니다. 인스턴스에서 가상 디스플레이 기기를 사용 중지하려면 enableDisplayfalse로 설정합니다.

POST https://compute.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/[ZONE]/instances/[INSTANCE_NAME]/updateDisplayDevice

{
 "enableDisplay": [ENABLE_DISPLAY]
}

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

  • [INSTANCE_NAME]은 가상 디스플레이 기기를 사용 설정하거나 중지하려는 인스턴스의 이름입니다.
  • [PROJECT_ID]는 프로젝트 ID입니다.
  • [ZONE]은 인스턴스가 있는 영역입니다.
  • [ENABLE_DISPLAY]true이면 인스턴스에 가상 디스플레이 기기가 사용 설정되고 false이면 인스턴스에서 가상 디스플레이 기기가 중지됩니다.

가상 디스플레이 기기로 인스턴스를 만든 후 원격 데스크톱에서 원격으로 Windows 인스턴스를 관리하도록 구성할 수 있습니다.

가상 디스플레이 드라이버 설치

Google은 Windows 인스턴스가 가상 디스플레이 기기를 올바르게 사용할 수 있도록 디스플레이 드라이버를 제공합니다. 이 드라이버는 여러 가지 Compute Engine 기능에 필요합니다. Google은 Windows 인스턴스에만 이 디스플레이 드라이버를 제공하고 지원합니다.

가상 디스플레이 기기로 인스턴스를 만들거나 가상 디스플레이 기기를 기존 인스턴스에 추가한 후 다음 프로세스를 사용하여 인스턴스에 가상 디스플레이 기기를 설치할 수 있습니다.

  1. 가상 디스플레이 기기가 사용 설정된 Windows 인스턴스에 연결합니다.
  2. 관리자 권한으로 PowerShell 터미널을 엽니다.
  3. googet 설치 프로그램을 실행하여 google-compute-engine-driver-gga 구성요소를 설치합니다.

    googet install google-compute-engine-driver-gga
    
  4. 인스턴스를 다시 시작합니다.

인스턴스를 다시 시작한 후 아래 안내에 따라 드라이버가 설치되었는지 확인합니다.

가상 디스플레이 드라이버 설치 확인

수동으로 기기 드라이버를 설치해야 했다면 다음 안내에 따라 설치가 완료되었는지 확인하세요.

  1. 가상 디스플레이 기기가 사용 설정된 Windows 인스턴스에 연결합니다.
  2. 실행 도구를 열고 devmgmt.msc 컴퓨터 관리 도구를 실행합니다.
  3. 컴퓨터 관리 도구의 탐색 메뉴에서 기기 관리자를 클릭하여 기기 목록을 표시합니다.
  4. 디스플레이 어댑터 목록에서 Google 그래픽 배열 드라이버가 나열되어 있는지 확인합니다. Google 그래픽 배열을 설치된 디스플레이 어댑터로 나열하여 보여주는 Windows 컴퓨터 관리 창
  5. Google 그래픽 배열 대신 Microsoft 기본 디스플레이 어댑터가 디스플레이 어댑터로 나열되어 있으면 드라이버 설치 절차를 반복하여 드라이버를 다시 확인합니다.

다음 단계