Attivare i display virtuali su una VM


Questo documento descrive come attivare o disattivare i display virtuali su un'istanza di una macchina virtuale (VM).

Se un'applicazione in esecuzione sulla VM richiede un dispositivo di visualizzazione, ma non hai bisogno delle prestazioni di una GPU, configura la VM in modo da utilizzare dispositivi di visualizzazione virtuali. Se attivi i display virtuali su una VM, puoi eseguire dispositivi di visualizzazione virtuale sulla VM, come strumenti di gestione del sistema remoto, software di desktop remoto e acquisizione di schermate.

Prima di iniziare

  • Se non l'hai ancora fatto, configura l'autenticazione. L'autenticazione è la procedura mediante la quale la tua identità viene verificata per l'accesso alle API e ai servizi Google Cloud. Per eseguire codice o esempi da un ambiente di sviluppo locale, puoi autenticarti su Compute Engine selezionando una delle seguenti opzioni:

    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

      Per utilizzare gli esempi di Terraform in questa pagina in un ambiente di sviluppo locale, installa e inizializza gcloud CLI, quindi configura le Credenziali predefinite dell'applicazione con le tue credenziali utente.

      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.

      Per ulteriori informazioni, consulta Set up authentication for a local development environment.

      REST

      Per utilizzare gli esempi dell'API REST in questa pagina in un ambiente di sviluppo locale, utilizza le credenziali fornite a gcloud CLI.

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

        gcloud init

      Per ulteriori informazioni, consulta Eseguire l'autenticazione per l'utilizzo di REST nella documentazione sull'autenticazione di Google Cloud.

Ruoli obbligatori

Per ottenere le autorizzazioni necessarie per attivare o disattivare i display virtuali su una VM, chiedi all'amministratore di concederti il ruolo IAM Amministratore istanze Compute (v1) (roles/compute.instanceAdmin.v1) nel progetto. Per saperne di più sulla concessione dei ruoli, consulta Gestire l'accesso a progetti, cartelle e organizzazioni.

Questo ruolo predefinito contiene le autorizzazioni necessarie per attivare o disattivare i display virtuali su una VM. Per visualizzare le autorizzazioni esatte richieste, espandi la sezione Autorizzazioni richieste:

Autorizzazioni obbligatorie

Per attivare o disattivare i display virtuali su una VM sono necessarie le seguenti autorizzazioni:

  • Per attivare o disattivare i display virtuali su una VM esistente: compute.instances.updateDisplayDevice sulla VM
  • Per creare una VM con i display virtuali abilitati:
    • compute.instances.create sul progetto
    • Per utilizzare un'immagine personalizzata per creare la VM: compute.images.useReadOnly sull'immagine
    • Per utilizzare uno snapshot per creare la VM: compute.snapshots.useReadOnly nello snapshot
    • Per utilizzare un modello di istanza per creare la VM: compute.instanceTemplates.useReadOnly nel modello di istanza
    • Per assegnare una rete legacy alla VM: compute.networks.use nel progetto
    • Per specificare un indirizzo IP statico per la VM: compute.addresses.use nel progetto
    • Per assegnare un indirizzo IP esterno alla VM quando nel progetto viene utilizzata una rete precedente: compute.networks.useExternalIp
    • Per specificare una subnet per la VM: compute.subnetworks.use nel progetto o nella subnet scelta
    • Per assegnare un indirizzo IP esterno alla VM quando utilizzi una rete VPC: compute.subnetworks.useExternalIp nel progetto o nella subnet scelta
    • Per impostare i metadati dell'istanza VM per la VM: compute.instances.setMetadata nel progetto
    • Per impostare i tag per la VM: compute.instances.setTags sulla VM
    • Per impostare le etichette per la VM: compute.instances.setLabels sulla VM
    • Per impostare un account di servizio per consentire alla VM di utilizzare: compute.instances.setServiceAccount sulla VM
    • Per creare un nuovo disco per la VM: compute.disks.create nel progetto
    • Per collegare un disco esistente in modalità di sola lettura o di lettura e scrittura: compute.disks.use sul disco
    • Per collegare un disco esistente in modalità di sola lettura: compute.disks.useReadOnly sul disco

