Habilitar pantallas virtuales


Si las aplicaciones en tus instancias de VM requieren una pantalla, pero no requieren toda la potencia o el costo de una GPU, puedes configurar tus instancias para que usen una pantalla virtual. Estos dispositivos te permiten ejecutar herramientas de administración del sistema remotas y software de escritorio remoto que requieren una pantalla.

Configura una pantalla virtual cuando crees una nueva instancia o agrega una a una instancia existente mientras está detenida. Habilitar tus instancias con una pantalla virtual no genera costos.

Antes de empezar

  • Configura la autenticación si aún no lo hiciste. La autenticación es el proceso mediante el cual se verifica tu identidad para acceder a los servicios y las API de Google Cloud. Para ejecutar un código o muestras desde un entorno de desarrollo local, puedes autenticarte en Compute Engine de la siguiente manera.

    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

      Para usar las muestras de Terraform de esta página en un entorno de desarrollo local, instala e inicializa gcloud CLI y, luego, configura las credenciales predeterminadas de la aplicación con tus credenciales de usuario.

      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.

      Para obtener más información, consulta Set up authentication for a local development environment.

      REST

      Para usar las muestras de la API de REST en esta página en un entorno de desarrollo local, debes usar las credenciales que proporcionas a la CLI de gcloud.

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

        gcloud init

      Si deseas obtener más información, consulta Autentica para usar REST en la documentación de autenticación de Google Cloud.

Roles obligatorios

Para obtener los permisos que necesitas a fin de modificar las pantallas virtuales en una VM, pídele a tu administrador que te otorgue el rol Administrador de instancias de Compute (v1) (roles/compute.instanceAdmin.v1) de IAM en el proyecto. Si quieres obtener más información para otorgar funciones, consulta Administra el acceso.

Este rol predefinido contiene los permisos necesarios para modificar las pantallas virtuales en una VM. Para ver los permisos exactos que son necesarios, expande la sección Permisos requeridos:

Permisos necesarios

Se requieren los siguientes permisos para modificar las pantallas virtuales en una VM:

  • Para agregar o quitar una pantalla virtual en una VM existente, usa compute.instances.updateDisplayDevice en la VM.
  • Para crear una VM con una pantalla virtual, haz lo siguiente:
    • compute.instances.create en el proyecto
    • Para usar una imagen personalizada con el fin de crear la VM, sigue estos pasos: compute.images.useReadOnly en la imagen
    • Si deseas usar una instantánea para crear la VM, sigue estos pasos: compute.snapshots.useReadOnly en la instantánea
    • Para usar una plantilla de instancias a fin de crear la VM, haz lo siguiente: compute.instanceTemplates.useReadOnly en la plantilla de instancias
    • Para asignar una red heredada a la VM: compute.networks.use en el proyecto
    • Si deseas especificar una dirección IP estática para la VM; compute.addresses.use en el proyecto
    • Para asignar una dirección IP externa a la VM cuando se usa una red y punto heredado; compute.networks.useExternalIp en el proyecto
    • A fin de especificar una subred para la VM: compute.subnetworks.use en el proyecto o en la subred elegida
    • Para asignar una dirección IP externa a la VM cuando se usa una red de VPC, compute.subnetworks.useExternalIp en el proyecto o en la subred elegida
    • A fin de configurar los metadatos de la instancia de VM para la VM y los puntos, sigue estos pasos: compute.instances.setMetadata en el proyecto
    • A fin de configurar etiquetas para la VM y los puntos; compute.instances.setTags en la VM
    • Si deseas configurar etiquetas para la VM, haz lo siguiente: compute.instances.setLabels en la VM
    • A fin de configurar una cuenta de servicio para que la VM la usecompute.instances.setServiceAccount en la VM
    • Si deseas crear un disco nuevo para la VM: compute.disks.create en el proyecto
    • Para conectar un disco existente en modo de solo lectura o de lectura y escritura, haz lo siguiente: compute.disks.use en el disco
    • Para conectar un disco existente en modo de solo lectura y dos puntos, sigue estos pasos: compute.disks.useReadOnly en el disco

También puedes obtener estos permisos con funciones personalizadas o con otras funciones predefinidas

Restricciones

  • Google admite dispositivos de visualización virtual en instancias de Linux y Windows que usen cualquier imagen de Windows v20190312 o posterior basada en 64.
  • Si tu instancia de VM ejecuta una imagen de Windows anterior a v20190312, también debes instalar el controlador de dispositivo de forma manual después de habilitar las pantallas virtuales para la instancia. Las imágenes posteriores a v20190312 vienen con los controladores de dispositivo preinstalados.
  • Las pantallas virtuales solo funcionan después de que el sistema operativo invitado se inicia y, luego, inicializa el controlador de pantalla virtual. No puedes usar pantallas virtuales durante POST o mientras se inicia el sistema operativo invitado.
  • Las pantallas virtuales no son compatibles con instancias que ejecutan la plataforma de CPU Sandy Bridge.
  • Las pantallas virtuales no son compatibles con las VM T2A Arm.

Crea una instancia con una pantalla virtual

Habilita una pantalla virtual en una instancia cuando la creas. Como alternativa, puedes agregar una pantalla virtual en una instancia existente.

