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 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.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
Go
Wenn Sie die Go Beispiele auf dieser Seite in einer lokalen Entwicklungsumgebung verwenden möchten, installieren und initialisieren Sie die gcloud CLI und richten dann die Standardanmeldedaten für Anwendungen mit Ihren Nutzeranmeldedaten ein.
Weitere Informationen unter Set up authentication for a local development environment.
Java
Wenn Sie die Java Beispiele auf dieser Seite in einer lokalen Entwicklungsumgebung verwenden möchten, installieren und initialisieren Sie die gcloud CLI und richten dann die Standardanmeldedaten für Anwendungen mit Ihren Nutzeranmeldedaten ein.
Weitere Informationen unter Set up authentication for a local development environment.
Node.js
Wenn Sie die Node.js Beispiele auf dieser Seite in einer lokalen Entwicklungsumgebung verwenden möchten, installieren und initialisieren Sie die gcloud CLI und richten dann die Standardanmeldedaten für Anwendungen mit Ihren Nutzeranmeldedaten ein.
Weitere Informationen unter Set up authentication for a local development environment.
Python
Wenn Sie die Python Beispiele auf dieser Seite in einer lokalen Entwicklungsumgebung verwenden möchten, installieren und initialisieren Sie die gcloud CLI und richten dann die Standardanmeldedaten für Anwendungen mit Ihren Nutzeranmeldedaten ein.
Weitere Informationen unter Set up authentication for a local development environment.
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.
-
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.
Rufen Sie in der Google Cloud Console die Seite Instanz erstellen auf.
Wählen Sie im Menü
VM aus… erstellen die Option Instanzvorlagen aus.Führen Sie im angezeigten Fenster VM aus Vorlage erstellen die folgenden Schritte aus:
Wählen Sie eine Vorlage aus.
Klicken Sie zum Erstellen und Starten der VM auf Erstellen.
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 createVM_NAME \ --source-instance-templateINSTANCE_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
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.
Rufen Sie in der Google Cloud Console die Seite Instanz erstellen auf.
Wählen Sie im Menü
VM aus… erstellen die Option Instanzvorlagen aus.Wählen Sie im angezeigten Fenster VM aus Vorlage erstellen eine Vorlage aus und klicken Sie dann auf
Anpassen.Optional: Geben Sie weitere Konfigurationsoptionen an. Weitere Informationen finden Sie unter Konfigurationsoptionen beim Erstellen einer Instanz.
Klicken Sie zum Erstellen und Starten der Instanz auf Erstellen.
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
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.