Ativar exibições virtuais


Se os aplicativos nas instâncias de VM exigirem um dispositivo de exibição, mas não precisarem de toda a capacidade ou do custo de uma GPU, configure as instâncias com um dispositivo de exibição virtual. Com ele, é possível executar ferramentas de gerenciamento remoto do sistema e software de área de trabalho remota que exigem um dispositivo de exibição.

Configure um dispositivo de exibição virtual quando criar uma nova instância ou adicione um a uma instância atual enquanto ela estiver parada. Não há custos para ativar as instâncias com um dispositivo de exibição virtual.

Antes de começar

  • Configure a autenticação, caso ainda não tenha feito isso. A autenticação é o processo de verificação da sua identidade para acesso a serviços e APIs do Google Cloud. Para executar códigos ou amostras de um ambiente de desenvolvimento local, autentique-se no Compute Engine da seguinte maneira.

    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 os exemplos do Terraform nesta página em um ambiente de desenvolvimento local, instale e inicialize a gcloud CLI e, em seguida, configure o Application Default Credentials com suas credenciais de usuário.

      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.

      Confira mais informações em Set up authentication for a local development environment.

      REST

      Para usar as amostras da API REST nesta página em um ambiente de desenvolvimento local, use as credenciais fornecidas para gcloud CLI.

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

        gcloud init

      Para mais informações, consulte Autenticar para usar REST na documentação de autenticação do Google Cloud.

Funções exigidas

Para receber as permissões necessárias para modificar telas virtuais em uma VM, peça ao administrador para conceder a você Administrador de instâncias do Compute (v1) (roles/compute.instanceAdmin.v1) Papel do IAM no projeto. Para mais informações sobre como conceder papéis, consulte Gerenciar acesso.

Esse papel predefinido contém as permissões necessárias para modificar telas virtuais em uma VM. Para conferir as permissões exatas necessárias, expanda a seção Permissões necessárias:

Permissões necessárias

As permissões a seguir são necessárias para modificar telas virtuais em uma VM:

  • Para adicionar ou remover a exibição virtual em uma VM atual: compute.instances.updateDisplayDevice na VM
  • Para criar uma VM com um dispositivo de exibição virtual:
    • compute.instances.create no projeto
    • Para usar uma imagem personalizada para criar a VM: compute.images.useReadOnly na imagem
    • Usar um snapshot para criar a VM: compute.snapshots.useReadOnly no snapshot
    • Usar um modelo de instância para criar a VM: compute.instanceTemplates.useReadOnly no modelo de instância
    • Atribuir uma rede legada à VM: compute.networks.use no projeto
    • Especificar um endereço IP estático para a VM: compute.addresses.use no projeto
    • Atribuir um endereço IP externo à VM ao usar uma rede legada: compute.networks.useExternalIp no projeto
    • Especificar uma sub-rede para a VM: compute.subnetworks.use no projeto ou na sub-rede escolhida
    • Atribuir um endereço IP externo à VM ao usar uma rede VPC: compute.subnetworks.useExternalIp no projeto ou na sub-rede escolhida
    • Definir os metadados da instância de VM para a VM: compute.instances.setMetadata no projeto
    • Definir tags para a VM: compute.instances.setTags na VM
    • Definir rótulos para a VM: compute.instances.setLabels na VM
    • Definir uma conta de serviço para a VM usar: compute.instances.setServiceAccount na VM
    • Criar um disco para a VM: compute.disks.create no projeto
    • Anexar um disco atual no modo somente leitura ou de leitura e gravação: compute.disks.use no disco
    • Anexar um disco atual no modo somente leitura: compute.disks.useReadOnly no disco

Essas permissões também podem ser concedidas com funções personalizadas ou outros papéis predefinidos.

Restrições

  • O Google oferece suporte a dispositivos de exibição virtual em instâncias do Linux e em instâncias do Windows que usam qualquer imagem do Windows v20190312 ou mais recente baseada em x64.
  • Se a instância de VM estiver executando uma imagem do Windows anterior à v20190312, instale manualmente o driver do dispositivo após ativar as exibições virtuais da instância. Imagens mais recentes que a v20190312 vêm pré-instaladas com os drivers do dispositivo.
  • Os dispositivos de exibição virtual são funcionais somente após a inicialização do sistema operacional convidado e do driver de exibição virtual. Não é possível usar dispositivos de exibição virtual durante operações POST ou a inicialização do sistema operacional convidado.
  • Os dispositivos de exibição virtual não são compatíveis com instâncias que executam a plataforma de CPU Sandy Bridge.
  • Os dispositivos de exibição virtual não são compatíveis com VMs Arm T2A.

Como criar uma instância com um dispositivo de exibição virtual

Ative um dispositivo de exibição virtual em uma instância durante a criação. Se preferir, adicione um dispositivo de exibição virtual a uma instância atual.

Console

  1. No console do Google Cloud, acesse a página Criar uma instância.

    Acesse "Criar uma instância"

  2. Defina as propriedades da VM, incluindo o nome, a região, a zona e a configuração da máquina.

  3. Para ativar o dispositivo de exibição virtual, marque a caixa de seleção Ativar dispositivo de exibição em Configuração da máquina > Exibir configurações do dispositivo.

    O dispositivo de exibição virtual permite usar a captura de tela.

  4. Para criar a VM, clique em Criar.