Potresti anche ottenere queste autorizzazioni con ruoli personalizzati o altri ruoli predefiniti.

Prezzi

L'attivazione o la disattivazione dei display virtuali su una VM non comporta costi.

Limitazioni

Per le VM con display virtuali abilitati, si applicano le seguenti limitazioni:

  • Se la VM esegue un'immagine del sistema operativo Windows basata su x64 precedente alla versionev20190312, dopo aver attivato i display virtuali sulla VM, deviinstallare il driver del display virtuale come descritto in questo documento. Se la VM esegue una versione successiva dell'immagine del sistema operativo, il driver è già installato nell'immagine del sistema operativo.

  • Puoi utilizzare un dispositivo di visualizzazione virtuale sulla VM solo dopo l'avvio del sistema operativo guest e l'inizializzazione del driver del display virtuale.

  • Non puoi utilizzare dispositivi di visualizzazione virtuali su VM che eseguono la piattaforma CPU Sandy Bridge.

  • Non puoi utilizzare dispositivi di visualizzazione virtuali su VM T2A ARM.

Attivare i display virtuali su una VM

Per attivare i display virtuali su una VM, seleziona uno dei seguenti metodi descritti in questo documento:

Se la VM esegue un'immagine del sistema operativo Windows basata su x64 precedente alla versionev20190312, dopo aver attivato i display virtuali sulla VM,installa il driver del display virtuale come descritto in questo documento.

Creare una VM con i display virtuali abilitati

Per creare una VM con i display virtuali abilitati, seleziona una delle seguenti opzioni:

Console

  1. Nella console Google Cloud, vai alla pagina Crea un'istanza.

    Vai a Crea un'istanza

  2. Specifica le proprietà della VM, inclusi il nome, la zona e il tipo di macchina.

  3. Nella sezione Dispositivo display, seleziona la casella di controllo Attiva il dispositivo display.

  4. Per creare la VM, fai clic su Crea.

gcloud

Per creare una VM con i display virtuali abilitati, utilizza il comando gcloud compute instances create con il flag --enable-display-device.

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

Sostituisci quanto segue:

  • VM_NAME: il nome della VM.

  • MACHINE_TYPE: il tipo di macchina da utilizzare per la VM.

  • ZONE: la zona in cui creare la VM.

Terraform

Per creare una VM con i display virtuali abilitati, utilizza la risorsa Terraform con l'argomento enable_display impostato su true.

Ad esempio, per creare una VM nella zona us-central1-c con i display virtuali attivati e specificare f1-micro come tipo di macchina, utilizza la seguente risorsa:


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

Per creare una VM con i display virtuali abilitati, invia una richiesta POST al metodo instances.insert. Nel corpo della richiesta, includi il campo enableDisplay impostato su true.

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"
    }
  ]
}

Sostituisci quanto segue:

  • PROJECT_ID: l'ID del progetto in cui creare la VM.

  • ZONE: la zona in cui creare la VM.

  • VM_NAME: il nome della VM.

  • MACHINE_TYPE: il tipo di macchina da utilizzare per la VM.

  • IMAGE_PROJECT: il progetto immagine che contiene l'immagine del sistema operativo, ad esempio debian-cloud. Per saperne di più sui progetti di immagini supportati, consulta Immagini pubbliche.

  • IMAGE: specifica una delle seguenti opzioni:

    • Una versione specifica dell'immagine del sistema operativo, ad esempio debian-12-bookworm-v20240617.

    • Una famiglia di immagini, che deve essere formattata come family/IMAGE_FAMILY. Specifica l'immagine del sistema operativo più recente e non ritirata. Ad esempio, se specifichi family/debian-12, viene utilizzata la versione più recente della famiglia di immagini Debian 12. Per saperne di più sull'utilizzo delle famiglie di immagini, consulta le best practice per le famiglie di immagini.

Per ulteriori informazioni sulla creazione di una VM, consulta Creare e avviare un'istanza Compute Engine.

Attivare i display virtuali su una VM esistente

Prima di attivare i display virtuali su una VM, assicurati di arrestare la VM.

Per attivare i display virtuali su una VM esistente, seleziona una delle seguenti opzioni:

