Benutzerdefinierte Images erstellen, löschen und verwerfen

Sie haben die Möglichkeit, benutzerdefinierte Images von Quelllaufwerken, Images, Snapshots oder von in Cloud Storage gespeicherten Images zu erstellen. Diese Images können Sie als Basis für neue VM-Instanzen verwenden. Dies ist optimal, wenn Sie einen nichtflüchtigen Bootspeicher oder ein bestimmtes Image erstellt und an einen bestimmten Zustand angepasst haben und diesen Zustand für die Erstellung neuer Instanzen speichern möchten.

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

Ein kundenspezifisches Image erstellen

Diese Anleitung beschreibt, wie ein kundenspezifisches Image auf einer Linux-Instanz erstellt wird. Eine Anleitung zur Erstellung eines Windows-Images finden Sie unter Windows-Images erstellen.

Sie benötigen IAM-Berechtigungen (Identity and Access Management), um Images für andere Projekte freigeben zu können.

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 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.

Die Angabe des Speicherorts ist optional. Wenn Sie keinen Speicherort auswählen, wird das Image von Compute Engine in der Region gespeichert, die der Image-Quelle am nächsten liegt.

Alle Images, die Sie vor der Einführung dieses Features erstellt haben, bleiben an ihrem bisherigen Speicherort. Die einzige Änderung besteht darin, dass Sie jetzt den Image-Speicherort aller Ihrer Bilder einsehen können. Wenn Sie ein vorhandenes Image verschieben möchten, müssen Sie es am gewünschten Speicherort neu erstellen.

Instanz für ein Image vorbereiten

Sie können ein Image von einem Laufwerk erstellen, auch wenn es mit einer ausgeführten VM-Instanz verknüpft ist. Das Image wird jedoch zuverlässiger, wenn Sie die Instanz in einen Zustand versetzen, den das Image leichter erfassen kann. Mit einem der folgenden Prozesse bereiten Sie Ihr Bootlaufwerk für das Image vor:

  • Beenden Sie die Instanz, sodass sie herunterfahren und das Schreiben von Daten auf den nichtflüchtigen Speicher beenden kann.

  • Wenn Sie die Instanz vor dem Erstellen des Image nicht beenden können, sollten Sie die Anzahl der Schreibvorgänge auf dem Laufwerk minimieren und das Dateisystem synchronisieren.

    1. Halten Sie Anwendungen oder Prozesse des Betriebssystems an, die Daten auf den nichtflüchtigen Speicher schreiben.
    2. Leeren Sie die Anwendungsdaten auf das Laufwerk, falls erforderlich. MySQL enthält zum Beispiel die Anweisung FLUSH. Andere Anwendungen verfügen möglicherweise über ähnliche Prozesse.
    3. Beenden Sie das Schreiben von Daten auf den nichtflüchtigen Speicher durch Anwendungen.
    4. Führen Sie sudo sync aus.

Wenn die Instanz vorbereitet wurde, erstellen Sie das Image.

Image erstellen

Sie können folgende Quellen verwenden, um Laufwerk-Images zu erstellen:

  • einen nichtflüchtigen Speicher, auch wenn dieser mit einer Instanz verknüpft 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 Google Cloud Storage

Konsole

  1. Gehen Sie in der Google Cloud Platform Console auf die Seite "Image erstellen".
    Zur Seite "Image erstellen"
  2. Geben Sie im Feld Name den Image-Namen an.
  3. 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 Google Cloud Storage sein.
  4. Geben Sie den Speicherort an, an dem das Image gespeichert werden soll. Wählen Sie im Drop-down-Menü Basierend auf dem Standort des Quelllaufwerks (Standard) den Speicherort für das Image aus. Geben Sie beispielsweise us an, um das Image am multiregionalen Standort  us zu speichern, oder us-central1, um es in der Region us-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.
  5. Legen Sie die gewünschten Attribute des Images fest. Sie können zum Beispiel einen Image-Familiennamen für ihr Image angeben, um dieses Image als Teil einer Image-Familie zu organisieren.
  6. Klicken Sie auf Erstellen, um das Image zu erstellen.

gcloud

