Como configurar a Área de trabalho remota do Google Chrome para Windows no Compute Engine

Neste tutorial, mostramos como configurar o serviço Área de trabalho remota do Google Chrome em uma instância de máquina virtual (VM) do Microsoft Windows no Compute Engine. A Área de trabalho remota do Google Chrome permite que você acesse aplicativos remotamente com uma interface gráfica do usuário de um computador local ou dispositivo móvel.

Para essa abordagem, não é necessário abrir portas de firewall, mesmo que a VM precise acessar a Internet, e você usa sua Conta do Google para autenticação e autorização.

São descritos dois métodos de configuração da Área de trabalho remota do Google Chrome. O primeiro é um método interativo que usa o protocolo RDP (Windows Remote Desktop Protocol) que exige que a máquina virtual seja acessada inicialmente pela Internet. O segundo é um método não interativo que usa um script especializado GCESysprep para instalar e configurar a Área de trabalho remota do Google Chrome quando a VM está sendo criada.

Neste tutorial, presumimos que você esteja familiarizado com o Microsoft Windows e a linha de comando do PowerShell.

Para informações sobre outras opções para criar estações de trabalho virtuais, consulte Como criar uma estação de trabalho virtual.

Objetivos

  • Criar uma instância de VM do Windows Compute Engine para executar a Área de trabalho remota do Google Chrome.
  • Instalar e configurar o serviço da Área de trabalho remota do Google Chrome na instância da VM.
  • Conectar-se do computador local ao ambiente da área de trabalho na instância da VM.

Custos

Neste tutorial, há componentes faturáveis do Google Cloud, entre eles:

  • Compute Engine

Use a calculadora de preços para gerar uma estimativa de custo com base no uso previsto.

Antes de começar

  1. Faça login na sua conta do Google.

    Se você ainda não tiver uma, inscreva-se.

  2. No Console do Google Cloud, na página do seletor de projetos, selecione ou crie um projeto do Google Cloud.

    Acessar a página do seletor de projetos

  3. Verifique se o faturamento está ativado para seu projeto na nuvem. Saiba como confirmar se o faturamento está ativado para o projeto.

  4. Ative a API Compute Engine.
  5. Ativar a API

Verifique se você atende a esses outros pré-requisitos:

Instalação interativa usando RDP

Para instalar a Área de trabalho remota do Google Chrome de maneira interativa, você precisa se conectar à VM remota com o RDP. Neste tutorial, você criará a VM na VPC padrão com regras de firewall padrão, que expõe a porta RDP 3339 à Internet.

Se isso não for possível no seu ambiente, use o método não interativo descrito mais adiante neste documento.

Criar uma instância do Compute Engine

Console

  1. No Console do Cloud, acesse a página Instâncias de VM:

    Acessar a página Instâncias de VM

  2. Clique em Criar.

  3. Defina o nome da instância como crdhost.

  4. Se quiser, selecione uma região e uma zona próximas a você.

  5. Em Configuração da máquina, altere o Tipo de máquina para n1-standard-2 (2 vCPU).

  6. Clique em Plataforma de CPU e GPU para expandir a seção.

  7. Ative a caixa de seleção Ligar dispositivo de exibição, porque a Área de trabalho remota do Google Chrome requer um dispositivo de exibição em VMs do Windows.

  8. Ao lado da descrição do Disco de inicialização, clique em Alterar para abrir o painel Disco de inicialização.

  9. Clique na lista suspensa Sistema operacional e selecione Windows Server.

  10. Clique na lista suspensa Versão e selecione Windows Server 2019 Datacenter.

  11. Verifique se os seguintes valores estão definidos:

    • O tipo de disco de inicialização está definido como disco permanente padrão.
    • O Tamanho (GB) está definido como 50.
  12. Clique em Selecionar para fechar o painel.

  13. Clique em Criar.

