VM で仮想ディスプレイを有効にする


このドキュメントでは、仮想マシン(VM)インスタンスで仮想ディスプレイを有効または無効にする方法について説明します。

VM で実行されているアプリケーションで表示デバイスが必要であるものの、GPU のパフォーマンスは必要ない場合は、仮想表示デバイスを使用するように VM を構成します。VM で仮想ディスプレイを有効にすると、リモート システム管理ツール、リモート デスクトップ ソフトウェア、スクリーン キャプチャなどの仮想ディスプレイ デバイスを VM で実行できます。

始める前に

  • まだ設定していない場合は、認証を設定します。認証とは、Google Cloud サービスと API にアクセスするために ID を確認するプロセスです。ローカル開発環境からコードまたはサンプルを実行するには、次のように Compute Engine に対する認証を行います。

    Select the tab for how you plan to use the samples on this page:

    Console

    When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.

    gcloud

    1. Install the Google Cloud CLI, then initialize it by running the following command:

      gcloud init
    2. Set a default region and zone.
    3. Terraform

      ローカル開発環境でこのページの Terraform サンプルを使用するには、gcloud CLI をインストールして初期化し、ユーザー認証情報を使用してアプリケーションのデフォルト認証情報を設定します。

      1. Install the Google Cloud CLI.
      2. To initialize the gcloud CLI, run the following command:

        gcloud init
      3. If you're using a local shell, then create local authentication credentials for your user account:

        gcloud auth application-default login

        You don't need to do this if you're using Cloud Shell.

      詳細については Set up authentication for a local development environment をご覧ください。

      REST

      このページの REST API サンプルをローカル開発環境で使用するには、gcloud CLI に指定した認証情報を使用します。

        Install the Google Cloud CLI, then initialize it by running the following command:

        gcloud init

      詳細については、Google Cloud 認証ドキュメントの REST を使用して認証するをご覧ください。

必要なロール

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

カスタムロールや他の事前定義ロールを使用して、これらの権限を取得することもできます。

料金

VM で仮想ディスプレイを有効または無効にしても、費用は発生しません。

制限事項

仮想ディスプレイが有効になっている VM には、次の制限が適用されます。

  • VM でバージョン v20190312 より前の x64 ベースの Windows OS イメージを実行している場合は、VM で仮想ディスプレイを有効にした後、このドキュメントで説明されているように仮想ディスプレイ ドライバをインストールする必要があります。VM でそれ以降のバージョンの OS イメージを実行している場合は、ドライバはすでに OS イメージにインストールされています。

  • VM で仮想表示デバイスを使用できるのは、ゲスト OS が起動して仮想表示ドライバを初期化した後です。

  • Sandy Bridge CPU プラットフォームを実行している VM では、仮想表示デバイスを使用できません。

  • T2A Arm VM では仮想表示デバイスを使用できません。

VM で仮想ディスプレイを有効にする

VM で仮想ディスプレイを有効にするには、このドキュメントで説明する次のいずれかの方法を選択します。

VM でバージョン v20190312 より前の x64 ベースの Windows OS イメージを実行している場合は、VM で仮想ディスプレイを有効にした後、このドキュメントの説明に従って仮想ディスプレイ ドライバをインストールします。

仮想ワークステーションを有効にして VM を作成する

仮想ディスプレイを有効にして VM を作成するには、次のいずれかのオプションを選択します。

コンソール

  1. Google Cloud コンソールで、[インスタンスの作成] ページに移動します。

    [インスタンスの作成] に移動

  2. VM のプロパティ(名前、ゾーン、マシンタイプ)を指定します。

  3. [表示デバイス] セクションで、[表示デバイスを有効にする] チェックボックスをオンにします。

  4. VM を作成するには、[作成] をクリックします。

gcloud

仮想ディスプレイを有効にして VM を作成するには、--enable-display-device フラグを指定して gcloud compute instances create コマンドを使用します。

gcloud compute instances create VM_NAME \
    --enable-display-device \
    --machine-type=MACHINE_TYPE \
    --zone=ZONE

次のように置き換えます。

  • VM_NAME: VM の名前。

  • MACHINE_TYPE: VM に使用するマシンタイプ。

  • ZONE: VM インスタンスを作成するゾーン。

Terraform

仮想ディスプレイを有効にして VM を作成するには、Terraform リソースを使用して、enable_display 引数を true に設定します。

たとえば、仮想ディスプレイを有効にした VM をゾーン us-central1-c に作成し、マシンタイプとして f1-micro を指定するには、次のリソースを使用します。


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

仮想ディスプレイを有効にして VM を作成するには、instances.insert メソッドPOST リクエストを行います。リクエストの本文に、true に設定された enableDisplay フィールドを含めます。

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

{
  "name": "VM_NAME",
  "machineType": "zones/ZONE/machineTypes/MACHINE_TYPE",
  "disks": [
    {
      "boot": true,
      "initializeParams": {
        "sourceImage": "project/IMAGE_PROJECT/global/images/IMAGE"
      }
    }
  ],
  "displayDevice": {
    "enableDisplay": true
  },
  "networkInterfaces": [
    {
      "network": "global/networks/default"
    }
  ]
}