Mit dem Befehl gcloud compute beta images create können Sie ein benutzerdefiniertes Image erstellen. Das Tag beta ist für das optionale Flag --storage-location erforderlich.

Ein Image von einem anderen Image erstellen:

gcloud beta compute images create [IMAGE_NAME] \
  --source-disk [SOURCE_DISK] \
  --source-disk-zone [ZONE] \
  --family [IMAGE_FAMILY] \
  --storage-location [LOCATION] \
  --force

Dabei gilt:

  • [IMAGE_NAME] ist ein Name für das neue Image.
  • [SOURCE_DISK] ist das Laufwerk, von dem Sie das neue Image erstellen möchten.
  • [ZONE] ist die Zone, in der sich das Laufwerk befindet.
  • [IMAGE_FAMILY] ist ein optionales Flag, das angibt, zu welcher Image-Familie dieses Image gehört.
  • [LOCATION] ist ein optionales Flag, mit dem Sie die Region oder den multiregionalen Standort zum Speichern des Images festlegen können. Geben Sie beispielsweise us an, um das Image am multiregionalen Standort  us zu speichern, oder us-central1, um es in der Region us-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.
  • [--force] ist ein optionales Flag, das Ihnen die Erstellung des Images von einer ausgeführten Instanz ermöglicht. 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.

Ein Image von einem anderen Image erstellen:

gcloud beta compute images create [IMAGE_NAME] \
  --source-image [SOURCE_IMAGE] \
  --source-image-project [IMAGE_PROJECT] \
  --family [IMAGE_FAMILY] \
  --storage-location [LOCATION]

Dabei gilt:

  • [IMAGE_NAME] ist ein Name für das neue Image.
  • [SOURCE_IMAGE] ist das Image, aus dem Sie das neue Image erstellen möchten.
  • [IMAGE_PROJECT] ist ein optionaler Parameter, der angibt, in welchem Projekt sich das Quell-Image befindet. Verwenden Sie diesen Parameter, wenn Sie ein Image aus einem anderen Projekt kopieren möchten.
  • [IMAGE_FAMILY] ist ein optionales Flag, das angibt, zu welcher Image-Familie dieses neue Image gehört.
  • [LOCATION] ist ein optionales Flag, mit dem Sie die Region oder den multiregionalen Standort zum Speichern des Images festlegen können. Geben Sie beispielsweise us an, um das Image am multiregionalen Standort  us zu speichern, oder us-central1, um es in der Region us-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.

Image von einem Snapshot erstellen:

gcloud beta compute images create [IMAGE_NAME] \
  --source-snapshot [SOURCE_SNAPSHOT] \
  --storage-location [LOCATION]

Dabei gilt:

  • [IMAGE_NAME] ist ein Name für das neue Image.
  • [SOURCE_SNAPSHOT] ist der Snapshot, von dem Sie das neue Image erstellen möchten.
  • [LOCATION] ist ein optionales Flag, mit dem Sie die Region oder den multiregionalen Standort zum Speichern des Images festlegen können. Geben Sie beispielsweise us an, um das Image am multiregionalen Standort  us zu speichern, oder us-central1, um es in der Region us-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.

Image-Speicherort einsehen:

Mit dem Befehl gcloud beta compute images describe können Sie den Image-Speicherort einsehen. Das Tag beta ist erforderlich, um den Speicherort des Images zu sehen.

gcloud beta compute images describe [IMAGE_NAME]

Dabei ist [IMAGE_NAME] der Name des Images, das Sie beschreiben möchten.

API

Stellen Sie eine POST-Anfrage an die Methode images().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. Mit der beta-Version dieser Methode können Sie den Parameter storageLocations angeben.

Image von einem nichtflüchtigen Speicher erstellen:

POST https://www.googleapis.com/compute/beta/projects/[PROJECT_ID]/global/images

{
  "name": "[IMAGE_NAME]",
  "sourceDisk": "/zones/[ZONE]/disks/[SOURCE_DISK]",
  "storageLocations": "[LOCATION]",
  "forceCreate": "[FORCE_CREATE]"
}

