Como aplicar recomendações de dimensionamento para instâncias de VM

No Compute Engine, há recomendações de tipo de máquina para você otimizar a utilização dos recursos das instâncias de máquinas virtuais (VM, na sigla em inglês). Essas recomendações são geradas automaticamente com base nas métricas do sistema coletadas nos oito dias anteriores pelo serviço do Cloud Monitoring. Use essas recomendações para redimensionar o tipo de máquina da instância e utilizar as funcionalidades com mais eficiência. Esse recurso também é conhecido como recomendações de redimensionamento.

Para saber mais sobre as diferentes opções de dimensionamento disponíveis para instâncias de VM, leia a documentação Tipos de máquina.

Antes de começar

Preços

As recomendações de dimensionamento de tipo de máquina estão disponíveis gratuitamente. Se você aplicar uma recomendação para redimensionar o tipo de máquina da sua instância, será cobrado pelo tipo de máquina que escolher.

Limitações e casos de uso

No momento, as recomendações de dimensionamento não estão disponíveis para instâncias de VM criadas usando o ambiente flexível do App Engine, o Dataflow ou o Google Kubernetes Engine ou para instâncias de VM com discos temporários, GPUs ou TPUs.

O algoritmo de recomendação de dimensionamento é adequado para cargas de trabalho que sigam padrões semanais, cargas de trabalho que aumentem ou diminuam ao longo das semanas, cargas de trabalho que persistentemente subutilizem seus recursos ou cargas de trabalho que sejam persistentemente limitadas por recursos insuficientes. Nesses casos, oito dias de dados históricos são suficientes para prever como uma alteração no tamanho da máquina pode melhorar a utilização dos recursos.

O algoritmo de recomendação de dimensionamento é menos adequado para as cargas de trabalho a seguir:

  • Cargas de trabalho com picos pouco frequentes (por exemplo, com picos mensais), porque oito dias de dados não são suficientes para capturar ou prever flutuações de CPU.
  • Cargas de trabalho com picos breves de CPU, porque as recomendações são baseadas na utilização média da CPU em intervalos de 60 segundos. Talvez as recomendações não possam ser geradas rápido o suficiente para capturar picos mais curtos. Para mais informações, consulte Como funcionam as recomendações de dimensionamento.

Para cargas de trabalho em que o custo for mais importante que o desempenho, como cargas de trabalho em lote, as recomendações para aumento de tamanho podem ser ignoradas.

Em casos raros, pode aparecer uma mensagem de erro quando for aplicada uma recomendação. Por exemplo, um tipo de máquina recomendado pode ser muito pequeno para o número de discos conectados, pode não atender aos requisitos de recursos das imagens ou licenças ou pode não estar disponível em uma zona específica.

Como funcionam as recomendações de dimensionamento

O Compute Engine monitora a utilização da CPU e da memória de VMs em execução e faz recomendações usando os dados dos últimos 8 dias. As recomendações feitas são como estas:

  • Se a instância tiver tido baixa utilização de CPU na maioria das vezes, o Compute Engine recomenda um tipo de máquina com menos CPUs virtuais.

  • Se a instância tiver tido alta utilização de CPU na maioria das vezes, o Compute Engine recomenda um tipo de máquina com mais CPUs virtuais.

  • Se a instância não tiver usado uma grande parte da memória, o Compute Engine recomenda um tipo de máquina com menos memória.

  • Se a instância tiver usado ativamente uma fração grande da memória na maior parte do tempo, o Compute Engine recomenda um tipo de máquina com mais memória.

Pode ser que o Compute Engine recomende o uso de um tipo de máquina padrão ou personalizado. Há algumas limitações quanto ao volume de memória e à vCPU disponíveis para uma máquina. Em especial, aumentar um recurso pode exigir a ampliação de outro simultaneamente, de modo a seguir as especificações de um tipo de máquina válido. Além disso, o Compute Engine recomenda apenas os tipos de máquinas disponíveis na zona em que a instância está sendo executada.

Consulte as especificações de tipo de máquina personalizado para mais detalhes.

No caso das estimativas de diferença de custos, o custo de uma instância se baseia no uso da semana anterior (antes do desconto por uso prolongado) e é estendido por 30 dias. Ele costuma ser comparado com o custo do tipo de máquina recomendado antes do desconto sobre o uso contínuo. Para conhecer os preços e detalhes, leia a documentação sobre preços.

Como ver recomendações de dimensionamento

O Compute Engine disponibiliza as recomendações por meio do Console do Google Cloud. As recomendações também estão disponíveis por meio do Recomendador usando a ferramenta gcloud ou a API.

Console

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

    Acessar a página "Instâncias de VM"

  2. Observe a coluna Recomendação para avaliar as recomendações de instâncias individuais. Também classifique a coluna por valor estimado de economia. Caso não haja recomendações ao lado das instâncias, isso significa que o Compute Engine não tem recomendações a fazer.

    Coluna de recomendações.

gcloud

Use o comando gcloud recommender recommendations list e especifique o recomendador do dimensionamento da instância de VM.

gcloud recommender recommendations list \
    --recommender=google.compute.instance.MachineTypeRecommender \
    --location=ZONE \
    --format=[config | csv | default | diff | flattened | get | json | list | object | table | text | value | yaml]

Substitua:

  • ZONE: a zona de projetos;
  • FORMAT: o formato de saída de sua preferência.
    • csv, diff, get, table e value exigem projeções não vazias.