Cloud Shell

  1. Abra o Cloud Shell.

    Abra o Cloud Shell

  2. Defina sua zona de preferência:

    ZONE=us-east1-b
    REGION=us-east1
    gcloud config set compute/zone "${ZONE}"
    
  3. Crie uma instância do Compute Engine usando a imagem do aplicativo para o Windows Server 2019 Datacenter:

    gcloud compute instances create crdhost \
        --machine-type=n1-standard-2 \
        --scopes=cloud-platform \
        --enable-display-device \
        --image-family=windows-2019 \
        --image-project=windows-cloud \
        --boot-disk-size=50GB \
        --boot-disk-device-name=crdhost
    

    Esse comando cria uma máquina virtual do Windows Server 2019 que tem um dispositivo de exibição conectado (obrigatório para a Área de trabalho remota do Google Chrome em VMs do Windows) e um disco de inicialização de 50 GB. Além disso, concede à instância acesso total às APIs do Google Cloud.

    Ignore o aviso de desempenho do disco porque este tutorial não requer alto desempenho.

A criação da instância leva cerca de cinco minutos.

Conectar-se à instância de VM usando RDP

  1. No Console do Cloud, acesse a página Instâncias de VM.

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

  2. Verifique se uma marca de seleção verde é exibida ao lado do nome da sua instância crdhost, indicando que ela está pronta.

  3. Clique no nome da instância crdhost para abrir a página Detalhes da instância de VM.

  4. Em Acesso remoto, clique em Definir senha do Windows e em Definir para criar sua conta na máquina remota.

    Este passo gera uma senha para você. Anote ou copie essa senha em um arquivo temporário e seguro.

  5. Para se conectar à instância remota usando o app RDP para Chrome, clique no botão RDP.

    Se preferir usar um cliente RDP alternativo, clique na seta suspensa ao lado do botão RDP e selecione Fazer o download do arquivo RDP. Para abrir o arquivo RDP, use o cliente RDP de sua preferência.

  6. Quando solicitado, insira a senha recém-gerada e clique em OK.

  7. Para aceitar o certificado do servidor e fazer login na instância remota do Windows, clique em Continuar.

  8. Ao ser perguntado se você quer que seu computador seja detectado por outros computadores e dispositivos na rede, clique em Não.

  9. Feche o Painel do Gerenciador de servidores se ele estiver aberto.

Instalar o Google Chrome e a Área de trabalho remota do Google Chrome

Na próxima etapa, você instalará o Google Chrome e o serviço Área de trabalho remota do Google Chrome na instância de VM.

  1. Na sessão RDP, clique no botão Iniciar na barra de tarefas do Windows, digite PowerShell e selecione o app Windows PowerShell.

  2. No prompt do PowerShell, ative as solicitações HTTPS:

    [Net.ServicePointManager]::SecurityProtocol = "tls12, tls11, tls"
    
  3. Faça o download e execute o instalador do Host da Área de trabalho remota do Google Chrome.

    & {$P = $env:TEMP + '\chromeremotedesktophost.msi'; Invoke-WebRequest 'https://dl.google.com/edgedl/chrome-remote-desktop/chromeremotedesktophost.msi' -OutFile $P; Start-Process $P -Wait; Remove-Item $P}
    
  4. Quando solicitado, confirme que você quer que o instalador faça alterações.

  5. Faça o download e execute o instalador do Google Chrome.

    & {$P = $env:TEMP + '\chrome_installer.exe'; Invoke-WebRequest 'https://dl.google.com/chrome/install/latest/chrome_installer.exe' -OutFile $P; Start-Process -FilePath $P -Args '/install' -Verb RunAs -Wait; Remove-Item $P}
    
  6. Quando solicitado, confirme que você quer que o instalador faça alterações.

    Quando a instalação for concluída, uma janela do Google Chrome será aberta na área de trabalho remota.