Dabei gilt:

  • [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] ist ein optionaler Parameter, mit dem Sie den Speicherort des Images auswählen können. Geben Sie beispielsweise us an, um das Image am multiregionalen Standort  us zu speichern, oder us-central1, um es in der Region us-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.
  • [FORCE_CREATE] ist ein optionaler Parameter, der Ihnen ermöglicht, das Image von einer ausgeführten Instanz zu erstellen. Geben Sie den Wert TRUE nur an, wenn Sie sicher sind, dass Sie das Image von einer ausgeführten Instanz erstellen möchten. Wenn Sie diesen Parameter nicht angeben, lautet der Standardwert FALSE.

Ein Image von einem anderen Image erstellen:

POST https://www.googleapis.com/compute/beta/projects/[PROJECT_ID]/global/images

{
  "name": "[IMAGE_NAME]",
  "sourceImage": "/global/images/[SOURCE_IMAGE]",
  "storageLocations": "[LOCATION]"
}

Dabei gilt:

  • [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] ist ein optionaler Parameter, mit dem Sie den Speicherort des Images auswählen können. Geben Sie beispielsweise us an, um das Image am multiregionalen Standort  us zu speichern, oder us-central1, um es in der Region us-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.

Image von einem Snapshot erstellen:

POST https://www.googleapis.com/compute/beta/projects/[PROJECT_ID]/global/images

{
  "name": "[IMAGE_NAME]",
  "sourceSnapshot": "/[SOURCE_PROJECT_ID]/global/snapshots/[SOURCE_SNAPSHOT]",
  "storageLocations": "[LOCATION]"
}

Dabei gilt:

  • [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_SNAPSHOT] ist der Snapshot, von dem Sie das Image erstellen möchten.
  • [SOURCE_PROJECT_ID] ist eine optionale Variable, die angibt, in welchem Projekt sich der Snapshot befindet. Sie benötigen die Zugriffsberechtigung für die Snapshot-Ressource in diesem Projekt.
  • [LOCATION] ist ein optionaler Parameter, mit dem Sie den Speicherort des Images auswählen können. Geben Sie beispielsweise us an, um das Image am multiregionalen Standort  us zu speichern, oder us-central1, um es in der Region us-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.

Weitere Informationen zum Hinzufügen von Images finden Sie in der Image-Referenz.

Images verwerfen

Mit der Google Compute Engine können Sie ein kundenspezifisches Image verwerfen, dessen Inhaber Sie sind. Hierzu legen Sie den Einstellungsstatus des Images fest. Jeder Einstellungsstatus führt zu einer anderen Antwort des Servers. Dies hilft Ihnen dabei, Nutzer auf organisierte Art und Weise von nicht mehr unterstützten Images wegzuführen. Wenn Sie ein Image verwerfen möchten, haben Sie über die Konsole, das gcloud-Befehlszeilentool oder die Compute Engine API die Möglichkeit dazu.

Konsole

  1. Gehen Sie in der Google Cloud Platform Console auf die Seite "Image erstellen".
    Zur Seite "Image erstellen"
  2. Klicken Sie das Kästchen links neben dem Image an, das Sie verwerfen möchten.
  3. Klicken Sie oben auf der Seite auf Verwerfen. Das Image wird verworfen.

gcloud

Mit dem Befehl gcloud compute images deprecate können Sie ein Image verwerfen.

gcloud compute images deprecate [IMAGE_NAME] \
    --state [STATE] \
    --replacement [REPLACEMENT]

Dabei ist [IMAGE_NAME] der Name des Images, das verworfen werden soll.

Beim Verwerfen ist einer der folgenden Einstellungsstatus möglich:

  • DEPRECATED – Dieses Image wird als verworfen betrachtet. Wenn Nutzer versuchen, dieses Image zu verwenden, ist die Anfrage erfolgreich, aber Google Compute Engine gibt eine Warnung zurück. Neue Links auf dieses Image sind weiterhin erlaubt. Image-Familien verweisen nicht mehr auf dieses Image, selbst wenn es das neueste Image einer Familie ist.
  • OBSOLETE – Dieses Image ist veraltet und neue Nutzer können es nicht verwenden. Google Compute Engine gibt einen Fehler zurück, wenn Nutzer versuchen, dieses Image in ihren Anfragen zu verwenden. Vorhandene Links zu diesem Image sind weiterhin zulässig.
  • DELETED – Dieses Image wurde gelöscht, die Nutzer können es nicht verwenden. Google Compute Engine gibt einen Fehler zurück, wenn Nutzer versuchen, dieses Image zu verwenden.

