Configurar recomendações de VM inativas


Nesta página, descrevemos como visualizar e modificar a configuração das recomendações de VMs inativas. É possível modificar a configuração para aumentar o número de recomendações que você recebe ou evitar classificações incorretas de VMs com cargas de trabalho intencionalmente pequenas como VMs inativas.

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.

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

    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

Preços

As recomendações configuráveis estão disponíveis gratuitamente. Usar recomendações para reduzir o uso de recursos pode resultar em economia de custos.

Configurar suas recomendações

Para configurar as recomendações de VMs inativas, siga estas etapas:

  1. Obtenha a configuração atual para conferir o arquivo JSON dela.
  2. Edite o arquivo de configuração no formato JSON.
  3. Faça o upload do novo arquivo de configuração para aplicar as alterações.

Obter a configuração atual

É possível acessar a configuração atual das recomendações de VM inativas para seu projeto usando a CLI do Google Cloud ou REST.

gcloud

Para acessar os parâmetros de configuração atuais, use o comando gcloud recommender recommender-config describe e use google.compute.instance.IdleResourceRecommender como o ID do recomendador:

gcloud recommender recommender-config describe google.compute.instance.IdleResourceRecommender \
  --project=PROJECT_ID \
  --location=ZONE

Substitua:

  • PROJECT_ID: ID do projeto
  • ZONE: a zona com a configuração atual que você quer obter.

Exemplo:

gcloud recommender recommender-config describe google.compute.instance.IdleResourceRecommender \
  --project=my-project \
  --location=us-central1-c

O comando retorna a configuração do recomendador, incluindo o subcampo params.observation_period modificável.

{
  "name": "projects/PROJECT_ID/locations/ZONE/recommenders/google.compute.instance.IdleResourceRecommender/config",
  "recommenderGenerationConfig": {
    "params": {
      "observation_period": "1209600s"
    }
  },
  "etag": "\"2f3c9b65cda6a4ba\"",
  "updateTime": "2021-02-03T04:41:15.330351Z"
}

REST

Para recuperar a configuração atual, use o método recommenders.getConfig e especifique google.compute.instance.IdleResourceRecommender como o ID do recomendador:

GET https://recommender.googleapis.com/v1/projects/PROJECT_ID/locations/ZONE/recommenders/google.compute.instance.IdleResourceRecommender/config

Substitua:

  • PROJECT_ID: o ID do projeto que tem a configuração do recomendador que você quer recuperar.
  • ZONE: a zona que contém o projeto.

Na linha de comando, execute o seguinte comando para consultar a configuração do recomendador de um projeto:

PROJECT_ID=PROJECT_ID
ZONE=ZONE
curl -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "x-goog-user-project: ${PROJECT_ID}" \
https://recommender.googleapis.com/v1/projects/$PROJECT_ID/locations/$ZONE/recommenders/google.compute.instance.IdleResourceRecommender/config

O comando retorna a configuração do recomendador, incluindo o subcampo que você pode modificar: params.observation_period.

{
  "name": "projects/PROJECT_ID/locations/ZONE/recommenders/google.compute.instance.IdleResourceRecommender/config",
  "recommenderGenerationConfig": {
    "params": {
      "observation_period": "1209600s"
    }
  },
  "etag": "\"2f3c9b65cda6a4ba\"",
  "updateTime": "2021-02-03T04:41:15.330351Z"
}

Atualizar a configuração de um projeto

Para atualizar a configuração das recomendações de VMs inativas, modifique o valor de observation_period e faça o upload da nova configuração do projeto.

É possível definir o período de observação como um valor entre 1 e 14 dias, usando uma string com o número total de segundos, seguido pela letra s.

  • Para um período de observação de um dia, use "86400s".
  • Para um período de observação de 14 dias, use "1209600s".

Depois de fazer upload da nova configuração, leva aproximadamente 48 horas para que ela entre em vigor. Até lá, todas as recomendações geradas usarão a configuração anterior.

gcloud

Para atualizar os parâmetros de configuração, use o comando gcloud recommender recommender-config update e use google.compute.instance.IdleResourceRecommender como o ID do recomendador:

gcloud recommender recommender-config update google.compute.instance.IdleResourceRecommender\
  --project=PROJECT_ID \
  --location=ZONE \
  --config-file=CONFIG_FILE_PATH \
  --etag=ETAG

Substitua:

  • PROJECT_ID: ID do projeto
  • ZONE: a zona com a configuração atual que você quer obter
  • CONFIG_FILE_PATH: o caminho para o arquivo JSON com a configuração atual
  • ETAG: o valor de etag da configuração atual

No arquivo de configuração, especifique apenas o objeto recommenderGenerationConfig com os parâmetros de configuração atualizados. Por exemplo, para especificar um período de observação de cinco dias, use o seguinte arquivo de configuração:

{
  "params": {
    "observation_period": "432000s"
  }
}

Se o comando for bem-sucedido, ele retornará um corpo de resposta semelhante ao seguinte, mostrando a nova configuração com os parâmetros que você acabou de modificar.

{
  "name": "projects/PROJECT_ID/locations/ZONE/recommenders/google.compute.instance.IdleResourceRecommender/config",
  "recommenderGenerationConfig": {
    "params": {
      "observation_period": "432000s"
    }
  },
  "etag": "\"1245f9435cd01ea8\"",
  "updateTime": "2021-02-03T05:00:05Z"
}

REST

Para atualizar a configuração, use o método recommenders.updateConfig e especifique google.compute.instance.IdleResourceRecommender como o ID do recomendador:

PATCH https://recommender.googleapis.com/v1/projects/PROJECT_ID/locations/ZONE/recommenders/google.compute.instance.IdleResourceRecommender/config

{
  "name": "projects/PROJECT_ID/locations/ZONE/recommenders/google.compute.instance.IdleResourceRecommender/config",
  "recommenderGenerationConfig": {
    "params": {
      "observation_period": "1209600s"
    }
  },
  "etag": "\"2f3c9b65cda6a4ba\""
}

Substitua:

  • PROJECT_ID: o ID do projeto que tem a configuração do recomendador que você quer modificar.
  • ZONE: a zona que contém o projeto.

Salve o corpo da solicitação em um arquivo, por exemplo, config.json. Em seguida, você pode referenciar o arquivo ao atualizar a configuração do recomendador para o projeto, usando um comando semelhante ao seguinte:

curl -X PATCH \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-H "x-goog-user-project: ${PROJECT_ID}" \
-d @config.json \
https://recommender.googleapis.com/v1/projects/$PROJECT_ID/locations/$ZONE/recommenders/google.compute.instance.IdleResourceRecommender/config

O comando POST retorna um corpo de resposta semelhante ao seguinte, mostrando a nova configuração com os parâmetros que você acabou de modificar.

{
  "name": "projects/PROJECT_ID/locations/ZONE/recommenders/google.compute.instance.IdleResourceRecommender/config",
  "recommenderGenerationConfig": {
    "params": {
      "observation_period": "432000s"
    }
  },
  "etag": "\"1245f9435cd01ea8\"",
  "updateTime": "2021-02-03T05:00:05Z"
}

A seguir