Sie können benutzerdefinierte Images von Quelllaufwerken, Images, Snapshots oder von in Cloud Storage gespeicherten Images erstellen und diese Images verwenden, um VM-Instanzen zu erstellen. Benutzerdefinierte Images sind ideal, wenn Sie ein nichtflüchtiges Bootlaufwerk oder ein bestimmtes Image in einem bestimmten Zustand erstellt und geändert haben und diesen Zustand zum Erstellen von VMs speichern müssen.
Alternativ können Sie das Tool zum Importieren virtueller Laufwerke verwenden, um Images von Bootlaufwerken aus vorhandenen Systemen in Compute Engine zu importieren und der Liste Ihrer benutzerdefinierten Images hinzuzufügen.
Hinweise
- Lesen Sie das Dokument zu Images.
-
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:
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.
- 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.
IMAGE_NAME ist der Name des Images.
PROJECT_ID ist das Projekt, zu dem das Image gehört.
Beenden Sie die VM, sodass sie herunterfahren und das Schreiben von Daten auf den nichtflüchtigen Speicher beenden kann.
Wenn Sie Ihre VM nicht beenden können, bevor Sie das Image erstellen, minimieren Sie die Anzahl der Schreibvorgänge auf das Laufwerk und synchronisieren Sie Ihr Dateisystem. So minimieren Sie das Schreiben in Ihren nichtflüchtigen Speicher:
- Pausieren Sie alle Anwendungen oder Prozesse des Betriebssystems, die Daten in den nichtflüchtigen Speicher schreiben.
- Leeren Sie die Anwendungsdaten auf das Laufwerk, falls erforderlich. MySQL bietet hierfür zum Beispiel die Anweisung
FLUSH
. Andere Anwendungen haben möglicherweise ähnliche Prozesse. - Beenden Sie das Schreiben von Daten auf den nichtflüchtigen Speicher durch Anwendungen.
- Führen Sie
sudo sync
aus.
Rufen Sie in der Google Cloud Console die Seite VM-Instanzen auf.
Klicken Sie auf den Namen der VM, die Sie als Quelle zum Erstellen eines Images verwenden.
Die Seite VM-Instanzdetails wird angezeigt.
Klicken Sie auf Bearbeiten.
Achten Sie darauf, dass im Abschnitt Bootlaufwerk für die Löschregel die Option Laufwerk behalten ausgewählt ist.
Klicken Sie auf Speichern.
VM_NAME
ist der Name Ihrer VM-Instanz.SOURCE_DISK
ist der Name des Laufwerks, von dem Sie das Image erstellen möchten.PROJECT_ID
: die Projekt-ID, zu der die Quell-VM gehört.ZONE
: die Zone, in der sich die Quell-VM befindetVM_NAME
: der Name der Quell-VM.SOURCE_DISK
: Gerätename des Laufwerks, von dem Sie das Image erstellen möchten.- einen nichtflüchtigen Speicher, auch wenn dieser mit einer VM verbunden ist
- einen Snapshot eines nichtflüchtigen Speichers
- ein anderes Image in Ihrem Projekt
- ein Image, das von einem anderen Projekt freigegeben wird
- Ein komprimiertes RAW-Image in Cloud Storage
Rufen Sie in der Google Cloud Console die Seite Image erstellen auf.
Geben Sie im Feld Name den Image-Namen an.
Geben Sie die Quelle an, auf deren Grundlage Sie ein Image erstellen möchten. Dies kann ein nichtflüchtiger Speicher, ein Snapshot, ein anderes Image oder eine disk.raw-Datei in Cloud Storage sein.
Wenn Sie ein Image von einem Laufwerk erstellen, das mit einer ausgeführten VM verbunden ist, aktivieren Sie Instanz weiter ausführen, um zu bestätigen, dass Sie das Image erstellen möchten, während die VM ausgeführt wird. Sie können die VM vorbereiten, bevor Sie das Image erstellen.
Geben Sie in der Drop-down-Liste Basierend auf dem Standort des Quelllaufwerks (Standard) den Speicherort für das Image an. Geben Sie beispielsweise
us
an, um das Image in der Multiregionus
zu speichern, oderus-central1
, um es in der Regionus-central1
zu speichern. Wenn Sie keine Auswahl treffen, speichert Compute Engine das Image in der Multiregion, die dem Speicherort Ihrer Image-Quelle am nächsten ist.Optional: Legen Sie die gewünschten Attribute des Images fest.
- Familie: die Image-Familie, zu der das neue Image gehört.
- Beschreibung: Eine Beschreibung für Ihr benutzerdefiniertes Image.
- Label: ein Label, um Ressourcen zu gruppieren.
Geben Sie den Verschlüsselungsschlüssel an. Sie können zwischen einem Google-eigenen und einem von Google verwalteten Schlüssel, einem Cloud Key Management Service (Cloud KMS)-Schlüssel oder einem vom Kunden bereitgestellten Verschlüsselungsschlüssel (CSEK) wählen. Wenn kein Verschlüsselungsschlüssel angegeben ist, werden die Images mit einem von Google verwalteten Schlüssel verschlüsselt.
Klicken Sie auf Erstellen, um das Image zu erstellen.
IMAGE_NAME
ist ein Name für das neue ImageSOURCE_DISK
ist das Laufwerk, von dem Sie das Image erstellen möchtenZONE
ist die Zone, in der sich das Laufwerk befindetIMAGE_FAMILY
(Optional): Ein Flag, das angibt, zu welcher Image-Familie dieses Image gehörtLOCATION
(Optional): Ein Flag, mit dem Sie die Region oder Multiregion festlegen können, in der Ihr Image gespeichert wird. Geben Sie beispielsweiseus
an, um das Image in der Multiregionus
zu speichern, oderus-central1
, um es in der Regionus-central1
zu speichern. Wenn Sie keine Auswahl treffen, speichert Compute Engine das Image in der Multiregion, die dem Speicherort Ihrer Image-Quelle am nächsten ist.IMAGE_NAME
ist ein Name für das neue Image.SOURCE_IMAGE
ist das Image, von dem Sie das neue Image erstellen möchten.IMAGE_PROJECT
(Optional): das Projekt, in dem sich das Quell-Image befindet. Verwenden Sie diesen Parameter, wenn Sie ein Image aus einem anderen Projekt kopieren möchten.IMAGE_FAMILY
(Optional): Die Image-Familie, zu der das neue Image gehört.LOCATION
(Optional): Hiermit können Sie die Region oder Multiregion festlegen, in der Ihr Image gespeichert wird. Geben Sie beispielsweiseus
an, um das Image in der Multiregionus
zu speichern, oderus-central1
, um es in der Regionus-central1
zu speichern. Wenn Sie keine Auswahl treffen, speichert Compute Engine das Image in der Multiregion, die dem Speicherort Ihrer Image-Quelle am nächsten ist.IMAGE_NAME
ist ein Name für das neue ImageSOURCE_SNAPSHOT
ist der Snapshot, von dem Sie das Image erstellen möchten.LOCATION
(Optional): Ein Flag, mit dem Sie die Region oder Multiregion festlegen können, in der Ihr Image gespeichert wird. Geben Sie beispielsweiseus
an, um das Image in der Multiregionus
zu speichern, oderus-central1
, um es in der Regionus-central1
zu speichern. Wenn Sie keine Auswahl treffen, speichert Compute Engine das Image in der Multiregion, die dem Speicherort Ihrer Image-Quelle am nächsten ist.PROJECT_ID
ist das Projekt, zu dem das Image gehört.IMAGE_NAME
ist ein Name für das neue Image, das Sie erstellen möchten.ZONE
ist die Zone, in der sich das Quelllaufwerk befindet.SOURCE_DISK
ist das Laufwerk, von dem Sie das Image erstellen möchten.LOCATION
(Optional): Der Speicherort Ihres Images. Geben Sie beispielsweiseus
an, um das Image in der Multiregionus
zu speichern, oderus-central1
, um es in der Regionus-central1
zu speichern. Wenn Sie keine Auswahl treffen, speichert Compute Engine das Image in der Multiregion, die dem Speicherort Ihrer Image-Quelle am nächsten ist.PROJECT_ID
ist das Projekt, zu dem das Image gehört.IMAGE_NAME
ist ein Name für das neue Image, das Sie erstellen möchten.SOURCE_IMAGE
ist das Image, von dem Sie das Image erstellen möchten.LOCATION
(Optional): Der Speicherort Ihres Images. Geben Sie beispielsweiseus
an, um das Image in der Multiregionus
zu speichern, oderus-central1
, um es in der Regionus-central1
zu speichern. Wenn Sie keine Auswahl treffen, wird das Image von Compute Engine an dem multiregionalen Standort gespeichert, der dem Quellspeicherort des Images am nächsten liegt.PROJECT_ID
ist das Projekt, zu dem das Image gehört.IMAGE_NAME
ist ein Name für das neue Image, das Sie erstellen möchten.SOURCE_PROJECT_ID
(Optional): Das Projekt, in dem sich der Snapshot befindet. Sie benötigen die Zugriffsberechtigung für die Snapshot-Ressource in diesem Projekt.SOURCE_SNAPSHOT
ist der Snapshot, von dem Sie das Image erstellen möchten.LOCATION
(Optional): Der Speicherort Ihres Images. Geben Sie beispielsweiseus
an, um das Image in der Multiregionus
zu speichern, oderus-central1
, um es in der Regionus-central1
zu speichern. Wenn Sie keine Auswahl treffen, speichert Compute Engine das Image in der Multiregion, die dem Speicherort Ihrer Image-Quelle am nächsten ist.IMAGE_NAME
: der Name für das neue ImageSOURCE_IMAGE
: ein Image, auf dem das neue Image basieren sollIMAGE_PROJECT
(optional): das Projekt, das das Quell-Image enthältVerwenden Sie diesen Parameter, um ein Image aus einem anderen Projekt zu kopieren.
FEATURES
: Gastbetriebssystem-Tags zum Aktivieren von Features für VMs, die Sie aus Images erstellenWenn Sie mehrere Werte hinzufügen möchten, trennen Sie die Werte durch Kommas. Legen Sie einen oder mehrere der folgenden Werte fest:
-
VIRTIO_SCSI_MULTIQUEUE
. Verwendung auf lokalen SSD-Geräten als Alternative zu NVMe. Weitere Informationen zu Images, die SCSI unterstützen, finden Sie unter Schnittstelle auswählen.Sie können für Linux-Images Multi-Queue-SCSI auf lokalen SSD-Geräten bei Images mit Kernel-Versionen ab 3.17 aktivieren. Sie können für Windows-Images Multi-Queue-SCSI auf lokalen SSD-Geräten bei Images mit Compute Engine-Windows-Treibern der Version 1.2 aktivieren.
-
WINDOWS
Benutzerdefinierte Windows Server-Boot-Images als Windows-Images taggen. -
MULTI_IP_SUBNET
Schnittstellen mit einer anderen Netzmaske als/32
konfigurieren. Weitere Informationen zu mehreren Netzwerkschnittstellen und ihrer Funktionsweise finden Sie unter Übersicht über mehrere Netzwerkschnittstellen und Beispiele. -
UEFI_COMPATIBLE
Booten mit UEFI-Firmware und den folgenden Shielded VM-Features:- Secure Boot: standardmäßig deaktiviert
- Virtual Trusted Platform Module (vTPM): standardmäßig aktiviert
- Integritätsmonitoring: standardmäßig aktiviert
-
GVNIC
Höhere Netzwerkbandbreiten von bis zu 50 Gbit/s bis 100 Gbit/s unterstützen. Weitere Informationen finden Sie unter Google Virtual NIC verwenden. -
IDPF
Unterstützung für IDPF-Netzwerkschnittstellen (Intel Infrastructure Data Path Function) -
SEV_CAPABLE
oderSEV_SNP_CAPABLE
. Verwenden Sie diese Tags, wenn Sie Ihr Image auf einer Confidential VM-Instanz mit AMD Secure Encrypted Virtualization (SEV) oder AMD Secure Encrypted Virtualization-Secure Nested Paging (SEV-SNP) verwenden möchten. Informationen dazu, ob Ihr Kernel AMD SEV oder AMD SEV-SNP unterstützt, finden Sie unter Linux-Kernel – Details. -
SEV_LIVE_MIGRATABLE_V2
Verwenden Sie dieses Tag, wenn Sie Ihr Image auf einer Confidential VM-Instanz verwenden möchten, die die Live-Migration auf AMD SEV unterstützt. Informationen dazu, ob Ihr Kernel die Live-Migration unterstützt, finden Sie unter Linux-Kernel – Details. -
TDX_CAPABLE
Verwenden Sie dieses Tag, wenn Sie Ihr Image auf einer Confidential VM-Instanz mit Unterstützung für Intel Trust Domain Extensions (TDX) verwenden möchten. Ob Ihr Kernel Intel TDX unterstützt, erfahren Sie unter Linux-Kernel – Details. -
SUSPEND_RESUME_COMPATIBLE
Anhalten und Fortsetzen auf einer VM unterstützen. Weitere Informationen finden Sie unter Betriebssystemkompatibilität.
-
LOCATION
(optional): Region oder Multiregion, in der das Image gespeichert werden sollGeben Sie beispielsweise
us
an, um das Image in der Multiregionus
zu speichern, oderus-central1
, um es in der Regionus-central1
zu speichern. Wenn Sie keine Auswahl treffen, speichert Compute Engine das Image in der Multiregion, die dem Speicherort Ihrer Image-Quelle am nächsten ist.PROJECT_ID
: ID des Projekts, in dem das neue Image erstellt werden sollIMAGE_NAME
ist ein Name für das neue ImageIMAGE_PROJECT
(optional): das Projekt, das das Quell-Image enthältVerwenden Sie diesen Parameter, um ein Image aus einem anderen Projekt zu kopieren.
SOURCE_IMAGE
: Image, auf dem das neue Image basieren soll.LOCATION
(optional): Region oder Multiregion, in der das Image gespeichert werden sollGeben Sie beispielsweise
us
an, um das Image in der Multiregionus
zu speichern, oderus-central1
, um es in der Regionus-central1
zu speichern. Wenn Sie keine Auswahl treffen, speichert Compute Engine das Image in der Multiregion, die dem Speicherort Ihrer Image-Quelle am nächsten ist.FEATURES
: Gastbetriebssystem-Tags zum Aktivieren von Features für VMs, die Sie aus Images erstellenWenn Sie mehrere Werte hinzufügen möchten, trennen Sie die Werte durch Kommas. Legen Sie einen oder mehrere der folgenden Werte fest:
-
VIRTIO_SCSI_MULTIQUEUE
. Verwendung auf lokalen SSD-Geräten als Alternative zu NVMe. Weitere Informationen zu Images, die SCSI unterstützen, finden Sie unter Schnittstelle auswählen.Sie können für Linux-Images Multi-Queue-SCSI auf lokalen SSD-Geräten bei Images mit Kernel-Versionen ab 3.17 aktivieren. Sie können für Windows-Images Multi-Queue-SCSI auf lokalen SSD-Geräten bei Images mit Compute Engine-Windows-Treibern der Version 1.2 aktivieren.
-
WINDOWS
Benutzerdefinierte Windows Server-Boot-Images als Windows-Images taggen. -
MULTI_IP_SUBNET
Schnittstellen mit einer anderen Netzmaske als/32
konfigurieren. Weitere Informationen zu mehreren Netzwerkschnittstellen und ihrer Funktionsweise finden Sie unter Übersicht über mehrere Netzwerkschnittstellen und Beispiele. -
UEFI_COMPATIBLE
Booten mit UEFI-Firmware und den folgenden Shielded VM-Features:- Secure Boot: standardmäßig deaktiviert
- Virtual Trusted Platform Module (vTPM): standardmäßig aktiviert
- Integritätsmonitoring: standardmäßig aktiviert
-
GVNIC
Höhere Netzwerkbandbreiten von bis zu 50 Gbit/s bis 100 Gbit/s unterstützen. Weitere Informationen finden Sie unter Google Virtual NIC verwenden. -
IDPF
Unterstützung für IDPF-Netzwerkschnittstellen (Intel Infrastructure Data Path Function) -
SEV_CAPABLE
oderSEV_SNP_CAPABLE
. Verwenden Sie diese Tags, wenn Sie Ihr Image auf einer Confidential VM-Instanz mit AMD Secure Encrypted Virtualization (SEV) oder AMD Secure Encrypted Virtualization-Secure Nested Paging (SEV-SNP) verwenden möchten. Ob Ihr Kernel AMD SEV oder AMD SEV-SNP unterstützt, erfahren Sie unter Linux-Kernel – Details. -
SEV_LIVE_MIGRATABLE_V2
Verwenden Sie dieses Tag, wenn Sie Ihr Image auf einer Confidential VM-Instanz verwenden möchten, die die Live-Migration auf AMD SEV unterstützt. Informationen dazu, ob Ihr Kernel die Live-Migration unterstützt, finden Sie unter Linux-Kernel – Details. -
TDX_CAPABLE
Verwenden Sie dieses Tag, wenn Sie Ihr Image auf einer Confidential VM-Instanz mit Unterstützung für Intel Trust Domain Extensions (TDX) verwenden möchten. Ob Ihr Kernel Intel TDX unterstützt, erfahren Sie unter Linux-Kernel – Details. -
SUSPEND_RESUME_COMPATIBLE
Anhalten und Fortsetzen auf einer VM unterstützen. Weitere Informationen finden Sie unter Betriebssystemkompatibilität.
-
ARCHITECTURE_UNSPECIFIED
X86_64
ARM64
- Privates Image mit anderen Projekten gemeinsam nutzen
- Laufwerke, Images und VM-Instanzen importieren
- Image in Cloud Storage exportieren
- VM aus einem benutzerdefinierten Image starten
- Image-Version in einer Image-Familie festlegen
- Benutzerdefiniertes Image verwerfen
- Benutzerdefiniertes Image löschen
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.
Benutzerdefiniertes Image erstellen
In diesem Abschnitt wird beschrieben, wie Sie ein benutzerdefiniertes Image auf einer Linux-VM erstellen. Weitere Informationen zum Erstellen eines Windows-Images finden Sie unter Windows-Image erstellen.
Image-Speicherort auswählen
Beim Erstellen eines benutzerdefinierten Images können Sie dessen Speicherort in Cloud Storage angeben, sofern es sich nicht um Standorte mit zwei Regionen handelt. Die Angabe des Image-Speicherorts ermöglicht es Ihnen, geltende Vorschriften und Compliance-Anforderungen hinsichtlich der Datenlokalität einzuhalten. Außerdem können Sie Ihre hohen Verfügbarkeitsanforderungen erfüllen, da Sie für regionsübergreifende Redundanz sorgen. Zum Erstellen, Ändern und Löschen von in Cloud Storage gespeicherten Images benötigen Sie
roles/compute.storageAdmin
.Die Angabe des Speicherorts ist optional. Wenn Sie keinen Speicherort auswählen, speichert Compute Engine das Image in der Multiregion, die der Image-Quelle am nächsten liegt. Wenn Sie beispielsweise ein Image von einem Quelllaufwerk erstellen, das sich in
us-central1
befindet, und Sie keinen Speicherort für das benutzerdefinierte Image angeben, speichert Compute Engine das Image in der Multi-Regionus
.Wenn das Image in einer Region nicht verfügbar ist, in der Sie eine VM erstellen, speichert Compute Engine das Image in dieser Region beim ersten Erstellen einer VM im Cache.
Den Speicherort eines Images können Sie mit dem Befehl
images describe
vongcloud compute
abrufen:gcloud compute images describe IMAGE_NAME \ --project=PROJECT_ID
Dabei gilt:
Alle Images, die Sie vor der Einführung dieses Features erstellt haben, bleiben an ihrem bisherigen Speicherort. Der einzige Unterschied ist, dass Sie den Speicherort aller Images sehen können. Wenn Sie ein vorhandenes Image verschieben möchten, müssen Sie es am neuen Speicherort neu erstellen.
VM für ein Image vorbereiten
Sie können ein Image von einem Laufwerk erstellen, auch wenn es mit einer ausgeführten VM verknüpft ist. Das Image wird jedoch zuverlässiger, wenn Sie die VM in einen Zustand versetzen, den das Image leichter erfassen kann. In diesem Abschnitt wird beschrieben, wie Sie Ihr Bootlaufwerk für das Image vorbereiten.
Schreiben von Daten in den nichtflüchtigen Speicher minimieren
Verwenden Sie einen der folgenden Prozesse, um die Schreibvorgänge auf dem Laufwerk zu reduzieren:
Option zum automatischen Löschen des Laufwerks deaktivieren
Standardmäßig ist die Option zum automatischen Löschen auf den Bootlaufwerken aktiviert. Deaktivieren Sie vor dem Erstellen eines Images von einem Laufwerk die automatische Löschfunktion, damit das Laufwerk nicht automatisch gelöscht wird, wenn Sie die VM löschen.Verwenden Sie eine der folgenden Methoden, um das automatische Löschen für das Laufwerk zu deaktivieren.
Console
gcloud
Verwenden Sie in der Google Cloud CLI den Befehl
gcloud compute instances set-disk-auto-delete
, um die Option zum automatischen Löschen des Laufwerks zu deaktivieren.gcloud compute instances set-disk-auto-delete VM_NAME \ --no-auto-delete \ --disk=SOURCE_DISK
Dabei gilt:
Go
Go
Bevor Sie dieses Beispiel anwenden, folgen Sie den Schritten zur Einrichtung von Go in der Compute Engine-Kurzanleitung zur Verwendung von Clientbibliotheken. Weitere Informationen finden Sie in der Referenzdokumentation zur Compute Engine Go API.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Compute Engine zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Java
Java
Bevor Sie dieses Beispiel anwenden, folgen Sie den Schritten zur Einrichtung von Java in der Compute Engine-Kurzanleitung zur Verwendung von Clientbibliotheken. Weitere Informationen finden Sie in der Referenzdokumentation zur Compute Engine Java API.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Compute Engine zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Node.js
Node.js
Bevor Sie dieses Beispiel anwenden, folgen Sie den Schritten zur Einrichtung von Node.js in der Compute Engine-Kurzanleitung zur Verwendung von Clientbibliotheken. Weitere Informationen finden Sie in der Referenzdokumentation zur Compute Engine Node.js API.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Compute Engine zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Python
Python
Bevor Sie dieses Beispiel anwenden, folgen Sie den Schritten zur Einrichtung von Python in der Compute Engine-Kurzanleitung zur Verwendung von Clientbibliotheken. Weitere Informationen finden Sie in der Referenzdokumentation zur Compute Engine Python API.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Compute Engine zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
REST
Senden Sie eine
POST
-Anfrage an die Methodeinstances.setDiskAutoDelete
, um die Option zum automatischen Löschen eines Laufwerks festzulegen.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/setDiskAutoDelete?autoDelete=false&deviceName=SOURCE_DISK
Dabei gilt:
Nachdem die VM vorbereitet wurde, können Sie das Image erstellen.
Image erstellen
Sie können folgende Quellen verwenden, um Laufwerk-Images zu erstellen:Sie können alle 10 Minuten ein Laufwerk-Image erstellen. Wenn Sie mehrere Anfragen zum Erstellen eines Laufwerk-Images senden möchten, können Sie maximal 6 Anfragen innerhalb von 60 Minuten senden. Weitere Informationen finden Sie unter Limits für die Snapshot-Häufigkeit.
Console
gcloud
Verwenden Sie in der Google Cloud CLI den Befehl
gcloud compute images create
, um ein benutzerdefiniertes Image zu erstellen.Image von einem Quelllaufwerk erstellen:
Das Flag
--force
ist ein optionales Flag, mit dem Sie das Image von einer laufenden Instanz erstellen können. Standardmäßig können Sie keine Images von ausgeführten Instanzen erstellen. Geben Sie dieses Flag nur an, wenn Sie sicher sind, dass Sie das Image erstellen möchten, während die Instanz ausgeführt wird.gcloud compute images create IMAGE_NAME \ --source-disk=SOURCE_DISK \ --source-disk-zone=ZONE \ [--family=IMAGE_FAMILY] \ [--storage-location=LOCATION] \ [--force]
Dabei gilt:
Image von einem Quell-Image erstellen:
gcloud compute images create IMAGE_NAME \ --source-image=SOURCE_IMAGE \ [--source-image-project=IMAGE_PROJECT] \ [--family=IMAGE_FAMILY] \ [--storage-location=LOCATION]
Dabei gilt:
Image von einem Snapshot erstellen:
gcloud compute images create IMAGE_NAME \ --source-snapshot=SOURCE_SNAPSHOT \ [--storage-location=LOCATION]
Dabei gilt:
Image-Speicherort ansehen:
Mit dem Befehl
gcloud compute images describe
rufen Sie den Speicherort eines Images ab.gcloud compute images describe IMAGE_NAME
Ersetzen Sie
IMAGE_NAME
durch den Namen des Images, das Sie sich ansehen möchten.Go
Go
Bevor Sie dieses Beispiel anwenden, folgen Sie den Schritten zur Einrichtung von Go in der Compute Engine-Kurzanleitung zur Verwendung von Clientbibliotheken. Weitere Informationen finden Sie in der Referenzdokumentation zur Compute Engine Go API.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Compute Engine zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Java
Java
Bevor Sie dieses Beispiel anwenden, folgen Sie den Schritten zur Einrichtung von Java in der Compute Engine-Kurzanleitung zur Verwendung von Clientbibliotheken. Weitere Informationen finden Sie in der Referenzdokumentation zur Compute Engine Java API.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Compute Engine zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Python
Python
Bevor Sie dieses Beispiel anwenden, folgen Sie den Schritten zur Einrichtung von Python in der Compute Engine-Kurzanleitung zur Verwendung von Clientbibliotheken. Weitere Informationen finden Sie in der Referenzdokumentation zur Compute Engine Python API.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Compute Engine zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
REST
Stellen Sie eine
POST
-Anfrage an die Methodeimages().insert
. Fügen Sie in den Anfragetext eine URL ein, die auf das Quellobjekt verweist, aus dem Sie das Image erstellen möchten. Geben Sie URLs zu Ihren Ressourcen an und verwenden Sie dazu Ihre eigene Projekt-ID und Ihre Ressourcennamen.Image von einem nichtflüchtigen Speicher erstellen:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/images { "name": "IMAGE_NAME", "sourceDisk": "/zones/ZONE/disks/SOURCE_DISK", ("storageLocations": "LOCATION",) ("forceCreate": "TRUE") }
Dabei gilt:
Mit dem optionalen Parameter
forceCreate
können Sie das Image von einer laufenden VM erstellen. Geben Sie den WertTRUE
nur an, wenn Sie sicher sind, dass Sie das Image von einer ausgeführten VM erstellen möchten. Die Standardeinstellung vonforceCreate
istFALSE
.Ein Image von einem anderen Image erstellen:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/images { "name": "IMAGE_NAME", "sourceImage": "/global/images/SOURCE_IMAGE", ("storageLocations": "LOCATION") }
Dabei gilt:
Image von einem Snapshot erstellen:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/images { "name": "IMAGE_NAME", "sourceSnapshot": "(/SOURCE_PROJECT_ID)/global/snapshots/SOURCE_SNAPSHOT", ("storageLocations": "LOCATION") }
Dabei gilt:
Weitere Informationen zum Hinzufügen von Images finden Sie in der Image-Referenz.
Image freigeben
Nachdem Sie ein benutzerdefiniertes Image erstellt haben, können Sie es projektübergreifend freigeben. Wenn Sie Nutzern aus einem anderen Projekt die Verwendung Ihrer benutzerdefinierten Images erlauben, können sie auf diese Images zugreifen, indem sie in ihrer Anfrage das Image-Projekt angeben.
Gastbetriebssystem-Funktionen aktivieren
Verwenden Sie Gastbetriebssystem-Funktionen (OS), um die folgenden Netzwerk-, Sicherheits-, Speicher- und Betriebssystemoptionen für benutzerdefinierte Images zu konfigurieren. Benutzerdefinierte Images mit diesen konfigurierten Features werden als Bootlaufwerke verwendet.
gcloud
Verwenden Sie den Befehl
gcloud compute images create
mit dem Flag--guest-os-features
, um ein neues benutzerdefiniertes Image aus einem vorhandenen benutzerdefinierten Image zu erstellen.gcloud compute images create IMAGE_NAME \ --source-image=SOURCE_IMAGE \ [--source-image-project=IMAGE_PROJECT] \ --guest-os-features="FEATURES,..." \ [--storage-location=LOCATION]
Dabei gilt:
REST
Verwenden Sie die Methode
images().insert
mit dem FlagguestOsFeatures
, um ein neues benutzerdefiniertes Image aus einem vorhandenen benutzerdefinierten Image zu erstellen.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/images { "name": "IMAGE_NAME", "sourceImage": "(projects/IMAGE_PROJECT)/global/images/SOURCE_IMAGE", ("storageLocations": "LOCATION",) "guestOsFeatures": [ { "type": "FEATURES" } ] }
Dabei gilt:
Vertrauliche Informationen in UEFI-Variablen vermeiden
UEFI-Variablen (Unified Extensible Firmware Interface) sind Schlüssel/Wert-Paare, die von der UEFI-Firmware während des Bootens zum Starten des Betriebssystems einer VM verwendet werden. Im Gegensatz zu physischen Maschinen, auf denen die Variablen auf einem Hardwarechip gespeichert werden, virtualisiert die Compute Engine den Speicher dieser Variablen. Daher können in vielen Betriebssystemen alle Anwendungen und Nutzer auf diese Variablen zugreifen und auf diese Informationen zugreifen.
Aus diesem Grund empfiehlt Google dringend, keine vertraulichen oder personenidentifizierbaren Informationen wie Passwörter oder private Schlüssel in UEFI-Variablen zu schreiben oder zu speichern.
Überlegungen zu Arm-Images
Google bietet die Maschinenreihen C4A und Tau T2A an, die auf Arm-CPU-Plattformen ausgeführt werden. Sie können eine VM mit einer dieser Maschinenreihen starten und dann diese Quell-VM verwenden, um ein Arm-Image zu erstellen. Der Vorgang zum Erstellen eines benutzerdefinierten Arm-Images ist identisch mit dem Erstellen eines x86-Images.
Damit Ihre Nutzer zwischen Arm- und x86-Images unterscheiden können, ist für Arm-Images das Feld
architecture
aufARM64
festgelegt. Folgende Werte sind für dieses Feld möglich:Image-Nutzer können dann nach diesem Feld filtern, um x86- oder ARM-basierte Images zu finden.
Nächste Schritte
Sofern nicht anders angegeben, sind die Inhalte dieser Seite unter der Creative Commons Attribution 4.0 License und Codebeispiele unter der Apache 2.0 License lizenziert. Weitere Informationen finden Sie in den Websiterichtlinien von Google Developers. Java ist eine eingetragene Marke von Oracle und/oder seinen Partnern.
Zuletzt aktualisiert: 2024-12-22 (UTC).
-