API

Senden Sie eine POST-Anfrage an die Methode images().deprecate. Geben Sie den Namen des Images an, das Sie verwerfen möchten.

POST https://www.googleapis.com/compute/v1/projects/[PROJECT_ID]/global/images/[RESOURCE_ID]/deprecate

{
  "deprecated": "[IMAGE_NAME]",
  "replacement": "[REPLACEMENT]"
}

Dabei gilt:

  • [PROJECT_ID] ist das Projekt, zu dem das Image gehört.
  • [IMAGE_NAME] ist das zu verwerfende Image.
  • [REPLACEMENT] ist das Image, mit dem das verworfene Image ersetzt werden soll.

Images löschen

Sie können nur benutzerdefinierte Images löschen, die von Ihnen oder einem Nutzer mit Zugriff auf das Projekt hinzugefügt wurden. Verwenden Sie zum Löschen des Images die Konsole, das gcloud-Befehlszeilentool oder die Compute Engine API.

Konsole

  1. Gehen Sie in der Google Cloud Platform Console auf die Seite "Image erstellen".
    Zur Seite "Image erstellen"
  2. Klicken Sie das Kästchen links neben dem Image an, das Sie löschen möchten.
  3. Klicken Sie oben auf der Seite auf Löschen. Das Image wird gelöscht.

gcloud

Mit dem Befehl gcloud compute images delete können Sie ein Image löschen.

gcloud compute images delete [IMAGE_NAME]

Dabei ist [IMAGE_NAME] der Name des zu löschenden Images.

API

Senden Sie eine POST-Anfrage an die Methode images().delete. Geben Sie den Namen des Images an, das Sie löschen möchten.

POST https://www.googleapis.com/compute/v1/projects/[PROJECT_ID]/global/images/[RESOURCE_ID]

Dabei gilt:

  • [PROJECT_ID] ist das Projekt, zu dem das Image gehört.
  • [RESOURCE_ID] ist der Name des Images, das Sie löschen möchten.

Image-Versionen in einer Image-Familie festlegen

Nutzen Sie Image-Familien, um die Versionierung von Images zu vereinfachen. Wenn Sie ein Image zu einer Image-Familie hinzufügen, wird dieses als neueste Image-Version festgelegt. Wenn Sie feststellen, dass Sie die Image-Familie auf eine frühere Image-Version zurücksetzen müssen, verwerfen Sie das neueste Image in der Familie.

Optional können Sie den Image-Speicherort über die Konsole, den Befehl gcloud beta compute images create mit dem Flag --storageLocation oder die API-Methode betaimages().insert angeben.

Erstellen Sie z. B. ein Image mit dem Namen image-v1 als Teil einer Image-Familie.

Konsole

  1. Gehen Sie in der Google Cloud Platform Console auf die Seite "Image erstellen".
    Zur Seite "Image erstellen"
  2. Geben Sie im Feld Name den Image-Namen an.
  3. 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 Google Cloud Storage sein.
  4. Geben Sie den Speicherort an, an dem das Image gespeichert werden soll. Wählen Sie im Drop-down-Menü Basierend auf dem Standort des Quelllaufwerks (Standard) den Speicherort für das Image aus. Geben Sie beispielsweise us an, um das Image am multiregionalen Standort  us zu speichern, oder us-central1, um es in der Region us-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.

  5. Legen Sie die gewünschten Attribute des Images fest. Sie können beispielsweise den Namen der Image-Familie my-image-family für das Image angeben, um es in einer Image-Familie zu organisieren.

  6. Wenn Sie ein Image von einem Laufwerk erstellen, das mit einem ausgeführten Image verknüpft ist, klicken Sie auf die Option "Erstellung von ausgeführter Instanz erzwingen". Damit bestätigen Sie, dass Sie das Image erstellen möchten, während die Instanz ausgeführt wird.

  7. Klicken Sie auf Erstellen, um das Image zu erstellen.

