Attivare i display virtuali su una VM


Questo documento descrive come attivare o disattivare i display virtuali su un'istanza di 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 che utilizzi dispositivi di visualizzazione virtuali. Se abiliti i display virtuali su una VM, puoi eseguire dispositivi di visualizzazione virtuali sulla VM, come strumenti di gestione del sistema remoto, software di desktop remoto e acquisizione schermo.

Prima di iniziare

  • Se non l'hai ancora fatto, configura l'autenticazione. L'autenticazione è il processo mediante il quale la tua identità viene verificata per l'accesso ai Google Cloud servizi e alle API. 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. After installing the Google Cloud CLI, initialize it by running the following command:

        gcloud init

        If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

      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. If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

        3. To initialize the gcloud CLI, run the following command:

          gcloud init
        4. 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.

          If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.

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

        REST

        Per utilizzare gli esempi di API REST in questa pagina in un ambiente di sviluppo locale, utilizzi le credenziali che fornisci a gcloud CLI.

          After installing the Google Cloud CLI, initialize it by running the following command:

          gcloud init

          If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

        Per saperne di più, consulta la sezione Autenticarsi 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 Compute Instance Admin (v1) (roles/compute.instanceAdmin.v1) nel progetto. Per saperne di più sulla concessione dei ruoli, consulta Gestisci 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 vedere quali sono esattamente le autorizzazioni richieste, espandi la sezione Autorizzazioni obbligatorie:

Autorizzazioni obbligatorie

Per abilitare o disabilitare 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 sullo snapshot
    • Per utilizzare un template di istanza per creare la VM: compute.instanceTemplates.useReadOnly sul template di istanza
    • Per assegnare una rete legacy alla VM: compute.networks.use sul progetto
    • Per specificare un indirizzo IP statico per la VM: compute.addresses.use sul progetto
    • Per assegnare un indirizzo IP esterno alla VM quando viene utilizzata una rete legacy: compute.networks.useExternalIp sul progetto
    • Per specificare una subnet per la VM: compute.subnetworks.use sul progetto o sulla subnet scelta
    • Per assegnare un indirizzo IP esterno alla VM quando viene utilizzata una rete VPC: compute.subnetworks.useExternalIp sul progetto o sulla subnet scelta
    • Per impostare i metadati dell'istanza VM per la VM: compute.instances.setMetadata sul 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 service account che la VM possa utilizzare: compute.instances.setServiceAccount sulla VM
    • Per creare un nuovo disco per la VM: compute.disks.create sul progetto
    • Per collegare un disco esistente in modalità di sola lettura o lettura/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

Non sono previsti costi per l'attivazione o la disattivazione di display virtuali su una VM.

Limitazioni

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

  • Se la tua VM esegue un'immagine del sistema operativo Windows basata su x64 precedente alla versione v20190312, dopo aver abilitato i display virtuali sulla VM, devi installare il driver del display virtuale come descritto in questo documento. Se la tua VM esegue una versione successiva dell'immagine del sistema operativo, il driver è già installato sull'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 di visualizzazione virtuale.

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

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

Attiva 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 tua VM esegue un'immagine del sistema operativo Windows basata su x64 precedente alla versione v20190312, dopo aver abilitato i display virtuali sulla VM, installa il driver del display virtuale come descritto in questo documento.

Crea una VM con i display virtuali abilitati

Per creare una VM con 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 nome, zona e tipo di macchina.

  3. Nella sezione Dispositivo di visualizzazione, seleziona la casella di controllo Abilita dispositivo di visualizzazione.

  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 di immagini che contiene l'immagine del sistema operativo, ad esempio debian-cloud. Per saperne di più sui progetti di immagini supportati, vedi Immagini pubbliche.

  • IMAGE: specifica una delle seguenti opzioni:

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

    • Una famiglia di immagini, che deve essere formattata come family/IMAGE_FAMILY. Specifica l'immagine sistema operativo più recente e non deprecata. Ad esempio, se specifichi family/debian-12, viene utilizzata l'ultima versione 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 saperne di più sulla creazione di una VM, consulta Crea e avvia un'istanza Compute Engine.

Attiva 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 di visualizzazione, seleziona la casella di controllo Abilita dispositivo di visualizzazione.

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

Disattiva i display virtuali su una VM esistente

Prima di disabilitare 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 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, effettua 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.

Installare 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 di visualizzazione virtuale fornito da Google Cloud. Se la VM esegue una versione più recente dell'immagine del sistema operativo, 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.

Verificare l'installazione del driver del display virtuale

Se hai dovuto installare manualmente il driver di visualizzazione virtuale su una VM Windows come descritto nella sezione precedente, puoi verificare che l'installazione sia riuscita nel seguente modo:

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

  2. Apri Gestione dispositivi.

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

    Se il driver non è elencato, reinstalla il driver dello schermo virtuale come descritto in questo documento.

Passaggi successivi