Esta página descreve como pode usar as recomendações de VMs inativas para identificar e parar instâncias de VMs inativas para reduzir o desperdício de recursos e reduzir a fatura de computação nos seus projetos.
- Para mais informações sobre como o Compute Engine gera recomendações de VMs inativas, consulte o artigo Como funciona a deteção de instâncias de VMs inativas.
- Para mais informações sobre como configurar o Recommender de VMs inativas para receber mais ou menos recomendações, consulte o artigo Configure recomendações de VMs inativas.
Antes de começar
- Reveja as limitações para verificar se a sua VM suporta recomendações de VMs inativas.
-
Se ainda não o tiver feito, configure a autenticação.
A autenticação valida a sua identidade para aceder a Google Cloud serviços e APIs. Para executar código ou exemplos a partir de um ambiente de desenvolvimento local, pode autenticar-se no Compute Engine selecionando uma das seguintes opções:
Select the tab for how you plan to use the samples on this page:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloud
-
Instale a CLI Google Cloud. Após a instalação, inicialize a CLI gcloud executando o seguinte comando:
gcloud init
Se estiver a usar um fornecedor de identidade (IdP) externo, primeiro tem de iniciar sessão na CLI gcloud com a sua identidade federada.
- Set a default region and zone.
REST
Para usar os exemplos da API REST nesta página num ambiente de desenvolvimento local, usa as credenciais que fornece à CLI gcloud.
Instale a CLI Google Cloud. Após a instalação, inicialize a CLI gcloud executando o seguinte comando:
gcloud init
Se estiver a usar um fornecedor de identidade (IdP) externo, primeiro tem de iniciar sessão na CLI gcloud com a sua identidade federada.
Para mais informações, consulte o artigo Autenticar para usar REST na Google Cloud documentação de autenticação.
Preços
As recomendações de VMs inativas estão disponíveis sem custo financeiro. A utilização de recomendações para reduzir a utilização de recursos pode resultar em poupanças de custos.
Ver recomendações de instâncias de VM inativas
Para ver recomendações sobre VMs inativas, use a CLI gcloud ou a API REST.
gcloud
Use o comando
gcloud recommender recommendations list
com--recommender=google.compute.instance.IdleResourceRecommender
:gcloud recommender recommendations list \ --project=PROJECT_ID \ --location=ZONE \ --recommender=google.compute.instance.IdleResourceRecommender \ --format=yaml
Substitua o seguinte:
PROJECT_ID
: o ID do seu projetoZONE
: a zona que contém instâncias para listar recomendações
Por exemplo:
gcloud recommender recommendations list \ --project=my-project \ --location=us-central1-c \ --recommender=google.compute.instance.IdleResourceRecommender \ --format=yaml
Se não existirem VMs inativas na localização, a resposta está vazia. Caso contrário, a resposta inclui os seguintes campos para cada recomendação:
operationGroups
: grupos de operações que pode realizar por ordem de série para aplicar a recomendaçãodescription
: uma explicação da recomendação legível por humanos
--- content: ... operationGroups: - operations: - action: test path: /status resource: //compute.googleapis.com/projects/my-project/zones/us-central1-c/instances/vm-name resourceType: compute.googleapis.com/Instance value: RUNNING - action: replace path: /status resource: //compute.googleapis.com/projects/my-project/zones/us-central1-c/instances/vm-name resourceType: compute.googleapis.com/Instance value: TERMINATED description: Save cost by stopping Idle VM 'vm-name'. etag: '"83da314c23f634e1"' lastRefreshTime: '2020-02-24T07:56:40Z' name: projects/141732092341/locations/us-central1-c/recommenders/google.compute.instance.IdleResourceRecommender/recommendations/0e061a3a-f921-4216-b1b4-62e16942cd1a primaryImpact: category: COST costProjection: cost: currencyCode: USD nanos: -91533961 units: '-262' duration: 2592000s recommenderSubtype: STOP_VM stateInfo: state: ACTIVE
Saiba como trabalhar com recomendações através do gcloud em exemplos do gcloud.
REST
Chame o método
recommendations.list
e use o seguinte tipo de recomendação:- google.compute.instance.IdleResourceRecommender
A chamada API tem o seguinte aspeto:
GET https://recommender.googleapis.com/v1/projects/PROJECT_ID/locations/ZONE/recommenders/google.compute.instance.IdleResourceRecommender/recommendations
Substitua o seguinte:
PROJECT_ID
: o ID do seu projeto.ZONE
: a zona que contém instâncias para listar recomendações.
O exemplo seguinte mostra como enviar um pedido com
curl
e a resposta de exemplo associada.PROJECT_ID=my-project ZONE=us-central1-c RECOMMENDER_ID=google.compute.instance.IdleResourceRecommender curl -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/$RECOMMENDER_ID/recommendations
Exemplo de resposta JSON para uma recomendação de VM inativa:
{ "description" : "Save cost by stopping Idle VM `vm-name`", "name": "projects/1574864402/locations/us-central1-c/recommenders/" "google.compute.instance.IdleResourceRecommender/" "recommendations/0fd31b24-cc05-4132-8431-ed54a22dd4f1", "lastRefreshTime": { "seconds": 1543912652 }, "primaryImpact": { "category": COST, "costProjection": { "cost": {"currencyCode": "USD", "units": -50}, "duration": { "seconds": 2592000 } } }, "stateInfo": ACTIVE, "content": "groups" : [ { "operations" : [ { "action": "test", "resourceType": "compute.googleapis.com/Instance", "resource": "//compute.googleapis.com/projects/my-project/" "zones/us-central1-c/instances/vm-name", "path": "/status", "value": "RUNNING" }, { "action": "replace", "resourceType": "compute.googleapis.com/Instance", "resource": "//compute.googleapis.com/projects/my-project/" "zones/us-central1-c/instances/vm-name", "path": "/status", "value": "TERMINATED" } ] } ] }, "etag" : "cb0e6ac2cfc0b591" }
Pode encontrar mais detalhes acerca de cada campo na documentação da API Recommender.
Interpretar a resposta da recomendação
Cada recomendação que recebe através da CLI gcloud ou da API REST contém um grupo de operações, com operações que pode realizar em série para aplicar a recomendação. Os grupos de operações de recomendações de VMs inativas incluem duas operações:
Uma operação de teste para validar o estado atual
status
da VM. Por exemplo:{ "action": "test", "resourceType": "compute.googleapis.com/Instance", "resource" : "//compute.googleapis.com/projects/my-project/zones/us-central1-c/instances/vm-name", "path": "/status", "value": "RUNNING" }
Uma operação de substituição para alterar o
status
da VM. Por exemplo:{ "action": "replace", "resourceType": "compute.googleapis.com/Instance", "resource" : "//compute.googleapis.com/projects/my-project/zones/us-central1-c/instances/vm-name", "path": "/status", "value": "TERMINATED" }
A primeira operação é um
test
, o que significa que deve testar se oresource
continua a serRUNNING
. Pode fazê-lo verificando o estado da VM.A segunda operação,
replace
, significa que deve substituir o valorstatus
do recurso por um novo valor,TERMINATED
. Pode fazê-lo parando a VM, conforme descrito abaixo.Aplicar recomendações de VMs inativas
Depois de receber uma recomendação de VM inativa e decidir que já não precisa da instância, use a Google Cloud console, a CLI gcloud ou a REST para parar e, opcionalmente, eliminar a instância.
Se parar, mas não eliminar uma instância e os respetivos discos, continua a pagar pelos discos.
Consola
- Na Google Cloud consola, aceda à página Instâncias de VM.
- Selecione a instância que quer parar.
- Clique em Parar para parar a VM. Se não existir a opção Parar, clique em Mais ações > Parar.
gcloud
Use o comando
instances stop
e especifique oVM_NAME
que quer parar.gcloud compute instances stop VM_NAME --zone=ZONE
Substitua o seguinte:
VM_NAME
: o nome da instância de VM que quer pararZONE
: a zona que contém a instância que quer parar
REST
Construa um pedido
POST
para parar uma instância.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/stop
Substitua o seguinte:
PROJECT_ID
: o ID do seu projetoZONE
: a zona que contém a instância que quer pararVM_NAME
: o nome da instância de VM que quer parar
Se tiver a certeza de que a instância de VM e os respetivos discos podem ser removidos, pode eliminar a instância.
O que se segue?
- Saiba como parar, repor e eliminar uma instância de VM afeta a instância e os respetivos recursos.
- Saiba como configurar recomendações de VMs inativas.
Exceto em caso de indicação contrária, o conteúdo desta página é licenciado de acordo com a Licença de atribuição 4.0 do Creative Commons, e as amostras de código são licenciadas de acordo com a Licença Apache 2.0. Para mais detalhes, consulte as políticas do site do Google Developers. Java é uma marca registrada da Oracle e/ou afiliadas.
Última atualização 2025-10-19 UTC.
-