Como 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

Visão geral da configuração

Para configurar o VM Manager, siga as seguintes etapas:

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

  2. Ative o agente de configuração do SO definindo metadados do projeto/instância. É possível definir metadados de instância em cada VM ou metadados de projeto que se apliquem a todas as VMs no projeto.

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

  4. Verifique em cada VM se há uma conta de serviço ativada. Uma conta de serviço é ativada por padrão para VMs criadas usando a ferramenta de linha de comando gcloud ou o Console do Google Cloud. Você não precisa conceder papéis do IAM a essa conta de serviço.

  5. Em cada VM, verifique se o agente de configuração do SO está instalado.

  6. Em cada VM, instale o agente de configuração do SO caso ele ainda não esteja instalado.

  7. Opcional: no projeto ou em cada VM, desative os recursos desnecessários.

Sistemas operacionais compatíveis

Para ter acesso à lista completa de sistemas operacionais e versões compatíveis com o VM Manager, consulte Detalhes do sistema operacional.

Como ativar a API de serviço de configuração do SO

No projeto do Cloud, ative a API de configuração do SO. Para fazer isso, execute este comando:

gcloud services enable osconfig.googleapis.com

Como definir os valores de metadados

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:

  • Gerenciamento de Correções do SO
  • Gerenciamento de configuração do SO
  • Gerenciamento de inventário do SO. Para que o Gerenciamento de inventário do SO funcione, você também precisa definir o valor de metadados enable-guest-attributes como TRUE.

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 que o Gerenciamento de inventário do SO funcione, você precisa definir 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 Instâncias de VM.

      Acessar instâncias de VM

    2. Clique em Criar.

    3. Na página Criar uma instância, defina as propriedades que você quer para a VM.

    4. Amplie Gerenciamento, segurança, discos, rede, locatário único.

    5. Na seção Metadados, adicione as entradas de metadados a seguir:

      Chave: enable-osconfig
      Valor: TRUE

      Para que o Gerenciamento de inventário do SO funcione, você precisa definir enable-osconfig e enable-guest-attributes:

      • Chave: enable-osconfig
        Valor: TRUE
      • Chave: enable-guest-attributes
        Valor: TRUE
    6. Clique em Criar para gerar a instância.

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

      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 que o Gerenciamento de inventário do SO funcione, você precisa definir 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 project-info add-metadata ou instances add-metadatagcloud 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 que o Gerenciamento de inventário do SO funcione, você precisa definir 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 que o Gerenciamento de inventário do SO funcione, você precisa definir 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 que o Gerenciamento de inventário do SO funcione, você precisa definir 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.

API

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

Para o Gerenciamento de inventário do SO, adicione também o seguinte par de chave-valor:

  • Chave: enable-guest-attributes
    Valor: TRUE

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

O agente de configuração do sistema operacional é instalado por padrão nas imagens Red Hat Enterprise Linux (RHEL), Debian, CentOS e Windows, que têm uma data de compilação de v20200114 ou posterior.

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.

Como 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:

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

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

    Para instalar o agente de configuração do SO em uma VM RHEL 7/8 ou CentOS 7/8, 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 de configuração do SO.

      sudo zypper -n --gpg-auto-import-keys install 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 do Debian 9, seu comando será semelhante a este:

    gcloud compute instances create VM_NAME \
       --image-family=debian-9 --image-project=debian-cloud \
       --metadata startup-script='#! /bin/bash
       sudo apt update
       sudo 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.

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
  • Gerenciamento de Correções do SO: tasks
  • Gerenciamento de configuração do SO: guestpolicies

É possível definir esses valores usando o Console do Google Cloud, a ferramenta de linha de comando gcloud ou a API Compute Engine.

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

      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 Gerenciamento de correções do SO em todo o projeto do Cloud usando a ferramenta de linha de comando gcloud, execute o seguinte comando:

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

Exemplo 2: para desativar o Gerenciamento de Configuração do SO e o Gerenciamento de inventário do SO em todo o projeto usando a ferramenta de linha de comando gcloud, execute o seguinte comando:

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

Substitua PROJECT_ID pela ID do seu projeto.

API

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

Como atualizar o agente de configuração do SO

Para fazer isso, você precisa atualizar o pacote do seu sistema operacional.

CentOS/RHEL

Para atualizar o agente nos sistemas operacionais CentOS e RHEL, execute o seguinte comando:

sudo yum update google-osconfig-agent

Debian/Ubuntu

Para atualizar o agente nos sistemas operacionais Debian e Ubuntu, execute os seguintes comandos:

sudo apt update
sudo apt install google-osconfig-agent

SLES

Para atualizar o agente no SLES, execute o seguinte comando:

sudo zypper -n update google-osconfig-agent

Windows

Para atualizar o agente em sistemas operacionais Windows, execute o seguinte comando:

googet update google-osconfig-agent

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 usando a lista de verificação.

A seguir