gcloud

Na CLI do Google Cloud, use o comando compute instances create e inclua a sinalização --enable-display-device:

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

[INSTANCE_NAME] é o nome da instância que você quer criar.

Terraform

É possível usar o recurso Terraform para criar uma instância com exibição virtual ativada, definindo o 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

Na API, crie uma solicitação POST para o método compute.instances.insert. No corpo da solicitação, inclua as propriedades da instância, bem como a propriedade displayDevice com enableDisplay definido como 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
  },
⋮
}]

em que:

  • [INSTANCE_NAME] é o nome da instância;
  • [PROJECT_ID] é o ID do projeto;
  • [ZONE] é a zona em que o disco está;

Após criar uma instância com um dispositivo de exibição virtual, é possível configurar a área de trabalho remota para gerenciar remotamente sua instância do Windows.

Como adicionar ou remover um dispositivo de exibição virtual em uma instância atual

É possível ativar um dispositivo de exibição virtual em uma instância atual. Se preferir, ative um dispositivo de exibição virtual ao criar uma nova instância.

Antes de ativar ou desativar um dispositivo de exibição virtual em uma instância em execução, interrompa a instância.

Console

  1. Acesse a página Instâncias da VM.

    Acessar a página "Instâncias de VM"

  2. Na coluna Nome, clique no nome da instância para adicionar ou remover o dispositivo de exibição virtual.

  3. Na parte superior da página Detalhes da instância de VM, clique em Interromper.

  4. No início da página de detalhes da instância da VM, clique em Editar.

  5. Em Dispositivo de exibição, clique em Ativar dispositivo de exibição para ativar ou desativar o dispositivo de exibição virtual para essa instância.

  6. Na parte inferior das configurações de criação da instância, clique em Salvar.

gcloud

Para adicionar um dispositivo de exibição virtual, use o comando compute instances update na CLI do Google Cloud e inclua a sinalização --enable-display-device:

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

[INSTANCE_NAME] é o nome da instância que você quer criar.

Para remover um dispositivo de exibição virtual, use o comando compute instances update na CLI gcloud e inclua a sinalização --no-enable-display-device:

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

[INSTANCE_NAME] é o nome da instância que você quer criar.

REST

Na API, crie uma solicitação POST para o método compute.instances.updateDisplayDevice. No corpo da solicitação, inclua a propriedade enableDisplay. Para ativar o dispositivo de exibição virtual nesta instância, defina enableDisplay como true. Para desativar o dispositivo de exibição virtual na instância, defina enableDisplay como false.

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

{
 "enableDisplay": [ENABLE_DISPLAY]
}

em que:

  • [INSTANCE_NAME] é o nome da instância em que você quer ativar ou desativar o dispositivo de exibição virtual;
  • [PROJECT_ID] é o ID do projeto;
  • [ZONE] é a zona em que o disco está;
  • [ENABLE_DISPLAY] é true para ativar o dispositivo de exibição virtual na instância ou false para desativá-lo.

Após criar uma instância com um dispositivo de exibição virtual, é possível configurar a área de trabalho remota para gerenciar remotamente sua instância do Windows.

Instale o driver de exibição virtual.

Com o driver de exibição do Google, as instâncias do Windows podem usar dispositivos de exibição virtual corretamente. O driver é necessário para vários recursos do Compute Engine. O fornecimento e a manutenção desse driver de exibição do Google são restritos apenas para instâncias do Windows.

Após criar uma instância com um dispositivo de exibição virtual ou adicioná-lo a uma instância atual, instale-o usando o seguinte processo:

  1. Conecte-se à instância do Windows em que o dispositivo de exibição virtual está ativado.
  2. Abra um terminal do PowerShell como administrador.
  3. Execute o instalador googet para instalar o componente google-compute-engine-driver-gga:

    googet install google-compute-engine-driver-gga
    
  4. Reinicie a instância.

Depois de reiniciar a instância, confirme se o driver foi instalado seguindo as instruções abaixo.

Verificar a instalação do driver de exibição virtual

Se você precisou instalar manualmente o driver do dispositivo, siga estas instruções para verificar se a operação foi bem-sucedida.

  1. Conecte-se à instância do Windows em que o dispositivo de exibição virtual está ativado.
  2. Abra a ferramenta Executar e execute a ferramenta "Gerenciamento do Computador" devmgmt.msc.
  3. Na navegação da ferramenta "Gerenciamento do Computador", clique em Gerenciador de dispositivos para ver uma lista de dispositivos.
  4. Na lista Adaptadores de vídeo, verifique se o driver "Google Graphics Array" está listado. A janela "Gerenciamento do Computador" do Windows, que mostra o "Google Graphics Array" listado como um adaptador de vídeo instalado.
  5. Se o Adaptador de Vídeo Básico da Microsoft estiver listado como um adaptador de exibição, em vez do Google Graphics Array, repita o processo de instalação e verifique o driver novamente.

A seguir