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

Last reviewed 2022-11-16 UTC

Neste tutorial, mostramos como configurar o serviço Área de trabalho remota do Chrome em uma instância de máquina virtual (VM) do Microsoft Windows no Compute Engine. Consulte instruções separadas para VMs do Linux em Máquinas virtuais do Linux. 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.

Como as regras de firewall padrão permitem conexões da Área de trabalho remota do Google Chrome durante este tutorial, não é necessário configurar nenhuma regra de firewall adicional.

A VM precisa de acesso à Internet (com um endereço IP externo ou por meio de um Cloud NAT) e você deve usar 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:

  • Um método interativo que usa o Remote Desktop Protocol (RDP) do Windows.

    Esse método exige que a VM seja diretamente acessível a partir da máquina local por meio de um cliente RDP, o que pode não ser possível em todas as situações.

  • Um método não interativo que usa um script de inicialização para instalar e configurar a Área de trabalho remota do Google Chrome enquanto a VM está sendo criada.

    Use esse método se você tiver firewalls que impedem o acesso direto à VM ou se não tiver acesso a um cliente RDP, por exemplo, no ChromeOS.

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 baseada na projeção de uso.

Antes de começar

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Verifique se a cobrança está ativada para o seu projeto do Google Cloud.

  4. Enable the Compute Engine API.

    Enable the API

  5. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  6. Verifique se a cobrança está ativada para o seu projeto do Google Cloud.

  7. Enable the Compute Engine API.

    Enable the API

  8. Ao concluir as tarefas descritas neste documento, é possível evitar o faturamento contínuo excluindo os recursos criados. Saiba mais em Limpeza.

  9. Make sure that you have the following role or roles on the project: roles/compute.admin

    Check for the roles

    1. In the Google Cloud console, go to the IAM page.

      Go to IAM
    2. Select the project.
    3. In the Principal column, find all rows that identify you or a group that you're included in. To learn which groups you're included in, contact your administrator.

    4. For all rows that specify or include you, check the Role colunn to see whether the list of roles includes the required roles.

    Grant the roles

    1. In the Google Cloud console, go to the IAM page.

      Acessar o IAM
    2. Selecionar um projeto.
    3. Clique em CONCEDER ACESSO.
    4. No campo Novos principais, insira seu identificador de usuário. Normalmente, é o endereço de e-mail de uma Conta do Google.

    5. Na lista Selecionar um papel, escolha um.
    6. Para conceder outros papéis, clique em Adicionar outro papel e adicione cada papel adicional.
    7. Clique em Salvar.
    8. Você usa o navegador Google Chrome na sua máquina local.
    9. Se você estiver usando o método interativo, a máquina local precisará ter um cliente RDP e estar autorizada a estabelecer uma conexão RDP direta com a instância de VM remota.

Instalação interativa usando RDP

Para instalar a Remoterea de trabalho remota do Google Chrome de maneira interativa, você precisa se conectar à VM remota usando um cliente 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.

Crie uma instância do Compute Engine

Para os fins deste tutorial, é usado o tipo de máquina padrão. No caso do seu próprio ambiente, é possível ajustar o tipo de máquina, o nome, a região, o tamanho do disco de inicialização ou outras configurações.

Console

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

Acessar instâncias de VM

  1. Clique em Criar.

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

  3. Ative a caixa de seleção Ativar dispositivo de exibição porque a Desktoprea de trabalho remota do Google Chrome exige um dispositivo de exibição em VMs do Windows.

  4. Em Disco de inicialização, clique em Alterar para abrir o painel Disco de inicialização.

  5. Na lista Sistema operacional, selecione Windows Server.

  6. Na lista Versão, selecione Data center do Windows Server 2022.

  7. Clique em Selecionar para fechar o painel.

  8. Clique em Criar.

Cloud Shell

  1. Abra o Cloud Shell.

    Abra o Cloud Shell

  2. Defina sua zona de preferência:

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

    gcloud compute instances create crdhost \
        --machine-type=e2-medium \
        --scopes=cloud-platform \
        --enable-display-device \
        --image-family=windows-2022 \
        --image-project=windows-cloud \
        --boot-disk-size=50GB \
        --boot-disk-device-name=crdhost
    

    Esse comando cria uma máquina virtual do Windows Server 2022 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 de disco porque este tutorial não requer alto desempenho.

Conectar-se à instância de VM usando RDP

  1. No console do Google Cloud, acesse a página Instâncias de VMs.

    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, clique na seta ao lado do botão RDP e selecione Baixar o arquivo RDP. de dados. Para abrir o arquivo RDP, use o cliente RDP de sua preferência.

  6. Quando o cliente RDP solicitar uma senha, insira a senha gerada anteriormente.

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

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

Instalar o serviço Desktoprea 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 em Iniciar na barra de tarefas do Windows, digite PowerShell e selecione o app Windows PowerShell.

  2. No prompt do PowerShell, faça o download e execute o instalador do host da Área de trabalho remota do Google Chrome.

      $installer = "$env:TEMP\chromeremotedesktophost.msi"
      $uri = 'https://dl.google.com/edgedl/chrome-remote-desktop/chromeremotedesktophost.msi'
      (New-Object Net.WebClient).DownloadFile($uri,"$installer") && `
        Start-Process $installer -Wait && `
        Remove-Item $installer
    
  3. Quando solicitado, confirme que você quer que o instalador faça alterações.

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