次のように置き換えます。

  • PROJECT_ID: VM を作成するプロジェクトの ID。

  • ZONE: VM インスタンスを作成するゾーン。

  • VM_NAME: VM の名前。

  • MACHINE_TYPE: VM に使用するマシンタイプ。

  • IMAGE_PROJECT: OS イメージを含むイメージ プロジェクト(例: debian-cloud)。サポートされているイメージ プロジェクトの詳細については、公開イメージをご覧ください。

  • IMAGE: 次のいずれかを指定します。

    • OS イメージの特定のバージョン。例: debian-12-bookworm-v20240617

    • イメージ ファミリーfamily/IMAGE_FAMILY の形式にする必要があります。これにより、非推奨ではない最新の OS イメージが指定されます。たとえば、family/debian-12 を指定すると、Debian 12 イメージ ファミリーの最新バージョンが使用されます。イメージ ファミリーの使用の詳細については、イメージ ファミリーのベスト プラクティスをご覧ください。

VM の作成の詳細については、Compute Engine インスタンスの作成と開始をご覧ください。

既存の VM で仮想ディスプレイを有効にする

VM で仮想ディスプレイを有効にする前に、VM を停止してください。

既存の VM で仮想ディスプレイを有効にするには、次のいずれかを選択します。

コンソール

  1. Google Cloud コンソールで [VM インスタンス] ページに移動します。

    [VM インスタンス] ページに移動

  2. [名前] 列で、VM の名前をクリックします。

    VM の詳細ページが開きます。

  3. [ 編集] をクリックします。

    VM のプロパティを編集するページが開きます。

  4. [表示デバイス] セクションで、[表示デバイスを有効にする] チェックボックスをオンにします。

  5. [保存] をクリックします。

gcloud

既存の VM で仮想ディスプレイを有効にするには、--enable-display-device フラグを指定して gcloud compute instances update コマンドを使用します。

gcloud compute instances update VM_NAME \
    --enable-display-device \
    --zone=ZONE

次のように置き換えます。

  • VM_NAME: VM の名前。

  • ZONE: VM が配置されているゾーン。

REST

既存の VM で仮想ディスプレイを有効にするには、instances.updateDisplayDevice メソッドPOST リクエストを送信します。リクエストの本文に enableDisplay フィールドを含め、true に設定します。

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/updateDisplayDevice

{
  "enableDisplay": true
}

次のように置き換えます。

  • PROJECT_ID: VM が配置されているプロジェクトのプロジェクト ID。

  • ZONE: VM が配置されているゾーン。

  • VM_NAME: VM の名前。

既存の VM で仮想ディスプレイを無効にする

VM で仮想ディスプレイを無効にする前に、必ず VM を停止してください。

既存の VM で仮想ディスプレイを無効にするには、次のいずれかのオプションを選択します。

コンソール

  1. Google Cloud コンソールで [VM インスタンス] ページに移動します。

    [VM インスタンス] ページに移動

  2. [名前] 列で、VM の名前をクリックします。

    VM の詳細ページが開きます。

  3. [ 編集] をクリックします。

    VM のプロパティを編集するページが開きます。

  4. [表示デバイス] セクションで、[表示デバイスを有効にする] チェックボックスをオフにします。

  5. [保存] をクリックします。

gcloud

既存の VM で仮想ディスプレイを無効にするには、--no-enable-display-device フラグを指定して gcloud compute instances update コマンドを使用します。

gcloud compute instances update VM_NAME \
    --no-enable-display-device \
    --zone=ZONE

次のように置き換えます。

  • VM_NAME: VM の名前。

  • ZONE: VM が配置されているゾーン。

REST

既存の VM で仮想ディスプレイを無効にするには、instances.updateDisplayDevice メソッドPOST リクエストを送信します。リクエストの本文に enableDisplay フィールドを含め、false に設定します。

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/updateDisplayDevice

{
  "enableDisplay": false
}

次のように置き換えます。

  • PROJECT_ID: VM が配置されているプロジェクトのプロジェクト ID。

  • ZONE: VM が配置されているゾーン。

  • VM_NAME: VM の名前。

仮想ディスプレイ ドライバをインストールする

バージョン v20190312 より前の Windows OS イメージを実行する Windows VM で仮想ディスプレイを有効にしている場合、VM で仮想表示デバイスを使用するには、Google Cloud が提供する仮想ディスプレイ ドライバをインストールする必要があります。VM で新しいバージョンの OS イメージが実行されている場合は、ドライバがすでにインストールされているため、このセクションをスキップできます。

仮想ディスプレイを有効にした VM に仮想ディスプレイ ドライバをインストールするには、次の操作を行います。

  1. Windows VM に接続します

  2. 管理者として PowerShell ターミナルを開きます。

  3. google-compute-engine-driver-gga コンポーネントをインストールします。

    googet install google-compute-engine-driver-gga
    
  4. VM を再起動します

VM を再起動したら、次のセクションの説明に従って、ドライバが正しくインストールされていることを確認できます。

仮想ディスプレイ ドライバのインストールを確認する

前のセクションで説明したように、Windows VM に仮想ディスプレイ ドライバを手動でインストールする必要がある場合は、次の手順でインストールが成功したことを確認できます。

  1. Windows VM に接続します(まだ接続していない場合)。

  2. デバイス マネージャーを開きます。

  3. [デバイス マネージャー] の [ディスプレイ アダプタ] リストに、Google Graphics Array(GGA)ドライバが表示されていることを確認します。

    ドライバが一覧にない場合は、このドキュメントの説明に従って仮想ディスプレイ ドライバを再インストールします。

次のステップ