gcloud

gcloud compute images create image-v1 \
    --source-disk disk-1 \
    --source-disk-zone us-central1-f \
    --family my-image-family \

Die Image-Familie verweist auf image-v1. Fügen Sie der Familie ein zweites Image hinzu:

gcloud compute images create image-v2 \
    --source-disk disk-2 \
    --source-disk-zone us-central1-f \
    --family my-image-family \

API

Stellen Sie eine POST-Anfrage an die Methode images().insert. Geben Sie im Anfragetext die Image-Familie an.

POST https://www.googleapis.com/compute/v1/projects/[PROJECT_ID]/global/images

{
  "name": "image-v2",
  "sourceDisk": "/zones/us-central1-f/disks/disk-2",
  "family":"my-image-family",

}

Die Image-Familie verweist jetzt auf image-v2, weil dies das neueste Image ist, das Sie der Familie hinzugefügt haben.

gcloud

Mit dem Befehl gcloud compute images describe-from-family können Sie sehen, auf welches Image eine Familie verweist.

Beispiel:

gcloud beta compute images describe-from-family my-image-family

family: my-image-family
id: '8904691942610171306'
kind: compute#image
name: image-v2
selfLink: https://www.googleapis.com/compute/v1/projects/my-project/global/images/image-v2
sourceDisk: https://www.googleapis.com/compute/v1/projects/my-project/zones/us-central1-f/disks/disk-v2
sourceDiskId: '1677449456001963379'
sourceType: RAW
status: READY

API

Stellen Sie eine GET-Anfrage an die Methode images().getFromFamily. Geben Sie im Anfragetext die Image-Familie an.

GET https://www.googleapis.com/compute/v1/projects/[PROJECT_ID]/global/images/family

{
  "resourceId":"my-image-family",

}

Wenn Sie feststellen, dass Sie die Image-Familie auf eine frühere Image-Version zurücksetzen müssen, sodass sie nicht mehr auf image-v2 verweist, verwerfen Sie image-v2, dann verweist die Familie wieder auf image-v1.

gcloud compute images deprecate image-v2 \
    --state DEPRECATED \
    --replacement image-v1

Achten Sie darauf, dass die Image-Familie auch hier auf image-v1 verweist.

gcloud beta compute images describe-from-family my-image-family

family: my-image-family
id: '2741732787056801255'
kind: compute#image
name: image-v1
selfLink: https://www.googleapis.com/compute/v1/projects/my-project/global/images/image-v1
sourceDisk: https://www.googleapis.com/compute/v1/projects/my-project/zones/us-central1-f/disks/disk-v1
sourceDiskId: '1677449456001963379'
sourceType: RAW
status: READY

Gastbetriebssystem-Funktionen auf benutzerdefinierten Images aktivieren

Bei der Erstellung eines benutzerdefinierten Images können Sie den Parameter guestOsFeatures konfigurieren. Mit diesem Parameter werden eine oder mehrere Funktionen für VM-Instanzen aktiviert, die das Image für ihre Bootlaufwerke nutzen. Folgende Funktionen sind verfügbar:

  • MULTI_IP_SUBNET: Zur Konfiguration von Schnittstellen mit einer Netzmaske, die sich von /32 unterscheidet.
  • SECURE_BOOT: Ermöglicht das Aktivieren des sicheren UEFI-Startvorgangs. Dadurch wird das Starten nicht signierter Software oder das Laden nicht signierter Treiber auf der VM-Instanz eingeschränkt. Nachdem Sie diesen Parameter festgelegt haben, können Sie die sichere Startfunktion während der Erstellung der VM-Instanz aktivieren.
  • UEFI_COMPATIBLE: Aktiviert den UEFI-Start, eine alternative Systemstartmethode. Die meisten öffentlichen Images verwenden den Bootloader GRUB als primäre Startmethode.
  • VIRTIO_SCSI_MULTIQUEUE: Aktiviert Multi-Queue-SCSI-Funktionen für lokale SSD-Geräte. Diese Option ist eine Alternative zu NVMe.
    • Für Linux-Images können Sie VIRTIO_SCSI_MULTIQUEUE auf Images mit Kernel-Versionen ab 3.17 aktivieren.
    • Für Windows-Images können Sie VIRTIO_SCSI_MULTIQUEUE bei Images mit Treiberversionen ab 1.2.0.1621 aktivieren.
  • WINDOWS: Erforderlich für Windows Server-Images. Neuere öffentliche Images für Windows Server enthalten den Parameter WINDOWS zur Identifizierung als Windows-Image.

