Questa pagina descrive come utilizzare i suggerimenti per le VM inattive al fine di identificare e interrompere le istanze di VM inattive per ridurre lo spreco di risorse e abbassare l'importo della fattura per il computing nei tuoi progetti.
- Per saperne di più su come Compute Engine genera suggerimenti per le VM inattive, consulta Come funziona il rilevamento delle istanze VM inattive.
- Per saperne di più su come configurare il motore per suggerimenti per le VM inattive in modo da ricevere più o meno suggerimenti, consulta Configura i suggerimenti per le VM inattive.
Prima di iniziare
- Esamina le limitazioni per verificare se la tua VM supporta i suggerimenti per le VM inattive.
-
Se non l'hai ancora fatto, configura l'autenticazione.
L'autenticazione verifica la tua identità per l'accesso ad API e servizi Google Cloud . Per eseguire
codice o esempi da un ambiente di sviluppo locale, puoi autenticarti su
Compute Engine selezionando una delle seguenti opzioni:
Seleziona la scheda relativa a come intendi utilizzare i campioni in questa pagina:
Console
Quando utilizzi la console Google Cloud per accedere ai servizi Google Cloud e alle API, non devi configurare l'autenticazione.
gcloud
-
Installa Google Cloud CLI. Dopo l'installazione, inizializza Google Cloud CLI eseguendo il comando seguente:
gcloud initSe utilizzi un provider di identità (IdP) esterno, devi prima accedere a gcloud CLI con la tua identità federata.
-
- Imposta una regione e una zona predefinite.
REST
Per utilizzare gli esempi di API REST in questa pagina in un ambiente di sviluppo locale, utilizzi le credenziali che fornisci a gcloud CLI.
Installa Google Cloud CLI.
Se utilizzi un provider di identità (IdP) esterno, devi prima accedere a gcloud CLI con la tua identità federata.
Per saperne di più, consulta Autenticati per usare REST nella documentazione sull'autenticazione di Google Cloud .
Prezzi
I suggerimenti per le VM inattive sono disponibili senza costi aggiuntivi. L'uso dei suggerimenti per ridurre l'utilizzo delle risorse può comportare risparmi sui costi.
Visualizzazione di suggerimenti per 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 le istanze per le quali si desidera ottenere l'elenco di suggerimenti
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 suggerimento:
operationGroups: gruppi di operazioni che puoi eseguire in sequenza per applicare il suggerimentodescription: una spiegazione del suggerimento leggibile da una persona
---
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 di gcloud.
REST
Chiama il
metodo recommendations.list
e utilizza il seguente tipo di suggerimento:
- 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 le istanze per le quali si desidera ottenere l'elenco di 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 di 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 del suggerimento
Ogni suggerimento che ricevi tramite gcloud CLI o REST contiene un gruppo di operazioni, con operazioni che puoi eseguire in serie per applicare il suggerimento. I gruppi di operazioni di suggerimenti per le VM inattive includono due operazioni:
Un'operazione di test per verificare l'attuale
statusdella 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 lo
statusdella 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, pertanto devi verificare che resource sia ancora RUNNING. Per farlo,
controlla lo stato della VM.
La seconda operazione, replace, indica che devi sostituire lo status della risorsa con un nuovo valore, TERMINATED. Puoi farlo arrestando la VM, come descritto di seguito.
Applicazione dei suggerimenti per VM inattive
Dopo aver ricevuto un suggerimento per una VM inattiva e aver deciso di non avere più bisogno dell'istanza, utilizza Google Cloud console, la gcloud CLI o REST per arrestare e, facoltativamente, eliminare l'istanza.
Se arresti un'istanza e i relativi dischi, ma non li elimini, dovrai comunque pagare per i dischi.
Console
- Nella console Google Cloud , vai alla pagina Istanze VM.
- Seleziona l'istanza che vuoi arrestare.
- Fai clic su Arresta per arrestare la VM. Se non è presente l'opzione Arresta, fai clic su Altre azioni > Arresta.
gcloud
Utilizza il comando instances stop
e specifica il 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 contenente l'istanza che vuoi 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 contenente l'istanza che vuoi 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, il ripristino e l'eliminazione di un'istanza VM influiscono sull'istanza e sulle relative risorse.
- Scopri come configurare i suggerimenti per le VM inattive.