Console

  1. En la consola de Google Cloud, ve a la página Crea una instancia.

    Ir a Crear una instancia

  2. Define las propiedades de la VM, incluidos el nombre, la región, la zona y la configuración de la máquina.

  3. Para activar la pantalla virtual, selecciona la casilla de verificación Habilitar dispositivo de visualización que se encuentra en la Configuración de la máquina > Pantalla dispositivo.

    La pantalla virtual te permite usar la captura de pantalla.

  4. Para crear la VM, haz clic en Crear.

gcloud

En Google Cloud CLI, usa el comando compute instances create e incluye la marca --enable-display-device:

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

Aquí, [INSTANCE_NAME] es el nombre de la instancia que deseas crear.

Terraform

Puedes usar el recurso Terraform para crear una instancia con pantalla virtual habilitada si configuras el argumento enable_display como 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

En la API, realiza una solicitud POST al método compute.instances.insert. En el cuerpo de la solicitud, incluye las propiedades de la instancia, además de la propiedad displayDevice con enableDisplay establecido en true.

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
  },
⋮
}]

En el ejemplo anterior, se ilustra lo siguiente:

  • [INSTANCE_NAME] es el nombre de la instancia.
  • [PROJECT_ID] es el ID del proyecto.
  • [ZONE] es la zona donde se encuentra la instancia.

Después de crear una instancia con una pantalla virtual, puedes configurar el escritorio remoto para administrar tu instancia de Windows de forma remota.

Agrega o quita una pantalla virtual en una instancia existente

Puedes habilitar una pantalla virtual en una instancia existente. Como alternativa, puedes habilitar una pantalla virtual cuando crees una nueva instancia.

Antes de habilitar o inhabilitar una pantalla virtual en una instancia en ejecución, debes detenerla.

Console

  1. Ve a la página Instancias de VM.

    Ir a la página Instancias de VM

  2. En la columna Nombre, haz clic en el nombre de la instancia para agregar o quitar el dispositivo de visualización.

  3. En la parte superior de la página Detalles de la instancia de VM, haz clic en Detener.

  4. En la parte superior de la página de Detalles de instancia de VM, haz clic en Editar.

  5. En Dispositivo de visualización, haz clic en Activar dispositivo de visualización para habilitar o inhabilitar el dispositivo de visualización virtual para esta instancia.

  6. En la parte inferior de la configuración de la creación de instancias, haz clic en Guardar.

gcloud

Para agregar una pantalla virtual, usa el comando compute instances update en Google Cloud CLI y agrega la marca --enable-display-device:

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

Aquí, [INSTANCE_NAME] es el nombre de la instancia que deseas crear.

Para quitar una pantalla virtual, usa el comando compute instances update en la CLI de gcloud y agrega la marca --no-enable-display-device:

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

Aquí, [INSTANCE_NAME] es el nombre de la instancia que deseas crear.

REST

En la API, realiza una solicitud POST al método compute.instances.updateDisplayDevice. En el cuerpo de la solicitud, incluye la propiedad enableDisplay. Para habilitar la pantalla virtual en esta instancia, establece enableDisplay en true. Para inhabilitar la pantalla virtual en la instancia, establece enableDisplay en false.

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

{
 "enableDisplay": [ENABLE_DISPLAY]
}

En el ejemplo anterior, se ilustra lo siguiente:

  • [INSTANCE_NAME] es el nombre de la instancia en la que deseas habilitar o inhabilitar el dispositivo de pantalla virtual.
  • [PROJECT_ID] es el ID del proyecto.
  • [ZONE] es la zona donde se encuentra la instancia.
  • [ENABLE_DISPLAY] es true para habilitar la pantalla virtual en la instancia o false a fin de inhabilitarla.

Después de crear una instancia con una pantalla virtual, puedes configurar el escritorio remoto para administrar tu instancia de Windows de forma remota.

Instala el controlador de pantalla virtual

Google proporciona un controlador de pantalla que permite que las instancias de Windows usen pantallas virtuales de forma correcta. El controlador es necesario para varias características de Compute Engine. Google proporciona y admite este controlador de pantalla solo para instancias de Windows.

Después de crear una instancia con una pantalla virtual o agregar una pantalla virtual a una instancia existente, puedes instalar la pantalla virtual en la instancia mediante el siguiente proceso:

  1. Conéctate a la instancia de Windows en la que la pantalla virtual está habilitada.
  2. Abre una terminal de PowerShell como administrador.
  3. Ejecuta el instalador googet para instalar el componente google-compute-engine-driver-gga:

    googet install google-compute-engine-driver-gga
    
  4. Reinicia la instancia.

Después de reiniciar la instancia, confirma que el controlador se instaló a través de las siguientes instrucciones.

Verifica la instalación del controlador de pantalla virtual

Si instalaste el controlador de dispositivo de forma manual, sigue estas instrucciones para verificar que la instalación se realizó de forma correcta.

  1. Conéctate a la instancia de Windows en la que la pantalla virtual está habilitada.
  2. Abre la herramienta Ejecutar y ejecuta la herramienta de Administración de computadoras devmgmt.msc.
  3. En la navegación de la herramienta de administración de computadoras, haz clic en Administrador de dispositivos para ver una lista de dispositivos.
  4. En la lista Adaptadores gráficos, comprueba que aparezca el controlador del arreglo de grafos de Google.La ventana de Administración de computadoras de Windows, que muestra el arreglo de grafos de Google como un adaptador de pantalla instalado.
  5. Si aparece el adaptador de pantalla básico de Microsoft en lugar del arreglo de grafos de Google, repite el proceso de instalación del controlador y verifica el controlador de nuevo.

¿Qué sigue?