Configurar recomendações de VM ociosa


Esta página descreve como visualizar e modificar a configuração das recomendações de VM ociosa. Talvez você queira modificar a configuração para aumentar o número de recomendações recebidas ou para evitar a classificação incorreta de VMs com cargas de trabalho intencionalmente pequenas como VMs ociosas.

Antes de começar

  • Se ainda não o fez, configure a autenticação. Autenticação é o processo pelo qual sua identidade é verificada para acesso a Google Cloud serviços e APIs. Para executar códigos ou amostras em um ambiente de desenvolvimento local, você pode se autenticar no Compute Engine selecionando uma das seguintes opções:

    Select the tab for how you plan to use the samples on this page:

    gcloud

    1. After installing the Google Cloud CLI, initialize it by running the following command:

      gcloud init

      If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

    2. Set a default region and zone.
    3. REST

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

        After installing the Google Cloud CLI, initialize it by running the following command:

        gcloud init

        If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

      Para mais informações, consulte Autenticar para usar REST na documentação de autenticação do Google Cloud.

Preços

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

Configure suas recomendações

Para configurar as recomendações de VM ociosa, execute as seguintes etapas:

  1. Obtenha a configuração atual para obter o arquivo JSON da configuração.
  2. Edite o arquivo de configuração no formato JSON.
  3. Carregue o novo arquivo de configuração para aplicar as alterações.

Obtenha a configuração atual

Você pode obter a configuração atual para recomendações de VMs inativas para seu projeto usando a Google Cloud CLI ou REST.

gcloud

Para obter os parâmetros de configuração atuais, use o 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 o seguinte:

  • PROJECT_ID : o ID do seu projeto
  • ZONE : a zona para a qual você deseja obter a configuração atual

Por 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 modificável 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"
}

DESCANSAR

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 o seguinte:

  • PROJECT_ID : o ID do projeto para o qual você deseja recuperar a configuração do recomendador.
  • ZONE : a zona que contém seu projeto.

Na linha de comando, execute o seguinte comando para obter a configuração do recomendador para 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 VM ociosa, modifique o valor de observation_period e carregue a nova configuração para o seu projeto.

Você pode definir o período de observação para um valor entre 1 dia e 14 dias, utilizando uma string com o número total de segundos, seguido da letra s .

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

Depois de fazer upload da nova configuração, levará aproximadamente 48 horas para que ela entre em vigor. Até esse momento, todas as recomendações geradas utilizam 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 o seguinte:

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

Em seu 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"
}

DESCANSAR

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 o seguinte:

  • PROJECT_ID : o ID do projeto para o qual você deseja modificar a configuração do recomendador.
  • ZONE : a zona que contém seu projeto.

Salve o corpo da solicitação em um arquivo, por exemplo config.json . Você poderá então referenciar o arquivo ao atualizar a configuração do recomendador para seu projeto, usando um comando semelhante a este:

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"
}

O que vem a seguir