Auf dieser Seite wird beschrieben, wie Sie die Empfehlungen zu inaktiven VMs verwenden, um inaktive VM-Instanzen zu identifizieren und zu beenden, um Ressourcenverschwendung zu reduzieren und die Kosten für die Rechenleistung bei Ihren Projekten zu reduzieren.
- Weitere Informationen dazu, wie Compute Engine Empfehlungen zu inaktiven VMs generiert, finden Sie unter Funktionsweise inaktiver VM-Instanzen.
- Weitere Informationen zum Konfigurieren von Recommendern für inaktive VMs, um mehr oder weniger Empfehlungen zu erhalten, finden Sie unter Empfehlungen zu inaktiven VMs konfigurieren.
Hinweise
- Prüfen Sie die Einschränkungen, um zu prüfen, ob Ihre VM Empfehlungen zu inaktiven VMs unterstützt.
-
Richten Sie die Authentifizierung ein, falls Sie dies noch nicht getan haben.
Bei der Authentifizierung wird Ihre Identität für den Zugriff auf Google Cloud Dienste und APIs überprüft.
Zur Ausführung von Code oder Beispielen aus einer lokalen Entwicklungsumgebung können Sie sich bei Compute Engine authentifizieren. Wählen Sie dazu eine der folgenden Optionen aus:
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
Verwenden Sie die von der gcloud CLI bereitgestellten Anmeldedaten, um die REST API-Beispiele auf dieser Seite in einer lokalen Entwicklungsumgebung zu verwenden.
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
Weitere Informationen finden Sie unter Für die Verwendung von REST authentifizieren in der Dokumentation zur Google Cloud-Authentifizierung.
-
Preise
Empfehlungen für inaktive VMs sind kostenlos verfügbar. Die Verwendung von Empfehlungen zur Reduzierung der Ressourcennutzung kann zu Kosteneinsparungen führen.
Empfehlungen für inaktive VM-Instanzen ansehen
Verwenden Sie die gcloud CLI oder REST, um Empfehlungen zu inaktiven VMs aufzurufen.
Erforderliche Berechtigungen für diese Aufgabe
Zum Ausführen dieser Aufgabe benötigen Sie die folgenden Berechtigungen:
recommender.computeInstanceIdleResourceRecommendations.list
für das Projekt
Verwenden Sie den Befehl gcloud recommender recommendations list
mit --recommender=google.compute.instance.IdleResourceRecommender
:
gcloud recommender recommendations list \ --project=PROJECT_ID \ --location=ZONE \ --recommender=google.compute.instance.IdleResourceRecommender \ --format=yaml
Dabei gilt:
PROJECT_ID
: die Projekt-IDZONE
: die Zone mit den Instanzen, für die Empfehlungen aufgelistet werden sollen
Beispiel:
gcloud recommender recommendations list \ --project=my-project \ --location=us-central1-c \ --recommender=google.compute.instance.IdleResourceRecommender \ --format=yaml
Wenn am Standort keine inaktiven VMs vorhanden sind, ist die Antwort leer. Andernfalls enthält die Antwort für jede Empfehlung die folgenden Felder:
operationGroups
: Gruppen von Vorgängen, die Sie nacheinander ausführen können, um die Empfehlung anzuwendendescription
: eine menschenlesbare Erklärung der Empfehlung
---
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
Weitere Informationen zur Verwendung von Empfehlungen mit gcloud finden Sie unter gcloud-Beispiele.
Rufen Sie die Methode recommendations.list
auf und verwenden Sie den folgenden Empfehlungstyp:
- google.compute.instance.IdleResourceRecommender
Der API-Aufruf sieht etwa so aus:
GET https://recommender.googleapis.com/v1/projects/PROJECT_ID /locations/ZONE /recommenders/google.compute.instance.IdleResourceRecommender/recommendations
Dabei gilt:
PROJECT_ID
: die Projekt-ID.ZONE
: die Zone mit den Instanzen, für die Empfehlungen aufgelistet werden sollen.
Das folgende Beispiel zeigt, wie Sie eine Anfrage mit curl
und der zugehörigen Beispielantwort senden.
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
Beispiel einer JSON-Antwort für eine Empfehlung zu einer inaktiven VM:
{
"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"
}
Weitere Informationen zu den einzelnen Feldern finden Sie in der Dokumentation zur Recommender API.
Empfehlungen zu inaktiven VMs verstehen
Jede Empfehlung, die Sie über die gcloud CLI oder REST erhalten, enthält eine Vorgangsgruppe mit Vorgängen, die Sie nacheinander ausführen können, um die Empfehlung anzuwenden. Vorgangsgruppen von Empfehlungen für inaktive VMs umfassen zwei Vorgänge:
Einen Testvorgang zum Prüfen des aktuellen
status
der VM. Beispiel:{ "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" }
Einen Ersetzungsvorgang zum Ändern des
status
der VM. Beispiel:{ "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" }
Beim ersten Vorgang (test
) wird getestet, ob resource
weiterhin RUNNING
ist. Prüfen Sie dazu den VM-Status.
Beim zweiten Vorgang (replace
) wird der status
der Ressource durch den neuen Wert TERMINATED
ersetzt. Dies erreichen Sie, indem Sie die VM wie unten beschrieben beenden.
Empfehlungen zu inaktiven VMs anwenden
Wenn Sie eine Empfehlung zu einer inaktiven VM erhalten, die sie nicht mehr benötigen, können Sie die Instanz über die Google Cloud Console, die gcloud CLI oder REST beenden und optional löschen.
Wenn Sie eine Instanz und deren Laufwerke beenden, aber nicht löschen, zahlen Sie weiterhin für die zugehörigen Laufwerke.
Erforderliche Berechtigungen für diese Aufgabe
Zum Ausführen dieser Aufgabe benötigen Sie die folgenden Berechtigungen:
compute.instances.stop
für die Instanz, um sie zu beendencompute.instances.delete
für die Instanz, um sie zu löschen
- Rufen Sie in der Google Cloud Console die Seite VM-Instanzen auf.
- Wählen Sie die Instanz aus, die Sie beenden möchten.
- Klicken Sie auf Beenden.
Verwenden Sie den Befehl instances stop
und geben Sie die VM_NAME
an, die Sie beenden möchten.
gcloud compute instances stopVM_NAME --zone=ZONE
Dabei gilt:
VM_NAME
ist der Name der VM-Instanz, die Sie beenden möchten.ZONE
ist die Zone mit der Instanz, die Sie beenden möchten.
Erstellen Sie eine POST
-Anfrage, um die Instanz anzuhalten.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID /zones/ZONE /instances/VM_NAME /stop
Ersetzen Sie Folgendes:
PROJECT_ID
: die Projekt-IDZONE
ist die Zone mit der Instanz, die Sie beenden möchten.VM_NAME
ist der Name der VM-Instanz, die Sie beenden möchten.
Wenn Sie sich sicher sind, dass die VM-Instanz und die zugehörigen Laufwerke entfernt werden können, löschen Sie die Instanz.
Nächste Schritte
- Weitere Informationen dazu, wie sich das Beenden, Zurücksetzen und Löschen einer VM-Instanz auf die Instanz und ihre Ressourcen auswirkt
- Empfehlungen zu inaktiven VMs konfigurieren