Nesta página, descrevemos como usar recomendações de VMs inativas para identificar e interromper instâncias de VM inativas para minimizar o desperdício de recursos e reduzir sua conta de computação nos projetos.
- Para mais informações sobre como o Compute Engine gera recomendações de VMs inativas, consulte Como funciona a detecção de instâncias de VM inativas.
- Para mais informações sobre como configurar o Recomendador de VMs inativas para receber mais ou menos recomendações, consulte Configurar recomendações de VMs inativas.
Antes de começar
- Analise as limitações para verificar se a VM é compatível com recomendações de VMs inativas.
-
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 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
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
PROJECT_ID
: ID do projetoZONE
: zona que contém as instâncias para listar as recomendaçõesoperationGroups
: grupos de operações que podem ser executadas em série para aplicar a recomendaçãodescription
: uma explicação legível da recomendação- google.compute.instance.IdleResourceRecommender
PROJECT_ID
: ID do projeto.ZONE
: a zona que contém as instâncias que receberão a lista de recomendações.Uma operação de teste para verificar o
status
atual da VM. 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. 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" }
- No console do Google Cloud, acesse a página Instâncias de VMs.
- Selecione a instância que você quer interromper.
- Clique em Interromper.
VM_NAME
: o nome da instância de VM que você quer pararZONE
: a zona que contém a instância que você quer pararPROJECT_ID
: ID do projetoZONE
: a zona que contém a instância que você quer pararVM_NAME
: o nome da instância de VM que você quer parar- Saiba mais sobre como interromper, redefinir e excluir uma instância de VM afeta a instância e os recursos dela.
- Saiba como configurar recomendações de VMs inativas.
REST
Para usar as amostras da API REST nesta página em um ambiente de desenvolvimento local, use as credenciais fornecidas para gcloud CLI.
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
Para mais informações, consulte Autenticar para usar REST na documentação de autenticação do Google Cloud.
Preços
As recomendações de VM inativas estão disponíveis gratuitamente. Usar recomendações para reduzir o uso de recursos pode resultar em economia de custos.
Como visualizar recomendações de instância de VM inativa
Para visualizar recomendações sobre VMs inativas, use a CLI gcloud ou o 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:
Exemplo:
gcloud recommender recommendations list \ --project=my-project \ --location=us-central1-c \ --recommender=google.compute.instance.IdleResourceRecommender \ --format=yaml
Se não houver VMs inativas no local, a resposta será vazia. Caso contrário, a resposta incluirá os seguintes campos para cada recomendação:
--- 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 mais sobre como trabalhar com recomendações usando o gcloud em exemplos do gcloud.
REST
Chame o método
recommendations.list
e use o seguinte tipo de recomendação:A chamada da API tem esta aparência:
GET https://recommender.googleapis.com/v1/projects/PROJECT_ID/locations/ZONE/recommenders/google.compute.instance.IdleResourceRecommender/recommendations
Substitua:
O exemplo a seguir mostra o envio de uma solicitação com
curl
e a amostra de resposta 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" }
Encontre mais detalhes sobre cada campo na documentação da API Recommender.
Como interpretar a resposta da recomendação
Cada recomendação recebida por meio da CLI gcloud ou da REST contém um grupo de operações, com operações que podem ser executadas em série para aplicar a recomendação. Os grupos de operações de recomendação de VM inativa incluem duas operações:
A primeira operação é um
test
, o que significa que você precisa testar se oresource
ainda éRUNNING
. Para fazer isso, verifique o estado da VM.A segunda operação,
replace
, significa que você precisa substituir ostatus
do recurso por um novo valor,TERMINATED
. Para fazer isso, interrompa a VM, que é descrita abaixo.Como aplicar recomendações de VM inativas
Depois de receber uma recomendação de VM inativa e decidir que não precisa mais da instância, use o console do Google Cloud, a CLI gcloud ou a REST para interromper e, opcionalmente, excluir a instância.
Se você interromper, mas não excluir uma instância e os discos dela, ainda pagará pelos discos.
Console
gcloud
Use o comando
instances stop
e especifique oVM_NAME
que você quer interromper.gcloud compute instances stop VM_NAME --zone=ZONE
Substitua:
REST
Crie uma solicitação
POST
para interromper uma instância.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/stop
Substitua:
Se você tiver certeza de que a instância da VM e os discos dela podem ser removidos, exclua a instância.
A seguir
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 2024-12-22 UTC.
-