Auf dieser Seite wird erläutert, wie Sie eine Instanzvorlage zum Erstellen einer VM-Instanz verwenden. Eine Instanzvorlage ist eine API-Ressource, mit der die Properties von VM-Instanzen definiert werden. In einer Instanzvorlage werden Attribute wie Maschinentyp, Betriebssystem-Image, Konfiguration nichtflüchtiger Speicher, Metadaten, Startskripts usw. definiert. Diese Instanzvorlage kann dann zum Erstellen einzelner VM-Instanzen oder Gruppen von verwalteten Instanzen verwendet werden.
Wenn Sie eine Instanzvorlage zum Erstellen einer VM-Instanz verwenden, wird standardmäßig eine VM-Instanz erstellt, die mit den Properties in der Vorlage identisch ist. Eine Ausnahme bilden der Name der VM-Instanz und die Zone, in der die Instanz ausgeführt wird. Alternativ können Sie bestimmte Felder bei der Instanzerstellung optional überschreiben, wenn Sie bestimmte Properties der Instanzvorlage für bestimmte Verwendungsmöglichkeiten ändern möchten.
In diesem Dokument wird davon ausgegangen, dass Sie bereits über eine einsatzbereite Instanzvorlage verfügen. Wenn Sie keine Instanzvorlage haben, befolgen Sie die Anweisungen zum Erstellen einer neuen Instanzvorlage.
Hinweise
- Lesen Sie die Dokumentation zu Instanzvorlagen.
- Erstellen Sie eine Instanzvorlage.
-
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 wie folgt bei Compute Engine authentifizieren.
Wählen Sie den Tab für die Verwendung der Beispiele auf dieser Seite aus:
Console
Wenn Sie über die Google Cloud Console auf Google Cloud-Dienste und -APIs zugreifen, müssen Sie die Authentifizierung nicht einrichten.
gcloud
-
Installieren Sie die Google Cloud CLI und initialisieren Sie sie mit folgendem Befehl:
gcloud init
- Legen Sie eine Standardregion und -zone fest.
Einfach loslegen (Go)
Wenn Sie die Go-Beispiele auf dieser Seite aus einer lokalen Entwicklungsumgebung heraus verwenden möchten, installieren und initialisieren Sie die gcloud CLI und richten dann die Standardanmeldedaten für Anwendungen mit Ihren Nutzeranmeldedaten ein.
- Installieren Sie die Google Cloud CLI.
-
Führen Sie folgenden Befehl aus, um die gcloud CLI zu initialisieren:
gcloud init
-
Erstellen Sie lokale Anmeldedaten zur Authentifizierung für Ihr Google-Konto:
gcloud auth application-default login
Weitere Informationen: Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Java
Wenn Sie die Java-Beispiele auf dieser Seite aus einer lokalen Entwicklungsumgebung heraus verwenden möchten, installieren und initialisieren Sie die gcloud CLI und richten dann die Standardanmeldedaten für Anwendungen mit Ihren Nutzeranmeldedaten ein.
- Installieren Sie die Google Cloud CLI.
-
Führen Sie folgenden Befehl aus, um die gcloud CLI zu initialisieren:
gcloud init
-
Erstellen Sie lokale Anmeldedaten zur Authentifizierung für Ihr Google-Konto:
gcloud auth application-default login
Weitere Informationen: Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Node.js
Wenn Sie die Node.js-Beispiele auf dieser Seite aus einer lokalen Entwicklungsumgebung heraus verwenden möchten, installieren und initialisieren Sie die gcloud CLI und richten dann die Standardanmeldedaten für Anwendungen mit Ihren Nutzeranmeldedaten ein.
- Installieren Sie die Google Cloud CLI.
-
Führen Sie folgenden Befehl aus, um die gcloud CLI zu initialisieren:
gcloud init
-
Erstellen Sie lokale Anmeldedaten zur Authentifizierung für Ihr Google-Konto:
gcloud auth application-default login
Weitere Informationen: Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Python
Wenn Sie die Python-Beispiele auf dieser Seite aus einer lokalen Entwicklungsumgebung heraus verwenden möchten, installieren und initialisieren Sie die gcloud CLI und richten dann die Standardanmeldedaten für Anwendungen mit Ihren Nutzeranmeldedaten ein.
- Installieren Sie die Google Cloud CLI.
-
Führen Sie folgenden Befehl aus, um die gcloud CLI zu initialisieren:
gcloud init
-
Erstellen Sie lokale Anmeldedaten zur Authentifizierung für Ihr Google-Konto:
gcloud auth application-default login
Weitere Informationen: Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
REST
Verwenden Sie die von der gcloud CLI bereitgestellten Anmeldedaten, um die REST API-Beispiele auf dieser Seite in einer lokalen Entwicklungsumgebung zu verwenden.
Installieren Sie die Google Cloud CLI und initialisieren Sie sie mit folgendem Befehl:
gcloud init
-
VM-Instanz aus einer Instanzvorlage erstellen
Sie können entweder eine regionale oder eine globale Instanzvorlage verwenden, um eine VM-Instanz zu erstellen. Folgen Sie diesen Anweisungen, um eine Instanz zu erstellen, die mit der Beschreibung in der Instanzvorlage identisch ist.
Console
Rufen Sie in der Google Cloud Console die Seite Instanz erstellen auf.
Klicken Sie auf Neue VM-Instanz aus Vorlage.
Wählen Sie eine Vorlage aus und klicken Sie auf Weiter.
Geben Sie einen Namen für Ihre VM an und nehmen Sie nach Bedarf weitere Anpassungen vor.
Klicken Sie auf Erstellen.
Weitere Informationen zur Einrichtung finden Sie unter VM-Instanz aus einem Image erstellen.
gcloud
Verwenden Sie zum Erstellen einer VM aus einer regionalen oder globalen Instanzvorlage denselben Befehl gcloud compute instances create
, den Sie auch zum Erstellen einer normalen Instanz verwenden würden, aber Fügen Sie --source-instance-template
-Flag hinzu:
gcloud compute instances create VM_NAME \ --source-instance-template INSTANCE_TEMPLATE_NAME
Ersetzen Sie Folgendes:
VM_NAME
: Der Name der Instanz.INSTANCE_TEMPLATE_NAME
: Name der zu verwendenden Instanzvorlage. Bei einer regionalen Instanzvorlage müssen Sie die URL der Vorlage vollständig oder teilweise angeben. Ein Beispiel für eine vollständige URL isthttps://www.googleapis.com/compute/v1/projects/example-project/regions/us-central1/instanceTemplates/example-regional-instance-template
und für eine teilweise URLprojects/example-project/regions/us-central1/instanceTemplates/example-regional-instance-template
.
Beispiel:
gcloud compute instances create example-instance \ --source-instance-template my-instance-template
Einfach loslegen (Go)
Java
Node.js
Python
REST
Wenn Sie eine VM aus einer regionalen oder globalen Instanzvorlage erstellen möchten, erstellen Sie eine normale Anfrage zum Erstellen einer Instanz, fügen Sie jedoch das sourceInstanceTemplate
-Abfrageparameter hinzu gefolgt von einem qualifizierten Pfad zu einer Instanzvorlage.
POST https://compute.googleapis.com/compute/v1/projects/ PROJECT_ID/zones/ZONE/ instances?sourceInstanceTemplate=INSTANCE_TEMPLATE_NAME
Geben Sie im Anfragetext einen name
für die VM-Instanz an:
{ "name": "example-instance" }
Das folgende Snippet enthält beispielsweise einen vollständig qualifizierten Pfad zur Vorlage: https://compute.googleapis.com/compute/v1/projects/myproject/global/instanceTemplates/example-instance-template
.
POST https://compute.googleapis.com/ compute/v1/projects/myproject/zones/us-central1-a/instances?sourceInstanceTemplate= https://compute.googleapis.com/compute/v1/projects/myproject/global/ instanceTemplates/example-instance-template
{ "name": "example-instance" }
VM-Instanz aus einer Instanzvorlage mit Überschreibungen erstellen
Wenn Sie eine VM-Instanz aus einer Instanzvorlage erstellen, wird standardmäßig eine VM-Instanz erstellt, die mit den Properties in der Vorlage identisch ist. Eine Ausnahme bilden der Name der VM-Instanz und die Zone.
Wenn Sie eine Instanz basierend auf einer Instanzvorlage, jedoch mit einigen Änderungen erstellen möchten, können Sie das Überschreibungsverhalten verwenden. In diesem Zusammenhang legen Sie Attribute fest, die beim Erstellen der Instanz für die vorhandene Instanzvorlage überschrieben werden sollen.
gcloud
Stellen Sie mithilfe der gcloud CLI eine Anfrage zum Erstellen einer Instanz mit dem Flag --source-instance-template
und zum Überschreiben eines beliebigen Attributs mit dem entsprechenden Flag gcloud
. Eine Liste der anwendbaren Flags finden Sie in der Referenz zu gcloud
.
Geben Sie beispielsweise die folgenden Flags an, um den Maschinentyp, Metadaten, das Betriebssystem, das Persistent Disk-Bootlaufwerk und ein sekundäres Laufwerk einer Instanzvorlage zu überschreiben:
gcloud compute instances create example-instance \ --source-instance-template example-instance --machine-type e2-standard-2 \ --image-family debian-9 --image-project debian-cloud \ --metadata bread=butter --disk=boot=no,name=my-override-disk
Einfach loslegen (Go)
Java
Node.js
Python
REST
Verwenden Sie in der API den Abfrageparameter sourceInstanceTemplate
und geben Sie im Anfragetext einer normalen Anfrage zum Erstellen einer Instanz alle Felder an, die Sie überschreiben möchten.
Das Überschreibungsverhalten in der API folgt den Regeln des Formats "JSON Merge Patch", das in RFC 7396 beschrieben wird.
Zum Beispiel:
- Wenn Sie ein grundlegendes Feld überschreiben, wird das entsprechende grundlegende Feld in der Instanzvorlage durch den grundlegenden Feldwert in der Anfrage ersetzt. Grundlegende Felder umfassen
machineType
,sourceImage
,name
und so weiter. - Wenn Sie ein wiederkehrendes Feld überschreiben, werden alle wiederkehrenden Werte für dieses Attribut durch die entsprechenden Werte aus der Anfrage ersetzt.
Wiederkehrende Felder sind in der Regel Attribute vom Typ
list
. Zum Beispiel sinddisks
undnetworkInterfaces
wiederkehrende Felder. - Wenn Sie ein
nested object
überschreiben, wird das Objekt in der Instanzvorlage mit der entsprechenden Objektspezifikation der Anfrage zusammengeführt. Wenn sich in einem wiederkehrenden Feld ein verschachteltes Objekt befindet, wird das Feld gemäß den Regeln für wiederkehrende Felder behandelt. Labels sind eine Ausnahme von dieser Regel und werden auch dann als wiederkehrende Felder behandelt, wenn sie vom Typobject
sind.
Beispiel: Sie haben eine Instanzvorlage mit zwei Nicht-Bootlaufwerken, aber Sie möchten eines der beiden Laufwerke außer Kraft setzen. Sie müssen die vollständige disks
-Spezifikation in Ihrer Anfrage angeben, einschließlich aller beizubehaltenden Laufwerke.
Die URL für diese Anfrage:
POST https://compute.googleapis.com/compute/v1/projects/myproject/zones/us-central1-a/instances? sourceInstanceTemplate=https://compute.googleapis.com/compute/v1/projects/myproject/global/instanceTemplates/example-instance-template
Der Anfragetext:
{ "disks": [ { # Since you are overriding the repeated disk property, you must # specify a boot disk in the request, even if it is already # specified in the instance template "autoDelete": true, "boot": true, "initializeParams": { "sourceImage": "projects/debian-cloud/global/images/family/debian-8" }, "mode": "READ_WRITE", "type": "PERSISTENT" }, { # New disk you want to use "autoDelete": false, "boot": false, "mode": "READ_WRITE", "source": "zones/us-central1-f/disks/my-override-disk", "type": "PERSISTENT" }, { # Assume this disk is already specified in instance template, but # you must specify it again since you are overriding the disks # property "autoDelete": false, "boot": false, "mode": "READ_WRITE", "source": "zones/us-central1-f/disks/my-other-disk-to-keep", "type": "PERSISTENT" } ], "machineType": "zones/us-central1-f/machineTypes/e2-standard-2", "name": "example-instance" }
Weitere Informationen
- Dokumentation zu VM-Instanzen auf Abruf lesen
- Mehr über Shutdown-Skripts erfahren
- Preise für Instanzen auf Abruf
- Stellen Sie eine Verbindung zur Instanz her.