Configurar o VM Manager


No Compute Engine, é possível gerenciar os sistemas operacionais em execução nas máquinas virtuais (VMs) usando o VM Manager.

Para analisar as etapas necessárias de configuração das VMs para uso do VM Manager, consulte Visão geral da configuração.

Após a configuração do VM Manager, será possível visualizar os registros de auditoria das operações da API realizadas com a API OS Config. Consulte Como visualizar registros de auditoria do VM Manager.

Antes de começar

  • Revise as cotas de configuração do SO do seu projeto.
  • 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.

    Selecione a guia para como planeja usar as amostras nesta página:

    Console

    Quando você usa o console do Google Cloud para acessar os serviços e as APIs do Google Cloud, não é necessário configurar a autenticação.

    gcloud

    1. Instale a Google Cloud CLI e inicialize-a executando o seguinte comando:

      gcloud init
    2. Defina uma região e uma zona padrão.

    REST

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

      Instale a Google Cloud CLI e inicialize-a executando o seguinte comando:

      gcloud init

Visão geral da configuração

Para ativar o VM Manager, você tem duas opções:

  • Ativação automática: aplica-se a todo o projeto do Google Cloud. Você conclui a ativação automática no Console do Google Cloud. Talvez seja necessário concluir algumas etapas manualmente.
  • Capacitação manual: pode ser feita por VM ou para todo o projeto do Google Cloud.

Manual

Para configurar manualmente o VM Manager, siga as seguintes etapas:

  1. No projeto do Google Cloud, ative a API OS Config.
  2. Em cada VM, verifique se o agente de configuração do SO está instalado. Instale o agente de configuração do SO, caso não esteja instalado.
  3. No projeto ou em cada VM, defina metadados de instância para o agente de configuração do SO. Esta etapa é necessária para ativar o agente de configuração do SO na VM ou no projeto.
  4. Verifique se todas as VMs têm uma conta de serviço anexada. Você não precisa conceder papéis do IAM a essa conta de serviço. O VM Manager usa essa conta de serviço para assinar solicitações ao serviço da API.
  5. Se a VM estiver em execução em uma rede VPC particular e não tiver acesso público à Internet, ative o Acesso privado do Google.
  6. Se você usa proxy HTTP nas suas VMs, configure um proxy HTTP.
  7. Opcional. No projeto ou em cada VM, desative os recursos desnecessários.

Automático

Na primeira vez que você navegar para qualquer uma das páginas do VM Manager no Console do Google Cloud, será possível ativar automaticamente o VM Manager.

Se você seguir as etapas guiadas, poderá usar a ativação automática para concluir o seguinte:

  • Ativar a API de serviço de configuração do SO no projeto do Google Cloud
  • Ative os agentes de configuração do SO em todas as VMs no projeto do Google Cloud em que o agente está instalado

Ativação automática.

Sistemas operacionais compatíveis

Para ver a lista completa de versões do sistema operacional compatíveis com o VM Manager, consulte Detalhes do sistema operacional.

Ativar a API do serviço de configuração do SO

No projeto do Google Cloud, ative a API OS Config.

Console

No console do Google Cloud, ative a API OS Config.

Ativar a API OS Config

gcloud

Para fazer isso, execute este comando:

gcloud services enable osconfig.googleapis.com

Verifique se o agente de configuração do SO está instalado

O agente de configuração do SO é instalado por padrão nas imagens CentOS, Container-Optimized OS (COS), Debian, Red Hat Enterprise Linux (RHEL), Rocky Linux, SLES, Ubuntu e Windows Server com uma data de criação de v20200114 ou posterior. Para informações sobre as versões dos sistemas operacionais com o agente de configuração do SO instalado, consulte Detalhes do sistema operacional. Esses agentes executam de maneira inativa até que você ative os metadados do agente e ative a API do serviço.

Linux

Para verificar se a VM do Linux tem o agente instalado, execute este comando:

sudo systemctl status google-osconfig-agent

Se o agente estiver instalado e em execução, a resposta será semelhante a esta:

google-osconfig-agent.service - Google OSConfig Agent
Loaded: loaded (/lib/systemd/system/google-osconfig-agent.service; enabled; vendor preset:
Active: active (running) since Wed 2020-01-15 00:14:22 UTC; 6min ago
Main PID: 369 (google_osconfig)
 Tasks: 8 (limit: 4374)
Memory: 102.7M
CGroup: /system.slice/google-osconfig-agent.service
        └─369 /usr/bin/google_osconfig_agent

Instale o agente de configuração do SO, caso não esteja instalado.

Windows

Para verificar se a VM do Windows tem o agente instalado, execute este comando:

PowerShell Get-Service google_osconfig_agent

Se o agente estiver instalado e em execução, a resposta será semelhante a esta:

Status   Name               DisplayName
------   ----               -----------
Running  google_osconfig... Google OSConfig Agent

Instale o agente de configuração do SO, caso não esteja instalado.

Instalar o agente de configuração do SO

Antes de seguir estas instruções para instalar o agente, verifique se ele já está em execução na VM.

Instale o agente de configuração do SO em cada VM. É possível fazer isso usando uma destas opções:

Instalar o agente manualmente

Use esta opção para instalar o agente de configuração do SO em uma VM atual.

Para instalar o agente, siga estes passos:

  1. Conecte-se à VM em que você quer instalar o agente de configuração do SO.

  2. Instale o agente de configuração do SO.

    Windows Server

    Para instalar o agente de configuração do SO em um Windows Server, execute este comando:

    googet -noconfirm install google-osconfig-agent
    

    Ubuntu

    Para instalar o agente de configuração do SO em uma VM do Ubuntu, execute estes comandos:

    1. Configure o repositório do Ubuntu.

      • Para o Ubuntu 20.04 e versões posteriores, execute os seguintes comandos:

        1. Adicione o repositório do Ubuntu.

          sudo su -c "echo 'deb http://packages.cloud.google.com/apt google-compute-engine-focal-stable main' > \
          /etc/apt/sources.list.d/google-compute-engine.list"
          
        2. Importe a chave pública do Google Cloud.

          curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | \
          sudo apt-key add -
          
      • Para o Ubuntu 18.04 e versões posteriores, execute os seguintes comandos:

        1. Adicione o repositório do Ubuntu.

          sudo su -c "echo 'deb http://packages.cloud.google.com/apt google-compute-engine-bionic-stable main' > \
          /etc/apt/sources.list.d/google-compute-engine.list"
          
        2. Importe a chave pública do Google Cloud.

          curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | \
          sudo apt-key add -
          
      • No Ubuntu 16.04, execute os seguintes comandos:

        1. Adicione o repositório do Ubuntu.

          sudo su -c "echo 'deb http://packages.cloud.google.com/apt google-compute-engine-xenial-stable main'> \
          /etc/apt/sources.list.d/google-compute-engine.list"
          
        2. Importe a chave pública do Google Cloud.

          curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | \
          sudo apt-key add -
          
    2. Instale o agente de configuração do SO.

      sudo apt update
      sudo apt -y install google-osconfig-agent
      

    Debian

    Para instalar o agente de configuração do SO em uma VM do Debian, execute estes comandos:

    sudo apt update
    sudo apt -y install google-osconfig-agent
    

    Como adicionar a chave pública e o repositório do Google Cloud

    Se você estiver usando uma instância de VM que não foi criada a partir de uma imagem fornecida pelo Google ou se recebeu a mensagem de erro "Não foi possível localizar o pacote…", siga as etapas abaixo para adicionar o repositório do Google Cloud e importar a chave pública.

    Depois de fazer isso, será possível executar os comandos para instalar o agente de configuração do SO.

    • Para o Debian 9 (Stretch), execute estes comandos:

      1. Adicione o repositório do Debian.

        sudo su -c "echo 'deb http://packages.cloud.google.com/apt \
        google-compute-engine-stretch-stable main'> /etc/apt/sources.list.d/google-compute-engine.list"
        
      2. Importe a chave pública do Google Cloud.

        curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | \
        sudo apt-key add -
        
    • Para o Debian 10 (Buster), execute estes comandos:

      1. Adicione o repositório do Debian.

        sudo su -c "echo 'deb http://packages.cloud.google.com/apt \
        google-compute-engine-buster-stable main'> /etc/apt/sources.list.d/google-compute-engine.list"
        
      2. Importe a chave pública do Google Cloud.

        curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | \
        sudo apt-key add -
        

    RHEL/CentOS/Rocky

    Para instalar o agente de configuração do SO em uma VM RHEL 7/8, CentOS 7/8 ou Rocky Linux 8/9, execute o seguinte comando:

    sudo yum -y install google-osconfig-agent
    

    SLES/openSUSE

    Para instalar o agente de configuração do SO em uma VM do SLES ou openSUSE, execute os seguintes comandos:

    1. Configure o repositório do SLES.

      • No SLES 12, execute o seguinte comando:

        sudo su -c "cat > /etc/zypp/repos.d/google-compute-engine.repo <<EOM
        [google-compute-engine]
        name=Google Compute Engine
        baseurl=https://packages.cloud.google.com/yum/repos/google-compute-engine-sles12-stable
        enabled=1
        gpgcheck=1
        repo_gpgcheck=0
        gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg
          https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
        EOM"
        
      • Para o SLES 15 e o OpenSUSE 15, execute o seguinte comando:

        sudo su -c "cat > /etc/zypp/repos.d/google-compute-engine.repo <<EOM
        [google-compute-engine]
        name=Google Compute Engine
        baseurl=https://packages.cloud.google.com/yum/repos/google-compute-engine-sles15-stable
        enabled=1
        gpgcheck=1
        repo_gpgcheck=0
        gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg
          https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
        EOM"
        
        
    2. Importe as chaves GPG para o Google Cloud.

      sudo rpm --import https://packages.cloud.google.com/yum/doc/yum-key.gpg \
      --import https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
      
    3. Instale o agente.

      sudo zypper -n --gpg-auto-import-keys install --from google-compute-engine google-osconfig-agent
      

Como instalar o agente usando um script de inicialização

Também é possível usar os comandos de instalação manual para criar um script de inicialização que instala o agente de configuração do SO durante a criação da VM.

  1. Copie os comandos manuais referentes ao seu sistema operacional.
  2. Forneça o script de inicialização ao método de criação de VM.

    Por exemplo, se você estiver usando o comando gcloud compute instances create para criar uma VM com o Debian 10, seu comando será semelhante a este:

    gcloud compute instances create VM_NAME \
       --image-family=debian-10 --image-project=debian-cloud \
       --metadata startup-script='#! /bin/bash
       apt update
       apt -y install google-osconfig-agent'

    Substitua VM_NAME pelo nome da VM.

  3. Verifique se o script de inicialização foi concluído. Para verificar isso, confira os registros ou verifique o console serial.

Definir os valores de metadados

É possível definir metadados de instância em cada VM ou metadados de projeto que se apliquem a todas as VMs no projeto.

No projeto ou na VM do Cloud, defina o valor de metadados enable-osconfig como TRUE. Definir o valor dos metadados enable-osconfig como TRUE ativa o seguinte:

  • Patch
  • Políticas do SO
  • Gerenciamento de inventário do SO.
    • Para a versão anterior do gerenciamento de inventário do SO, você também precisa definir o valor de metadados enable-guest-attributes como TRUE. Se os dois valores de metadados não forem definidos, o painel mostrará no data para a VM. Isso não é necessário para a versão posterior. Para mais informações sobre as duas versões do OS Inventory Management, consulte Versões do gerenciamento de inventário do SO.

Console

É possível aplicar os valores de metadados nos projetos ou VMs do Cloud usando uma das seguintes opções:

  • Opção 1: defina enable-osconfig nos metadados de todo o projeto para que isso se aplique a todas as VMs nele.

    1. No Console do Google Cloud, acesse a página Metadados.

      Acessar a página "Metadados"

    2. Clique em Editar.

    3. Adicione a seguinte entrada de metadados:

      Chave: enable-osconfig
      Valor: TRUE

      Para a versão anterior do gerenciamento de inventário do SO, defina enable-osconfig e enable-guest-attributes:

      • Chave: enable-osconfig
        Valor: TRUE
      • Chave: enable-guest-attributes
        Valor: TRUE
    4. Clique em Salvar para aplicar as alterações.

  • Opção 2: defina enable-osconfig nos metadados da VM ao criar uma instância.

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

      Acesse "Criar uma instância"

    2. Especifique os detalhes da VM.

    3. Expanda a seção Opções avançadas e faça isto:

      1. Expanda a seção Gerenciamento.
      2. Na seção Metadados, clique em Adicionar item e adicione estas entradas de metadados:

        Chave: enable-osconfig
        Valor: TRUE.

        Para a versão anterior do gerenciamento de inventário do SO, defina enable-osconfig e enable-guest-attributes:

        • Chave: enable-osconfig
          Valor: TRUE
        • Chave: enable-guest-attributes
          Valor: TRUE
    4. Para criar a VM, clique em Criar.

  • Opção 3: defina enable-osconfig nos metadados de uma VM atual.

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

      Acessar instâncias de VM

    2. Clique no nome da VM em que você quer definir o valor dos metadados.

    3. Na página Detalhes da instância, clique em Editar para editar as configurações.

    4. Em Metadados personalizados, adicione as entradas de metadados a seguir:

      Chave: enable-osconfig
      Valor: TRUE

      Para a versão anterior do gerenciamento de inventário do SO, defina enable-osconfig e enable-guest-attributes:

      • Chave: enable-osconfig
        Valor: TRUE
      • Chave: enable-guest-attributes
        Valor: TRUE
    5. Clique em Salvar para aplicar as mudanças à VM.

gcloud

Use os comandos da project-info add-metadata ou instances add-metadata com a sinalização --metadata=enable-osconfig=TRUE.

É possível aplicar os valores dos metadados nos projetos ou VMs usando uma destas opções:

  • Opção 1: defina enable-osconfig nos metadados de todo o projeto para que isso se aplique a todas as instâncias nele:

    gcloud compute project-info add-metadata \
      --project PROJECT_ID \
      --metadata=enable-osconfig=TRUE
    

    Para a versão anterior do gerenciamento de inventário do SO, defina enable-osconfig e enable-guest-attributes:

    gcloud compute project-info add-metadata \
      --project PROJECT_ID \
      --metadata=enable-guest-attributes=TRUE,enable-osconfig=TRUE
    

    Substitua PROJECT_ID pela ID do seu projeto.

  • Opção 2: defina enable-osconfig nos metadados de uma instância atual.

    gcloud compute instances add-metadata VM_NAME \
      --metadata=enable-osconfig=TRUE
    

    Para a versão anterior do gerenciamento de inventário do SO, defina enable-osconfig e enable-guest-attributes:

    gcloud compute instances add-metadata VM_NAME \
      --metadata=enable-guest-attributes=TRUE,enable-osconfig=TRUE
    

    Substitua VM_NAME pelo nome da VM.

  • Opção 3: defina enable-osconfig nos metadados da instância ao criá-la.

    gcloud compute instances create VM_NAME \
      --metadata=enable-osconfig=TRUE
    

    Para a versão anterior do gerenciamento de inventário do SO, defina enable-osconfig e enable-guest-attributes:

    gcloud compute instances create VM_NAME \
      --metadata=enable-guest-attributes=TRUE,enable-osconfig=TRUE
    

    Substitua VM_NAME pelo nome da VM.

REST

Defina o valor dos metadados com relação ao projeto ou à instância do Cloud.

O seguinte par de chave-valor é exigido como parte da propriedade de metadados:

  • Chave: enable-osconfig
    Valor: TRUE

Na versão anterior do gerenciamento de inventário do SO, adicione também o seguinte par de chave-valor:

  • Chave: enable-guest-attributes
    Valor: TRUE

Configurar um proxy HTTP

Se você usa um proxy HTTP para suas VMs, execute os seguintes comandos para definir as variáveis de ambiente http_proxy e https_proxy. Exclua também o servidor de metadados (169.254.169.254) ao configurar a variável de ambiente no_proxy para que o agente de configuração do SO possa acessar o servidor de metadados local.

Linux

Adicione as seguintes variáveis de ambiente a um arquivo de configuração em todo o sistema. Por exemplo, no CentOS 7, adicione as configurações de proxy no arquivo /etc/systemd/system.conf:

  http_proxy="http://PROXY_IP:PROXY_PORT"
  https_proxy="http://PROXY_IP:PROXY_PORT"
  no_proxy=169.254.169.254,metadata,metadata.google.internal  # Skip proxy for the local Metadata Server.
 

Substitua PROXY_IP e PROXY_PORT pelo endereço IP e pelo número da porta do seu servidor proxy, respectivamente.

Windows

Execute os comandos a seguir em um prompt de comando do administrador.

  setx http_proxy http://PROXY_IP:PROXY_PORT /m
  setx https_proxy http://PROXY_IP:PROXY_PORT /m
  setx no_proxy 169.254.169.254,metadata,metadata.google.internal /m

Substitua PROXY_IP e PROXY_PORT pelo endereço IP e pelo número da porta do seu servidor proxy, respectivamente.

O Google recomenda que você exclua *.googleapis.com adicionando a variável de ambiente no_proxy para evitar problemas de conexão do agente de configuração do SO. Se você quiser conectar apenas VMs específicas ao agente de configuração do SO, insira o prefixo da zona em que as VMs estão e use o formato [zone-name]-osconfig.googleapis.com. Por exemplo, us-central1-f-osconfig.googleapis.com.

Como desativar recursos desnecessários

Quando se trata de recursos que talvez você não precise, é possível desativá-los ao definir os seguintes valores de metadados: osconfig-disabled-features=FEATURE1,FEATURE2.

Substitua FEATURE1,FEATURE2 por qualquer um destes valores:

  • Gerenciamento de inventário do SO: osinventory
  • Políticas de patch e SO: tasks
  • Políticas de convidado do SO (Beta): guestpolicies

Use um dos métodos a seguir para desativar os valores de metadados.

Console

É possível desativar os valores de metadados nos projetos ou VMs do Cloud usando uma das seguintes opções:

  • Opção 1: desative o recurso nos metadados de todo o projeto para que isso se aplique a todas as instâncias nele.

    1. No Console do Google Cloud, acesse a página Metadados.

      Acessar a página "Metadados"

    2. Clique em Editar.

    3. Adicione a seguinte entrada de metadados:

      Chave: osconfig-disabled-features
      Valor: FEATURE1,FEATURE2

      Por exemplo:
      Chave: osconfig-disabled-features
      Valor: osinventory,guestpolicies

    4. Clique em Salvar para aplicar as mudanças.

  • Opção 2: desative o recurso nos metadados de uma VM atual.

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

      Acessar instâncias de VM

    2. Clique no nome da VM em que você quer definir o valor dos metadados.

    3. Na página Detalhes da instância, clique em Editar para editar as configurações da VM.

    4. Em Metadados personalizados, adicione as seguintes entradas de metadados:

      Chave: osconfig-disabled-features
      Valor: FEATURE1,FEATURE2

      Por exemplo:
      Chave: osconfig-disabled-features
      Valor: osinventory

    5. Clique em Salvar para aplicar as mudanças à VM.

gcloud

Use os comandos project-info add-metadata ou instances add-metadatagcloud com a sinalização --metadata=osconfig-disabled-features.

Se você estiver desativando vários recursos, a sinalização precisará ter o formato --metadata=osconfig-disabled-features=FEATURE1,FEATURE2. Veja o exemplo 2.

Exemplos

Exemplo 1 Para desativar o patch no nível do projeto do Google Cloud usando o CLI do Google Cloud, execute o comando a seguir:

gcloud compute project-info add-metadata \
    --project PROJECT_ID \
    --metadata=osconfig-disabled-features=tasks

Exemplo 2 Para desativar as políticas do SO e o Gerenciamento de inventário do SO no nível do projeto usando a CLI do Google Cloud, execute o comando a seguir:

gcloud compute project-info add-metadata \
    --project PROJECT_ID \
    --metadata=osconfig-disabled-features=osinventory,guestpolicies

Substitua PROJECT_ID pela ID do seu projeto.

REST

Defina o valor dos metadados com relação ao projeto ou à instância do Cloud.

O seguinte par de chave-valor é exigido como parte da propriedade de metadados:

  • Chave: osconfig-disabled-features
  • Valor: pode ser qualquer uma das seguintes sinalizações, ou uma combinação delas:
    • osinventory
    • tasks
    • guestpolicies

Requisitos para um agente ativo de configuração do SO

Para que o agente de configuração do SO seja considerado ativo e faturável, ele precisa atender a todos os requisitos abaixo:

  • O VM Manager precisa estar configurado.
  • A VM precisa estar no estado RUNNING e é necessário que haja comunicação entre o agente e o serviço de configuração do SO.

    Se uma VM for interrompida, suspensa ou desconectada da rede, o agente dela não será contabilizado como um agente ativo.

Verifique a configuração

Depois de concluir o procedimento de configuração, é possível verificar a configuração.

Ativar a funcionalidade completa do VM Manager

Se o VM Manager não estiver ativado no seu projeto e você instalar o Agente de operações durante a criação da VM, o VM Manager será ativado no modo limitado. Nesse modo, o VM Manager oferece um subconjunto de recursos para um número ilimitado de VMs sem custos. Por exemplo, é possível ver as atribuições de políticas do SO das suas VMs na página de políticas do SO, mas não é possível criar ou editar atribuições de políticas do SO.

Para ativar todos os recursos do VM Manager nessas VMs com o Agente de operações instalado, faça isto:

  1. No console do Google Cloud, acesse a página Políticas do SO.

    Acessar as políticas do SO

  2. Clique em Ativar funcionalidade do VM Manager completo para ativar todos os recursos do VM Manager.

    Ativar automaticamente o VM Manager completo.

Desativar o agente de configuração do SO

Desativar o agente de configuração do SO não afeta o comportamento da VM. É possível desativar o agente da mesma forma que você interrompe outros serviços do sistema operacional.

Linux

Para desativar o agente usando systemctl, execute os seguintes comandos:

sudo systemctl stop google-osconfig-agent
sudo systemctl disable google-osconfig-agent

Windows

Para desativar o agente usando powershell, execute o seguinte comando:

PowerShell Stop-Service google_osconfig_agent [-StartupType disabled]

A seguir