Console

  1. Nella console Google Cloud, vai alla pagina Istanze VM.

    Vai alla pagina Istanze VM

  2. Nella colonna Nome, fai clic sul nome della VM.

    Viene visualizzata la pagina dei dettagli della VM.

  3. Fai clic su Modifica.

    Viene visualizzata la pagina per modificare le proprietà della VM.

  4. Nella sezione Dispositivo display, seleziona la casella di controllo Attiva il dispositivo display.

  5. Fai clic su Salva.

gcloud

Per attivare i display virtuali su una VM esistente, utilizza il comando gcloud compute instances update con il flag --enable-display-device.

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

Sostituisci quanto segue:

  • VM_NAME: il nome della VM.

  • ZONE: la zona in cui si trova la VM.

REST

Per attivare i display virtuali su una VM esistente, invia una richiesta POST al metodo instances.updateDisplayDevice. Nel corpo della richiesta, includi il campo enableDisplay e impostalo su true.

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

{
  "enableDisplay": true
}

Sostituisci quanto segue:

  • PROJECT_ID: l'ID del progetto in cui si trova la VM.

  • ZONE: la zona in cui si trova la VM.

  • VM_NAME: il nome della VM.

Disattivare i display virtuali su una VM esistente

Prima di disattivare i display virtuali su una VM, assicurati di arrestare la VM.

Per disattivare i display virtuali su una VM esistente, seleziona una delle seguenti opzioni:

Console

  1. Nella console Google Cloud, vai alla pagina Istanze VM.

    Vai alla pagina Istanze VM

  2. Nella colonna Nome, fai clic sul nome della VM.

    Viene visualizzata la pagina dei dettagli della VM.

  3. Fai clic su Modifica.

    Viene visualizzata la pagina per modificare le proprietà della VM.

  4. Nella sezione Dispositivo di visualizzazione, deseleziona la casella di controllo Attiva il dispositivo di visualizzazione.

  5. Fai clic su Salva.

gcloud

Per disattivare i display virtuali su una VM esistente, utilizza il comando gcloud compute instances update con il flag --no-enable-display-device.

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

Sostituisci quanto segue:

  • VM_NAME: il nome della VM.

  • ZONE: la zona in cui si trova la VM.

REST

Per disattivare i display virtuali su una VM esistente, invia una richiesta POST al metodo instances.updateDisplayDevice. Nel corpo della richiesta, includi il campo enableDisplay e impostalo su false.

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

{
  "enableDisplay": false
}

Sostituisci quanto segue:

  • PROJECT_ID: l'ID del progetto in cui si trova la VM.

  • ZONE: la zona in cui si trova la VM.

  • VM_NAME: il nome della VM.

Installa il driver del display virtuale

Se hai attivato i display virtuali su una VM Windows che esegue un'immagine del sistema operativo Windows precedente alla versione v20190312, per utilizzare un dispositivo di visualizzazione virtuale sulla VM devi installare il driver del display virtuale fornito da Google Cloud. Se la VM esegue una versione dell'immagine del sistema operativo più recente, il driver è già installato e puoi saltare questa sezione.

Per installare il driver del display virtuale su una VM con i display virtuali abilitati, segui questi passaggi:

  1. Connettiti alla VM Windows.

  2. Apri un terminale PowerShell come amministratore.

  3. Installa il componente google-compute-engine-driver-gga:

    googet install google-compute-engine-driver-gga
    
  4. Riavvia la VM.

Dopo aver riavviato la VM, puoi verificare che il driver sia stato installato correttamente come descritto nella sezione successiva.

Verifica l'installazione del driver del display virtuale

Se hai dovuto installare manualmente il driver della scheda video virtuale su una VM Windows come descritto nella sezione precedente, puoi verificare che l'installazione sia andata a buon fine nel seguente modo:

  1. Se non l'hai ancora fatto, connettiti alla VM Windows.

  2. Apri Gestione dispositivi.

  3. Nell'elenco Gestore dispositivi, nell'elenco Schede video, assicurati che sia elencato il driver GGA (Google Graphics Array).

    Se il driver non è elencato, reinstalla il driver della scheda video virtuale come descritto in questo documento.

Passaggi successivi