A saída do comando gcloud recommender recommendations list inclui os seguintes campos:

  • name: o nome da recomendação.
  • description: uma explicação legível da recomendação.
  • operationGroups: grupos de operações que podem ser executadas em série para aplicar a recomendação.

Para mais informações, consulte a documentação do Recomendador.

API

Use a API Recommender com o ID do recomendador de dimensionamento da instância de VM.

Se você ainda não estiver familiarizado com os pré-requisitos de autenticação para chamar APIs do Google Cloud, consulte a Visão geral da autenticação.

O exemplo de script bash a seguir usa a autenticação de usuário final com uma credencial de cliente do OAuth. O script usa a ferramenta de linha de comando Google oauth2l (em inglês) para conseguir um token de acesso do OAuth 2.0 e, em seguida, cria uma solicitação curl usando o token.

PROJECT_ID=my-project
LOCATION=us-central1-c
RECOMMENDER_ID=google.compute.instanceGroupManager.MachineTypeRecommender
OAUTH_JSON=~/client_secrets.json  # credentials for service account
OAUTH_HEADER="$(oauth2l header --json $OAUTH_JSON cloud-platform)"
curl -H "$OAUTH_HEADER" https://recommender.googleapis.com/v1/projects/$PROJECT_ID/locations/$LOCATION/recommenders/$RECOMMENDER_ID/recommendations

A resposta inclui os campos a seguir:

  • name: o nome da recomendação.
  • description: uma explicação legível da recomendação.
  • operationGroups: grupos de operações que podem ser executadas em série para aplicar a recomendação.

Para mais informações, consulte os documentos do recomendador.

Quando você cria uma instância, as recomendações para ela são exibidas 24 horas após a criação. Se você alterar o tipo de máquina de uma instância, o Compute Engine fornecerá outras recomendações em até 24 horas após a alteração.

Depois disso, as recomendações de VM são atualizadas regularmente durante todo o dia.

Redimensionamento de instâncias de acordo com recomendações

Para aplicar as recomendações feitas pelo Compute Engine, redimensione a instância diretamente na tela de recomendações ou realize manualmente as operações exibidas ao visualizar as recomendações de dimensionamento.

Console

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

    Acessar a página "Instâncias de VM"

    Se houver alguma recomendação para uma instância, ela será exibida na coluna Recomendação.

  2. Clique no texto de recomendação da instância que você quer redimensionar.

    Coluna de recomendações.

  3. Aparecerá uma janela pop-up com mais detalhes e um botão Aplicar para aplicar as recomendações à instância. Quando você clica nesse botão, o Compute Engine interrompe a instância, altera o tipo de máquina e reinicia a instância.

  4. Se preferir, clique no link Personalizar para personalizar a instância como preferir.

    Pop-up de detalhes de recomendações

  5. Clique no botão Aplicar para aplicar as alterações.

gcloud

Para informações, consulte Como alterar um tipo de máquina.

API

Para informações, consulte Como alterar um tipo de máquina.

Como dispensar e restaurar recomendações

Ao terminar de usar uma recomendação, é possível dispensá-la do console. No console, dispensar significa remover uma recomendação da economia total estimada e também minimizar a aparência da recomendação para que ela seja esmaecida.

Agir em uma recomendação por meio do console não afeta a lista de estados de recomendações retornados pela API Recommender. Para gerenciar o estado das recomendações retornadas pela API Recommender, consulte Como usar a API.

Para dispensar uma única recomendação do console, siga estas etapas:

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

    Acessar a página "Instâncias de VM"

  2. Clique no texto de recomendação da instância que você quer dispensar.

    Coluna de recomendações.

  3. Aparecerá uma janela pop-up com mais detalhes e um botão Dispensar recomendação.

    Janela pop-up com detalhes sobre as recomendações.

  4. Clique em Dispensar recomendação.

Para dispensar todas as recomendações do console, siga estas etapas:

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

    Acessar a página "Instâncias de VM"

  2. Clique no botão Dispensar tudo.

Dispensar todas as recomendações.

Para restaurar uma recomendação:

  1. No Console do Google Cloud, na página Instâncias de VM, clique no texto de recomendação esmaecido que você quer restaurar.

    Janela pop-up com detalhes sobre as recomendações

  2. Aparecerá uma janela pop-up com mais detalhes e um botão Restaurar recomendação.

    Dispensar recomendações.

  3. Clique em Restaurar recomendação.

Como usar o agente de monitoramento para ter recomendações mais precisas

O Cloud Monitoring oferece um agente do Monitoring que coleta mais métricas de disco, CPU, rede e processo com base nas instâncias de VMs. Para coletar esses dados, instale o agente do Monitoring nas suas instâncias de VM para que ele possa acessar os recursos do sistema e os serviços do aplicativo.

Se o agente do Monitoring estiver instalado e em execução em uma instância de VM, as métricas de CPU e de memória coletadas por ele serão usadas automaticamente para calcular as recomendações de dimensionamento. Em comparação com as métricas padrão do Compute Engine, as métricas do agente do Monitoring proporcionam insights melhores sobre a utilização dos recursos da instância. Isso permite que o mecanismo de recomendação faça uma estimativa melhor dos requisitos de recursos e apresente recomendações mais precisas.

Para instalar o agente, consulte Como instalar o agente do Monitoring.

A seguir