Sie können das gcloud-Befehlszeilentool oder die API verwenden, um Gastbetriebssystem-Funktionen auf benutzerdefinierten Images zu aktivieren.

gcloud

Mit dem Befehl gcloud compute images create können Sie aus einem vorhandenen benutzerdefinierten Image ein neues benutzerdefiniertes Image erstellen. Gleichzeitig haben Sie die Möglichkeit, das Flag --guest-os-features einzubeziehen. Mit dem Befehl gcloud compute beta images create schließen das optionale Flag --storage-location ein.

gcloud beta compute images create [IMAGE_NAME] \
  --source-image [SOURCE_IMAGE] \
  --source-image-project [IMAGE_PROJECT] \
  --guest-os-features="[FEATURE_ID],..." \
  --storage-location [LOCATION]

Dabei gilt:

  • [IMAGE_NAME] ist ein Name für das neue Image, das Sie erstellen möchten.
  • [SOURCE_IMAGE] ist das Image, aus dem Sie das neue Image erstellen möchten.
  • [IMAGE_PROJECT] ist ein optionaler Parameter, der angibt, in welchem Projekt sich das Quell-Image befindet. Verwenden Sie diesen Parameter, wenn Sie ein Image aus einem anderen Projekt kopieren möchten.
  • [FEATURE_ID] ist eine ID für eine der verfügbaren Gastbetriebssystem-Funktionen. Sie können mehrere Funktionen als eine durch Kommas getrennte Liste angeben.
  • [LOCATION] ist ein optionales Flag, mit dem Sie die Region oder den multiregionalen Standort zum Speichern des Images festlegen können. Geben Sie beispielsweise us an, um das Image am multiregionalen Standort  us zu speichern, oder us-central1, um es in der Region us-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.

API

Stellen Sie eine POST-Anfrage an die Methode images().insert. Fügen Sie in den Anfragetext eine URL ein, die auf das Quellobjekt verweist, aus dem Sie das Image erstellen möchten. Ersetzen Sie das Projekt und die Zone durch Ihre eigene Projekt-ID und die Zone des nichtflüchtigen Speichers. Verwenden Sie für diese Anfrage die API-Methode beta, um den Parameter storageLocations zu sehen.

Image von einem nichtflüchtigen Speicher erstellen:

POST https://www.googleapis.com/compute/beta/projects/[PROJECT_ID]/global/images

{
 "name": "[IMAGE_NAME]",
 "sourceImage": "projects/[IMAGE_PROJECT]/global/images/[SOURCE_IMAGE]",
 "storageLocations": "[LOCATION]",
 "guestOsFeatures": [
  {
   "type": "[FEATURE_ID]"
  }
 ]
}

Dabei gilt:

  • [IMAGE_NAME] ist ein Name für das neue Image, das Sie erstellen möchten.
  • [SOURCE_IMAGE] ist das Image, aus dem Sie das neue Image erstellen möchten.
  • [IMAGE_PROJECT] ist ein Parameter, der angibt, in welchem Projekt sich das Quell-Image befindet.
  • [LOCATION] ist ein optionaler Parameter, mit dem Sie den Speicherort des Images auswählen können. Geben Sie beispielsweise us an, um das Image am multiregionalen Standort  us zu speichern, oder us-central1, um es in der Region us-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.
  • [FEATURE_ID] ist eine ID für eine der verfügbaren Gastbetriebssystem-Funktionen. Sie können mehrere Funktionen als eine durch Kommas getrennte Liste angeben.

Weitere Informationen zum Hinzufügen von Images finden Sie in der Image-Referenz.

Weitere Informationen

Hat Ihnen diese Seite weitergeholfen? Teilen Sie uns Ihr Feedback mit:

Feedback geben zu...

Compute Engine-Dokumentation