Configurar o serviço Área de trabalho remota do Google Chrome

  1. Na janela do Google Chrome na área de trabalho remota, acesse o seguinte URL:

    https://remotedesktop.google.com/access/
    
  2. Faça login na Conta do Google que você quer usar para acessar essa máquina.

  3. Na caixa de diálogo Configurar acesso remoto, clique em Fazer o download para acessar a página da Chrome Web Store.

  4. Para instalar a extensão, clique em Adicionar ao Chrome e em Adicionar extensão.

  5. Na página Configuração da Área de trabalho remota do Google Chrome, clique em Próxima para aceitar o nome do computador.

  6. Quando solicitado, digite um PIN de 6 dígitos. Esse número será usado para autorização extra quando você se conectar mais tarde.

  7. Clique em Iniciar.

  8. Quando solicitado, confirme que você quer que o aplicativo faça alterações.

    O serviço de área de trabalho remota é iniciado, e o status mostrado para crdhost muda de Iniciando para On-line

  9. Feche as janelas do Chrome.

  10. Feche o PowerShell.

  11. Feche a janela Área de trabalho remota.

Agora é possível se conectar à VM usando a Área de trabalho remota do Google Chrome.

Instalação não interativa

Nesta abordagem, você configura a instância de VM para ter um script especializado GCESysprep que é executado quando a VM é criada.

Com essa abordagem, a VM não precisa ser acessada diretamente pela Internet, mesmo que ainda precise acessar a Internet.

Autorizar o serviço Área de trabalho remota do Google Chrome

Gere um comando do Windows que será usado mais tarde no script de especialização. Como parte desse procedimento, você fornece informações de autorização incluídas no comando.

  1. No computador local, usando o navegador Chrome, acesse a página de configuração de linha de comando da Área de trabalho remota do Google Chrome

  2. Se você ainda não estiver conectado, faça login com uma Conta do Google. Essa é a conta que será usada para autorizar o acesso remoto.

  3. Clique em Iniciar e em Próxima.

  4. Clique em Autorizar.

  5. Permita que a Área de trabalho remota do Google Chrome acesse sua conta.

    A página agora contém várias linhas de comando, uma delas é para Windows (Cmd) e semelhante a esta:

    "%PROGRAMFILES(X86)%\Google\Chrome Remote Desktop\CurrentVersion\remoting_start_host.exe" --code="4/XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX_XXXXXXXX" --redirect-url="https://remotedesktop.google.com/_/oauthredirect" --name=%COMPUTERNAME%
    

    A sinalização --code contém um token OAuth de curta duração exclusivo.

    O código de autorização na linha de comando é válido por apenas alguns minutos, e é possível usá-lo apenas uma vez.

    Mantenha essa página aberta.

Copiar o comando de inicialização para o Cloud Shell

Na próxima etapa, você criará um arquivo na instância do Cloud Shell que contém o comando de inicialização que você acabou de gerar.

  1. Abra o Cloud Shell.

    Abra o Cloud Shell

  2. Crie um arquivo para o comando de inicialização:

    cat  > crd-auth-command.txt
    
  3. Acesse a página que tem o comando de inicialização da Área de trabalho remota do Google Chrome e copie a linha de comando Windows (Cmd).

  4. No Cloud Shell, cole o comando para adicioná-lo ao arquivo.

  5. Pressione Enter para encerrar a linha e pressione Control-D para fechar o arquivo.

