Questa pagina descrive come utilizzare i suggerimenti sulle VM inattive per identificare e arrestare le istanze VM inattive al fine di ridurre lo spreco di risorse e i costi di elaborazione per i progetti.
- Per ulteriori informazioni su come Compute Engine genera suggerimenti per le VM inattive, consulta Come funziona il rilevamento di istanze VM inattive.
- Per saperne di più su come configurare il motore per suggerimenti sulle VM inattive in modo da ricevere un numero maggiore o minore di suggerimenti, consulta Configurare i suggerimenti sulle VM inattive.
Prima di iniziare
- Esamina le limitazioni per verificare se la tua VM supporta i suggerimenti relativi alle VM inattive.
-
Se non l'hai ancora fatto, configura l'autenticazione.
L'autenticazione è il processo mediante il quale viene verificata l'identità per l'accesso ai servizi e alle API Google Cloud.
Per eseguire codice o esempi da un ambiente di sviluppo locale, puoi autenticarti in Compute Engine nel seguente modo.
Seleziona la scheda relativa a come prevedi di utilizzare gli esempi in questa pagina:
Console
Quando utilizzi la console Google Cloud per accedere ai servizi e alle API di Google Cloud, non devi configurare l'autenticazione.
gcloud
-
Installa Google Cloud CLI, quindi initialize eseguendo questo comando:
gcloud init
- Imposta una regione e una zona predefinite.
REST
Per utilizzare gli esempi di API REST in questa pagina in un ambiente di sviluppo locale, devi utilizzare le credenziali che fornisci a gcloud CLI.
Installa Google Cloud CLI, quindi initialize eseguendo questo comando:
gcloud init
-
Prezzi
I suggerimenti sulle VM inattive sono disponibili senza costi aggiuntivi. L'utilizzo dei suggerimenti per ridurre l'utilizzo delle risorse può comportare risparmi sui costi.
Visualizzazione dei suggerimenti per le istanze VM inattive
Per visualizzare i suggerimenti sulle VM inattive, utilizza gcloud CLI o REST.
gcloud
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 che contiene istanze per elencare i suggerimenti
Ad esempio:
gcloud recommender recommendations list \ --project=my-project \ --location=us-central1-c \ --recommender=google.compute.instance.IdleResourceRecommender \ --format=yaml
Se nella località non sono presenti VM inattive, la risposta è vuota. In caso contrario, la risposta include i seguenti campi per ogni suggerimento:
operationGroups
: gruppi di operazioni che puoi eseguire in serie per applicare il suggerimentodescription
: 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 suggerimenti utilizzando gcloud negli esempi di gcloud.
REST
Richiama 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 che contiene istanze per cui elencare i suggerimenti.
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 suggerimento relativo a 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 ciascun campo nella documentazione relativa all'API Recommender.
Interpretazione della risposta al consiglio
Ogni suggerimento che ricevi tramite REST o gcloud CLI contiene un gruppo operazioni con operazioni che puoi eseguire in serie per applicare il suggerimento. I gruppi operativi per suggerimenti sulle VM inattive includono due operazioni:
Un'operazione di test per verificare l'attuale
status
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 valore
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 è di tipo test
, il che significa che devi verificare che resource
sia ancora RUNNING
. Puoi farlo controllando 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 sulle VM inattive
Dopo aver ricevuto un suggerimento per una VM inattiva e aver deciso che l'istanza non è più necessaria, utilizza la console Google Cloud, gcloud CLI o REST per arrestare ed eliminare l'istanza, se vuoi.
Se arresti un'istanza e i relativi dischi senza eliminarli, paghi comunque per i relativi dischi.
Console
- Nella console Google Cloud, vai alla pagina Istanze VM.
- Seleziona l'istanza che vuoi arrestare.
- Fai clic su Arresta.
gcloud
Utilizza il comando instances stop
e specifica l'elemento VM_NAME
che vuoi arrestare.
gcloud compute instances stop VM_NAME --zone=ZONE
Sostituisci quanto segue:
VM_NAME
: il nome dell'istanza VM che vuoi arrestareZONE
: la zona che contiene l'istanza da arrestare
REST
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 che contiene l'istanza da arrestareVM_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, la reimpostazione e l'eliminazione di un'istanza VM influiscono sull'istanza e sulle relative risorse.
- Scopri come configurare i suggerimenti sulle VM inattive.