Questa pagina descrive come utilizzare i consigli per le VM inutilizzate per identificare e interrompere le istanze VM inutilizzate al fine di ridurre lo spreco di risorse e la fattura per il calcolo nei tuoi progetti.
- Per ulteriori informazioni su come Compute Engine genera consigli per le VM inattive, consulta Come funziona il rilevamento delle istanze VM inattive.
- Per ulteriori informazioni su come configurare il Recommender per le VM inattive in modo da ricevere più o meno suggerimenti, consulta Configurare i suggerimenti per le VM inattive.
Prima di iniziare
- Esamina le limitazioni per verificare se la tua VM supporta i consigli per le VM inattive.
-
Se non l'hai ancora fatto, configura l'autenticazione.
L'autenticazione è il processo mediante il quale la tua identità viene verificata per l'accesso a servizi e API. Google Cloud
Per eseguire codice o esempi da un ambiente di sviluppo locale, puoi autenticarti su Compute Engine selezionando una delle seguenti opzioni:
Select the tab for how you plan to use the samples on this page:
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
REST
Per utilizzare gli esempi dell'API REST in questa pagina in un ambiente di sviluppo locale, utilizza le credenziali fornite a gcloud CLI.
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
Per ulteriori informazioni, consulta Eseguire l'autenticazione per l'utilizzo di REST nella documentazione Google Cloud sull'autenticazione.
-
Prezzi
I suggerimenti per le VM inattive sono disponibili senza costi. L'utilizzo dei consigli per ridurre l'utilizzo delle risorse può comportare risparmi sui costi.
Visualizzazione dei suggerimenti per le istanze VM inattive
Per visualizzare i consigli sulle VM inattive, utilizza l'interfaccia a riga di comando gcloud o REST.
Autorizzazioni richieste per questa attività
Per eseguire questa attività, devi disporre delle seguenti autorizzazioni:
recommender.computeInstanceIdleResourceRecommendations.list
sul progetto
Utilizza il
comando gcloud recommender recommendations list
con --recommender=google.compute.instance.IdleResourceRecommender
:
gcloud recommender recommendations list \ --project=PROJECT_ID \ --location=ZONE \ --recommender=google.compute.instance.IdleResourceRecommender \ --format=yaml
Sostituisci quanto segue:
PROJECT_ID
: l'ID del progettoZONE
: la zona contenente le istanze per le quali elencare i consigli
Ad esempio:
gcloud recommender recommendations list \ --project=my-project \ --location=us-central1-c \ --recommender=google.compute.instance.IdleResourceRecommender \ --format=yaml
Se non sono presenti VM inattive nella località, la risposta è vuota. In caso contrario, la risposta include i seguenti campi per ogni consiglio:
operationGroups
: gruppi di operazioni che puoi eseguire in ordine sequenziale per applicare il consigliodescription
: una spiegazione leggibile del consiglio
---
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
Scopri di più sull'utilizzo dei consigli con gcloud negli esempi gcloud.
Chiama il
metodo recommendations.list
e utilizza il seguente tipo di consiglio:
- google.compute.instance.IdleResourceRecommender
La chiamata API ha il seguente aspetto:
GET https://recommender.googleapis.com/v1/projects/PROJECT_ID /locations/ZONE /recommenders/google.compute.instance.IdleResourceRecommender/recommendations
Sostituisci quanto segue:
PROJECT_ID
: l'ID del progetto.ZONE
: la zona contenente le istanze per le quali elencare i consigli.
L'esempio seguente mostra come inviare una richiesta con curl
e la risposta di esempio associata.
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
Esempio di risposta JSON per un consiglio per una VM inattiva:
{
"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"
}
Puoi trovare ulteriori dettagli su ogni campo nella documentazione dell'API Recommender.
Interpretazione della risposta al consiglio
Ogni consiglio che ricevi tramite la CLI gcloud o REST contiene un gruppo di operazioni, con operazioni che puoi eseguire in serie per applicare il consiglio. I gruppi di operazioni di consigli per le VM inattive includono due operazioni:
Un'operazione di test per verificare l'
status
attuale della VM. Ad esempio:{ "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" }
Un'operazione di sostituzione per modificare il
status
della VM. Ad esempio:{ "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" }
La prima operazione è un test
, il che significa che devi verificare che il valore resource
sia ancora RUNNING
. A questo scopo,
controlla lo stato della VM.
La seconda operazione, replace
, indica che devi sostituire il valore status
della risorsa con un nuovo valore, TERMINATED
. Puoi farlo arrestando la VM, come descritto di seguito.
Applicazione dei suggerimenti per le VM inattive
Dopo aver ricevuto un consiglio per una VM inattiva e aver deciso di non avere più bisogno dell'istanza, utilizza la console Google Cloud, l'interfaccia a riga di comando gcloud o REST per arrestare e, facoltativamente, eliminare l'istanza.
Se interrompi, ma non elimini un'istanza e i relativi dischi, dovrai comunque pagare i dischi.
Autorizzazioni richieste per questa attività
Per eseguire questa attività, devi disporre delle seguenti autorizzazioni:
compute.instances.stop
sull'istanza per arrestarla.compute.instances.delete
sull'istanza per eliminarla.
- Nella console Google Cloud, vai alla pagina Istanze VM.
- Seleziona l'istanza che vuoi arrestare.
- Fai clic su Arresta.
Utilizza il comando instances stop
e specifica il VM_NAME
che vuoi interrompere.
gcloud compute instances stopVM_NAME --zone=ZONE
Sostituisci quanto segue:
VM_NAME
: il nome dell'istanza VM che vuoi arrestareZONE
: la zona contenente l'istanza che vuoi interrompere
Crea una richiesta POST
per arrestare un'istanza.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID /zones/ZONE /instances/VM_NAME /stop
Sostituisci quanto segue:
PROJECT_ID
: l'ID del progettoZONE
: la zona contenente l'istanza che vuoi interrompereVM_NAME
: il nome dell'istanza VM che vuoi arrestare
Se hai la certezza che l'istanza VM e i relativi dischi possano essere rimossi, puoi eliminare l'istanza.
Passaggi successivi
- Scopri di più su come l'arresto, il ripristino e l'eliminazione di un'istanza VM incidono sull'istanza e sulle relative risorse.
- Scopri come configurare i consigli per le VM inattive.