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 so bei Compute Engine authentifizieren:
Wählen Sie den Tab aus, der Ihrer geplanten Verwendung der Beispiele auf dieser Seite entspricht:
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. Initialisieren Sie die Google Cloud CLI nach der Installation mit dem folgenden Befehl:
gcloud initWenn Sie einen externen Identitätsanbieter (IdP) verwenden, müssen Sie sich zuerst mit Ihrer föderierten Identität in der gcloud CLI anmelden.
-
- Legen Sie eine Standardregion und -zone fest.
-
Installieren Sie die Google Cloud CLI.
-
Wenn Sie einen externen Identitätsanbieter (IdP) verwenden, müssen Sie sich zuerst mit Ihrer föderierten Identität in der gcloud CLI anmelden.
-
Wenn Sie eine lokale Shell verwenden, erstellen Sie lokale Anmeldedaten zur Authentifizierung für Ihr Nutzerkonto:
gcloud auth application-default login
Wenn Sie Cloud Shell verwenden, müssen Sie das nicht tun.
Wenn ein Authentifizierungsfehler zurückgegeben wird und Sie einen externen Identitätsanbieter (IdP) verwenden, prüfen Sie, ob Sie sich mit Ihrer föderierten Identität in der gcloud CLI angemeldet haben.
-
Installieren Sie die Google Cloud CLI.
-
Wenn Sie einen externen Identitätsanbieter (IdP) verwenden, müssen Sie sich zuerst mit Ihrer föderierten Identität in der gcloud CLI anmelden.
-
Wenn Sie eine lokale Shell verwenden, erstellen Sie lokale Anmeldedaten zur Authentifizierung für Ihr Nutzerkonto:
gcloud auth application-default login
Wenn Sie Cloud Shell verwenden, müssen Sie das nicht tun.
Wenn ein Authentifizierungsfehler zurückgegeben wird und Sie einen externen Identitätsanbieter (IdP) verwenden, prüfen Sie, ob Sie sich mit Ihrer föderierten Identität in der gcloud CLI angemeldet haben.
-
Installieren Sie die Google Cloud CLI.
-
Wenn Sie einen externen Identitätsanbieter (IdP) verwenden, müssen Sie sich zuerst mit Ihrer föderierten Identität in der gcloud CLI anmelden.
-
Wenn Sie eine lokale Shell verwenden, erstellen Sie lokale Anmeldedaten zur Authentifizierung für Ihr Nutzerkonto:
gcloud auth application-default login
Wenn Sie Cloud Shell verwenden, müssen Sie das nicht tun.
Wenn ein Authentifizierungsfehler zurückgegeben wird und Sie einen externen Identitätsanbieter (IdP) verwenden, prüfen Sie, ob Sie sich mit Ihrer föderierten Identität in der gcloud CLI angemeldet haben.
-
Installieren Sie die Google Cloud CLI.
-
Wenn Sie einen externen Identitätsanbieter (IdP) verwenden, müssen Sie sich zuerst mit Ihrer föderierten Identität in der gcloud CLI anmelden.
-
Wenn Sie eine lokale Shell verwenden, erstellen Sie lokale Anmeldedaten zur Authentifizierung für Ihr Nutzerkonto:
gcloud auth application-default login
Wenn Sie Cloud Shell verwenden, müssen Sie das nicht tun.
Wenn ein Authentifizierungsfehler zurückgegeben wird und Sie einen externen Identitätsanbieter (IdP) verwenden, prüfen Sie, ob Sie sich mit Ihrer föderierten Identität in der gcloud CLI angemeldet haben.
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 Sie dann die Standardanmeldedaten für Anwendungen mit Ihren Nutzeranmeldedaten ein.
Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
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 Sie dann die Standardanmeldedaten für Anwendungen mit Ihren Nutzeranmeldedaten ein.
Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
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 Sie dann die Standardanmeldedaten für Anwendungen mit Ihren Nutzeranmeldedaten ein.
Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
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 Sie dann die Standardanmeldedaten für Anwendungen mit Ihren Nutzeranmeldedaten ein.
Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
REST
Wenn Sie die REST API-Beispiele auf dieser Seite in einer lokalen Entwicklungsumgebung verwenden möchten, verwenden Sie die Anmeldedaten, die Sie der gcloud CLI bereitstellen.
Installieren Sie die Google Cloud CLI.
Wenn Sie einen externen Identitätsanbieter (IdP) verwenden, müssen Sie sich zuerst mit Ihrer föderierten Identität in der gcloud CLI anmelden.
Weitere Informationen finden Sie in der Dokumentation zur Google Cloud -Authentifizierung unter Für die Verwendung von REST authentifizieren.
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.
Wählen Sie im Menü VM erstellen aus … 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.
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_URL
Ersetzen Sie Folgendes:
VM_NAME: Der Name der Instanz.INSTANCE_TEMPLATE_URL: Die URL der Instanzvorlage, die Sie zum Erstellen von Instanzen in der MIG verwenden möchten. Die URL kann entweder die ID oder den Namen der Instanzvorlage enthalten. Geben Sie einen der folgenden Werte an:- Für eine regionale Instanzvorlage:
projects/PROJECT_ID/regions/REGION/instanceTemplates/INSTANCE_TEMPLATE_ID - Für eine globale Instanzvorlage:
INSTANCE_TEMPLATE_ID
- Für eine regionale Instanzvorlage:
Beispiel:
gcloud compute instances create example-instance \
--source-instance-template 1234567890
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_URL
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/1234567890.
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/1234567890
{ "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.
Console
Rufen Sie in der Google Cloud Console die Seite Instanz erstellen auf.
Wählen Sie im Menü VM erstellen aus … 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 von Instanzen.
Klicken Sie zum Erstellen und Starten der Instanz auf Erstellen.
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 1234567890 --machine-type e2-standard-2 \
--image-family debian-9 --image-project debian-cloud \
--metadata bread=butter --disk=boot=no,name=my-override-disk
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,nameund 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 sinddisksundnetworkInterfaceswiederkehrende 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 Typobjectsind.
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/1234567890
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.