Criar o script de especialização do GCESysprep

  • Copie o bloco de código a seguir e cole-o no Cloud Shell.

    cat << "EOF" > crd-sysprep-script.ps1
    <#
        .SYNOPSIS
        GCESysprep specialize script for unattended Chrome Remote Desktop installation.
    #>
    $ErrorActionPreference = 'stop'
    
    function Get-Metadata([String]$metadataName) {
      try {
        $value = (Invoke-RestMethod `
            -Headers @{'Metadata-Flavor' = 'Google'} `
            -Uri "http://metadata.google.internal/computeMetadata/v1/instance/attributes/$metadataName")
      }
      catch {
        # Report but ignore REST errors.
        Write-Host $_
      }
      if ($value -eq $null -or $value.Length -eq 0) {
        throw "Metadata value for ""$metadataName"" not specified. Skipping Chrome Remote Desktop service installation."
      }
      return $value
    }
    
    # Get config from metadata
    #
    $crdCommand = Get-Metadata('crd-command')
    $crdPin = Get-Metadata('crd-pin')
    $crdName = Get-Metadata('crd-name')
    
    if ($crdPin -isNot [Int32] -or $crdPin -gt 999999 -or $crdPin -lt 0) {
      throw "Metadata ""crd-pin""=""$crdPin"" is not a 6 digit number. Skipping Chrome Remote Desktop service installation."
    }
    # Prefix $crdPin with zeros if required.
    $crdPin = $crdPin.ToString("000000");
    
    # The command from remote desktop authentication does not have the correct path to the application,
    # and is missing the --pin and --name arguments which are required for unattended installation.
    #
    $crdCommandArgs = $crdCommand.Split(' ')
    $codeArg = $crdCommandArgs | Select-String -Pattern '--code="[^"]+"'
    $redirectArg = $crdCommandArgs | Select-String -Pattern '--redirect-url="[^"]+"'
    
    if (-not $codeArg) {
      throw 'Cannot get --code= parameter from crd-command. Skipping Chrome Remote Desktop service installation.'
    }
    if (-not $redirectArg) {
      throw 'Cannot get --redirect-url= parameter from crd-command. Skipping Chrome Remote Desktop service installation.'
    }
    
    [Net.ServicePointManager]::SecurityProtocol = 'tls13, tls12, tls11, tls'
    
    Write-Host 'Downloading Chrome Remote Desktop.'
    $installer = "$env:TEMP\chromeremotedesktophost.msi"
    Invoke-WebRequest 'https://dl.google.com/edgedl/chrome-remote-desktop/chromeremotedesktophost.msi' `
        -OutFile $installer
    Write-Host 'Installing Chrome Remote Desktop.'
    & msiexec.exe /I $installer /qn /quiet | Out-Default
    Remove-Item $installer
    
    $installer = "$env:TEMP\chrome_installer.exe"
    Write-Host 'Downloading Chrome.'
    Invoke-WebRequest  'https://dl.google.com/chrome/install/latest/chrome_installer.exe' `
        -OutFile $installer
    Write-Host 'Installing Chrome.'
    & $installer /silent /install | Out-Default
    Remove-Item $installer
    
    Write-Host 'Starting Chrome Remote Desktop service.'
    & "${env:ProgramFiles(x86)}\Google\Chrome Remote Desktop\CurrentVersion\remoting_start_host.exe" `
        $codeArg $redirectArg --name="$crdName" -pin="$crdPin" | Out-Default
    
    EOF
    

    Esse bloco de código é um script de especialização do PowerShell que será executado quando a VM for criada. Ele executa as seguintes ações:

    • Faça o download e instale o serviço de host da Área de trabalho remota do Google Chrome.
    • Faça o download e instale o navegador Chrome.
    • Recupere os seguintes parâmetros de metadados:
      • crd-command: a autenticação do Windows e o comando de inicialização.
      • crd-pin: o PIN de seis dígitos usado para outra autenticação.
      • crd-name: o nome desta instância.
    • Configure e inicie o serviço de host da Área de trabalho remota do Google Chrome.

Criar uma nova máquina virtual do Windows

Crie uma nova VM do Windows usando os arquivos criados anteriormente para configurar e definir a Área de trabalho remota do Google Chrome.

  1. No Cloud Shell, defina sua zona preferida:

    ZONE=us-east1-b
    REGION=us-east1
    gcloud config set compute/zone "${ZONE}"
    
  2. Defina um PIN de seis dígitos para outra autenticação na Área de trabalho remota do Google Chrome:

    CRD_PIN=your-pin
    

    Substitua your-pin por um número de seis dígitos.

  3. Defina um nome para esta instância de VM:

    INSTANCE_NAME=crdhost
    
  4. Crie a instância:

    gcloud compute instances create ${INSTANCE_NAME} \
        --machine-type=n1-standard-2 \
        --scopes=cloud-platform \
        --enable-display-device \
        --image-family=windows-2019 \
        --image-project=windows-cloud \
        --boot-disk-size=50GB \
        --boot-disk-device-name=${INSTANCE_NAME} \
        --metadata=crd-pin=${CRD_PIN},crd-name=${INSTANCE_NAME} \
        --metadata-from-file=crd-command=crd-auth-command.txt,sysprep-specialize-script-ps1=crd-sysprep-script.ps1
    

    Esse comando cria uma máquina virtual do Windows Server 2019 na VPC padrão que tem um dispositivo de exibição conectado (obrigatório para a Área de trabalho remota do Google Chrome em VMs do Windows) e um disco de inicialização de 50 GB. Além disso, concede à instância acesso total às APIs do Google Cloud.

    Os valores de metadados especificam o script de especialização, a linha de comando de inicialização do Windows e os parâmetros necessários para iniciar o serviço Área de trabalho remota do Google Chrome.

Como monitorar a inicialização da VM

É possível verificar se o script de inicialização foi bem-sucedido verificando as mensagens registradas na porta serial da VM enquanto ela é criada.

  1. No Cloud Shell, exiba as mensagens registradas durante a inicialização da VM:

    gcloud compute instances tail-serial-port-output ${INSTANCE_NAME}
    

    Se a configuração da Área de trabalho remota do Google Chrome for bem-sucedida, você verá as seguintes linhas de registro:

    Found sysprep-specialize-script-ps1 in metadata.
    sysprep-specialize-script-ps1: Downloading Chrome Remote Desktop.
    sysprep-specialize-script-ps1: Installing Chrome Remote Desktop.
    sysprep-specialize-script-ps1: Downloading Chrome.
    sysprep-specialize-script-ps1: Installing Chrome.
    sysprep-specialize-script-ps1: Starting Chrome Remote Desktop service.
    sysprep-specialize-script-ps1 exit status 0
    Finished running specialize scripts.
    

    Se a configuração da Área de trabalho remota do Google Chrome falhar, você verá uma mensagem de erro indicando o problema, por exemplo:

    sysprep-specialize-script-ps1: Couldn't start host: OAuth error.
    

    Esse erro indica que o token OAuth da página de autenticação da Área de trabalho remota do Google Chrome não é mais válido porque ele já foi usado ou expirou.

    Para corrigir esse erro, conecte-se via RDP e execute uma configuração interativa, conforme descrito anteriormente, ou exclua a VM e repita o processo de configuração.

    Quando você vê a seguinte mensagem no monitor de porta serial, a VM está pronta.

    GCEInstanceSetup: ------------------------------------------------------------
    GCEInstanceSetup: Instance setup finished. crdhost is ready to use.
    GCEInstanceSetup: ------------------------------------------------------------
    
  2. Pressione Control-C para parar de exibir as mensagens de inicialização.

Criar uma conta de usuário do Windows

  1. No Console do Cloud, acesse a página Instâncias de VM.

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

  2. Clique no nome da instância crdhost para abrir a página Detalhes da instância de VM.

  3. Em Acesso remoto, clique em Definir senha do Windows e em Definir para criar sua conta na máquina remota.

    Este passo gera uma senha para você. Anote o nome de usuário e a senha ou copie-os para um arquivo temporário seguro.

Como se conectar à instância de VM com a Área de trabalho remota do Google Chrome

Para se conectar à instância de VM, use o aplicativo da Web Área de trabalho remota do Google Chrome.

  1. No computador local, acesse o site Área de trabalho remota do Google Chrome.

  2. Se você ainda não estiver conectado ao Google, faça login com a mesma Conta do Google usada para configurar o serviço Área de trabalho remota do Google Chrome.

    A nova instância de VM crdhostserá exibida na lista Dispositivos remotos.

    Lista de dispositivos remotos disponíveis para conexão.

  3. Clique no nome da instância.

  4. Quando solicitado, digite o PIN que você criou anteriormente e conecte-se clicando no botão de seta .

    Agora você está conectado à tela de login do Windows na instância remota do Compute Engine.

  5. Pressione qualquer tecla e digite a senha do usuário do Windows gerado anteriormente. O teclado remoto padrão tem um layout em inglês dos EUA. Portanto, os caracteres inseridos podem não corresponder aos caracteres do teclado local. Também não é possível copiar e colar a senha.

Agora você fez login e está conectado à área de trabalho remota do Windows.

Como melhorar a experiência da área de trabalho remota

Nesta seção, apresentamos instruções para alterar as configurações a fim de melhorar a experiência da área de trabalho remota.

Ativar sincronização da área de transferência

A sincronização da área de transferência permite que o conteúdo da área de transferência seja compartilhado entre as máquinas locais e remotas. Se esse recurso ainda não estiver ativado, faça o seguinte:

  1. Abra o painel Opções da sessão usando o botão na lateral da janela.
  2. Na seção Ativar sincronização da área de transferência, clique em Iniciar.
  3. Clique em Permitir.

Instalar o app Área de trabalho remota do Google Chrome

O aplicativo Área de trabalho remota do Google Chrome oferece uma experiência de janela separada e permite que mais atalhos de teclado sejam usados no sistema remoto. Se esse app não estiver instalado, faça o seguinte:

  1. Abra o painel Opções da sessão usando o botão na lateral da janela.
  2. Na seção Instalar aplicativo, clique em Iniciar.
  3. Clique em Instalar.

    A sessão da área de trabalho remota é aberta novamente em uma janela separada.

É possível mover qualquer sessão da área de trabalho remota de uma guia do Chrome para a janela do app clicando no ícone Abrir com na barra de URL.

Melhorar a resolução da tela

A resolução padrão da área de trabalho remota pode ser modificada para se adequar melhor à resolução de computadores locais.

  1. Clique com o botão direito do mouse no segundo plano da área de trabalho remota e selecione Configurações de exibição.
  2. Na lista suspensa Resolução, selecione uma resolução de tela diferente.
  3. Confirme a nova resolução de tela na caixa de diálogo.

Reativar o serviço

Se você tiver desativado por engano as conexões com a instância remota no aplicativo cliente, poderá reconfigurar o serviço e reativá-lo seguindo as instruções em Como configurar o serviço Área de trabalho remota do Google Chrome.

Limpeza

Para evitar que os recursos usados neste tutorial sejam cobrados na conta do Google Cloud Platform:

Como excluir o projeto

O jeito mais fácil de evitar cobranças é excluindo o projeto que você criou para o tutorial.

Para excluir o projeto:

  1. No Console do Cloud, acesse a página Gerenciar recursos:

    Acessar "Gerenciar recursos"

  2. Na lista de projetos, selecione o projeto que você quer excluir e clique em Excluir .
  3. Na caixa de diálogo, digite o ID do projeto e clique em Encerrar para excluí-lo.

Excluir a instância do Compute Engine

Como alternativa à exclusão de todo o projeto, é possível excluir a instância da VM criada para este tutorial:

  1. No Console do Cloud, acesse a página Instâncias de VM:

    Acessar a página Instâncias de VM

  2. Marque a caixa de seleção ao lado do nome da instância que você criou anteriormente (crdhost).

  3. Clique no botão Excluir na parte superior da página:

    Como excluir a instância da VM.

    A exclusão da instância leva alguns instantes.

Desautorizar a Área de trabalho remota do Google Chrome para a instância

Se você não quiser mais se conectar à instância da VM, desative-a e remova a instância da lista Dispositivos remotos.

  1. No computador local, acesse o site da lista Dispositivos remotos da Área de trabalho remota do Google Chrome (Beta).

  2. Clique em ao lado do nome da instância:

    Desativando o dispositivo remoto no Chrome.

  3. Clique em OK para confirmar se a conexão do dispositivo remoto precisa ser desativada.

A seguir