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 saperne di più su come Compute Engine genera una VM inattiva consigli, vedi Come funziona il rilevamento di 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 suggerimenti per le VM inattive.
-
Se non l'hai ancora fatto, configura l'autenticazione.
Autenticazione è
Il processo di verifica dell'identità per l'accesso ai servizi e alle API di Google Cloud.
Per eseguire codice o esempi da un ambiente di sviluppo locale, puoi eseguire l'autenticazione
Compute Engine come segue.
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
: l'ID del progettoZONE
: la zona che contiene istanze per elencare i suggerimentioperationGroups
: di operazioni eseguibili in ordine seriale applica il consigliodescription
: una spiegazione leggibile del consiglio- google.compute.instance.IdleResourceRecommender
PROJECT_ID
: l'ID del progetto.ZONE
: la zona contenente le istanze per le quali elencare i consigli.Un'operazione di prova per verificare lo stato 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
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" }
- Nella console Google Cloud, vai alla pagina Istanze VM.
- Seleziona l'istanza che vuoi arrestare.
- Fai clic su Arresta.
VM_NAME
: il nome dell'istanza VM che vuoi arrestareZONE
: la zona che contiene l'istanza che ti interessa per interromperePROJECT_ID
: l'ID del progettoZONE
: la zona contenente l'istanza che vuoi interrompereVM_NAME
: il nome dell'istanza VM che vuoi arrestare- 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.
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, vedi Esegui l'autenticazione per l'utilizzo di REST nella documentazione sull'autenticazione di Google Cloud.
Prezzi
I suggerimenti sulle 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 suggerimenti sulle VM inattive, utilizza gcloud CLI REST.
gcloud
Utilizza la 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:
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:
--- 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 mediante gcloud in Esempi di gcloud.
REST
Chiama il metodo
recommendations.list
e utilizza il seguente tipo di consiglio:La chiamata API ha questo aspetto:
GET https://recommender.googleapis.com/v1/projects/PROJECT_ID/locations/ZONE/recommenders/google.compute.instance.IdleResourceRecommender/recommendations
Sostituisci quanto segue:
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 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 nel 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. Suggerimento per VM inattiva I gruppi operativi comprendono due operazioni:
La prima operazione è un
test
, il che significa che devi verificare che il valoreresource
sia ancoraRUNNING
. A tale scopo, procedi nel seguente modo: controllando lo stato della VM.La seconda operazione,
replace
, significa che devi sostituire ilstatus
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 suggerimento per le VM inattive e decidi che non per utilizzare l'istanza, utilizza la console Google Cloud gcloud CLI, oppure REST per arrestare ed eliminare, facoltativamente l'istanza.
Se interrompi, ma non elimini un'istanza e i relativi dischi, dovrai comunque pagare i dischi.
Console
gcloud
Utilizzare il comando
instances stop
e specifica ilVM_NAME
che vuoi interrompere.gcloud compute instances stop VM_NAME --zone=ZONE
Sostituisci quanto segue:
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:
Se hai la certezza che l'istanza VM e i suoi dischi possano essere rimossi, puoi elimina l'istanza.
Passaggi successivi
Salvo quando diversamente specificato, i contenuti di questa pagina sono concessi in base alla licenza Creative Commons Attribution 4.0, mentre gli esempi di codice sono concessi in base alla licenza Apache 2.0. Per ulteriori dettagli, consulta le norme del sito di Google Developers. Java è un marchio registrato di Oracle e/o delle sue consociate.
Ultimo aggiornamento 2024-10-15 UTC.
-