Agora, você gera um comando do Windows que inicia o serviço Área de trabalho remota do Google Chrome e o vincula à sua Conta do Google.

  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. Na página Configurar outro computador, clique em Iniciar e em Próxima.

  4. Clique em Autorizar.

    Você precisa permitir que a Área de trabalho remota do Google Chrome acesse sua conta. Após a aprovação, a página exibe várias linhas de comando, dentre as quais está a do Windows (Powershell), que é semelhante ao seguinte:

    & "${Env:PROGRAMFILES(X86)}\Google\Chrome Remote Desktop\CurrentVersion\remoting_start_host.exe" `
    --code="4/ENCODED_AUTHENTICATION_TOKEN" `
    --redirect-url="https://remotedesktop.google.com/_/oauthredirect" `
    --name=$Env:COMPUTERNAME
    
  5. Clique em Copiar para copiar a linha de comando para a área de transferência.

  6. Na sessão RDP, no prompt do PowerShell, cole a linha de comando que você acabou de copiar e pressione Enter.

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

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

    Depois que o comando for concluído, o serviço de área de trabalho remota foi iniciado.

  9. Feche a janela do PowerShell.

  10. Feche a sessão RDP.

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 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 Avançar.

  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/ENCODED_AUTHENTICATION_TOKEN"
    --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.

Crie o script de inicialização

  • 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");
    
    # Extract the authentication code and redirect URL arguments from the
    # remote dekstop startup command line.
    #
    $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.'
    }
    
    Write-Host 'Downloading Chrome Remote Desktop.'
    $installer = "$env:TEMP\chromeremotedesktophost.msi"
    $uri = 'https://dl.google.com/edgedl/chrome-remote-desktop/chromeremotedesktophost.msi'
    (New-Object Net.WebClient).DownloadFile($uri,"$installer")
    Write-Host 'Installing Chrome Remote Desktop.'
    & msiexec.exe /I $installer /qn /quiet | 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
    
    Write-Host 'Downloading Chrome.'
    $installer = "$env:TEMP\chrome_installer.exe"
    $uri = 'https://dl.google.com/chrome/install/latest/chrome_installer.exe'
    (New-Object Net.WebClient).DownloadFile($uri,"$installer")
    Write-Host 'Installing Chrome.'
    & $installer /silent /install | Out-Default
    Remove-Item $installer
    
    EOF
    

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

    • Faz o download e instala o serviço de host da Área de trabalho remota do Google Chrome.
    • Recupera 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.
    • Configura e inicia o serviço de host da Área de trabalho remota do Google Chrome.
    • Faz o download do navegador Chrome e o instala.

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.

Para os fins deste tutorial, é usado o tipo de máquina e2-medium. No caso do seu próprio ambiente, é possível ajustar o tipo de máquina, o nome, a região, o tamanho do disco de inicialização ou outras configurações.

  1. No Cloud Shell, defina sua zona preferida:

    ZONE=us-central1-b
    REGION=us-central1
    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=e2-medium \
        --scopes=cloud-platform \
        --enable-display-device \
        --image-family=windows-2022 \
        --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 2022 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.

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.
    Finished running specialize scripts.
    

    A seguinte linha também pode aparecer:

    sysprep-specialize-script-ps1: ... Failed to read 'C:\ProgramData\Google\Chrome Remote Desktop\host_unprivileged.json'.: The system cannot find the path specified. (0x3)
    

    Isso é normal e pode ser ignorado.

    Se a inicialização do serviç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 Google Cloud, acesse a página Instâncias de VMs.

    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 da VM, use o aplicativo da Web da Área de trabalho remota do Google Chrome.

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

  2. Clique em Acessar meu computador.

  3. 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 crdhost vai ser exibida na lista Dispositivos remotos.

  4. Clique no nome da instância da área de trabalho remota.

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

  6. Se solicitado, sempre permita que o aplicativo da Área de trabalho remota leia a área de transferência e autorize a ação de copiar e colar entre aplicativos locais e remotos.

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

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.

Instalar o app Área de trabalho remota do Google Chrome

O app da Área de trabalho remota do Google Chrome oferece uma experiência de janela separada e permite que atalhos de teclado que normalmente seriam interceptados pelo Chrome 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 que aparece quando você move o mouse para o lado 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 na janela do aplicativo.

É 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 endereço.

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 app cliente, será possível reconfigurar o serviço e reativá-lo seguindo as instruções em Configurar o serviço Área de trabalho remota do Google Chrome.

Limpar

Para evitar cobranças na sua conta do Google Cloud pelos recursos usados no tutorial, exclua o projeto que os contém ou mantenha o projeto e exclua os recursos individuais.

Exclua 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. In the Google Cloud console, go to the Manage resources page.

    Go to Manage resources

  2. In the project list, select the project that you want to delete, and then click Delete.
  3. In the dialog, type the project ID, and then click Shut down to delete the project.

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 Google Cloud, acesse a página Instâncias de VMs:

    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 de VM, desative-a e remova a instância da lista Dispositivos remotos.

  1. No computador local, acesse o site da lista de dispositivos remotos da Área de trabalho remota do Chrome.
  2. Clique em ao lado do nome da instância crdhost.
  3. Clique em OK para confirmar se a conexão do dispositivo remoto precisa ser desativada.

A seguir