Benutzerdefinierte Images erstellen, löschen und verwerfen


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. Dies ist 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 Instanzen 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.

Vorbereitung

Benutzerdefiniertes Image erstellen

Diese Anleitung beschreibt, wie ein benutzerdefiniertes Image auf einer Linux-Instanz erstellt wird. Weitere Informationen zum Erstellen eines Windows-Images finden Sie unter Windows-Image 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, speichert Compute Engine das Image in der Multiregion, die der Image-Quelle am nächsten liegt.

Den Speicherort eines Images können Sie mit dem Befehl images describe von gcloud compute abrufen:

gcloud compute images describe IMAGE_NAME \
    --project=PROJECT_ID

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 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 Ihre Instanz nicht beenden können, bevor Sie das Image erstellen, minimieren Sie die Anzahl der Schreibvorgänge auf das Laufwerk und synchronisieren Sie Ihr Dateisystem.

    1. Pausieren Sie alle Anwendungen oder Prozesse des Betriebssystems, die Daten in den nichtflüchtigen Speicher schreiben.
    2. 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.
    3. Beenden Sie das Schreiben von Daten auf den nichtflüchtigen Speicher durch Anwendungen.
    4. Führen Sie sudo sync aus.

Nachdem die Instanz vorbereitet wurde, können Sie das Image erstellen.

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 Cloud Storage

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

  1. Rufen Sie in der Google Cloud Console die Seite Image erstellen auf.

    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 Cloud Storage sein.

  4. Geben Sie den Speicherort an, an dem Ihr Image gespeichert werden soll. Wählen Sie Ihren Image-Speicherort aus der Drop-down-Liste Basierend auf dem Standort des Quelllaufwerks (Standard) aus. Geben Sie beispielsweise us an, um das Image in der Multiregion us zu speichern, oder us-central1, um es in der Region us-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.

  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

Im gcloud-Befehlszeilentool können Sie den Befehl gcloud compute images create verwenden, um ein benutzerdefiniertes Image zu erstellen.

Image von einem Quelllaufwerk erstellen:

gcloud 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 Image erstellen möchten.
  • ZONE ist die Zone, in der sich das Laufwerk befindet.
  • IMAGE_FAMILY (Optional): Ein Flag, das angibt, zu welcher Image-Familie dieses Image gehört.
  • LOCATION (Optional): Ein Flag, mit dem Sie die Region oder Multiregion festlegen können, in der Ihr Image gespeichert wird. Geben Sie beispielsweise us an, um das Image in der Multiregion us zu speichern, oder us-central1, um es in der Region us-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.

Das Flag --force ist ein optionales Flag, mit dem Sie das Image von einer ausgeführten 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.

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_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 beispielsweise us an, um das Image in der Multiregion 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 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 Image erstellen möchten.
  • LOCATION (Optional): Flag, mit dem Sie die Region oder Multiregion festlegen können, in der Ihr Image gespeichert wird. Geben Sie beispielsweise us an, um das Image in der Multiregion 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 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.

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.

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:

  • 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 beispielsweise us an, um das Image in der Multiregionus zu speichern, oder us-central1, um es in der Region us-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.

Mit dem optionalen Parameter forceCreate können Sie das Image von einer laufenden Instanz erstellen. Geben Sie den Wert TRUE nur an, wenn Sie sicher sind, dass Sie das Image von einer ausgeführten Instanz erstellen möchten. Die Standardeinstellung von forceCreate ist FALSE.

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:

  • 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 beispielsweise us an, um das Image in der Multiregion 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://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:

  • 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 beispielsweise us an, um das Image in der Multiregionus 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 Einfügen von Images finden Sie in der Image-Referenz.

Image verwerfen

Mit Compute Engine können Sie ein benutzerdefiniertes Image verwerfen, dessen Inhaber Sie sind. Hierzu legen Sie den Verwerfungsstatus 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. Zum Verwerfen eines Images können Sie die Google Cloud Console, das gcloud-Befehlszeilentool oder die Compute Engine API verwenden.

Verwerfungsstatus

Die folgenden Verwerfungsstatus werden unterstützt:

  • ACTIVE: Das Image ist aktiv und kann wie gewohnt verwendet werden. Image-Familien verweisen auf das neueste und aktive Image in einer Familie.
  • DEPRECATED: Das Image wird als verworfen gekennzeichnet, kann aber weiter verwendet werden. Wenn Sie ein verworfenes Image verwenden, wird die Anfrage mit einer Warnung erfolgreich ausgeführt. Neue Links auf dieses Image sind erlaubt. Image-Familien verweisen nicht mehr auf dieses Image, selbst wenn es das neueste Image der Familie ist.
  • OBSOLETE: Das Image wird als veraltet gekennzeichnet und steht nicht mehr zur Verfügung. Wenn Sie versuchen, dieses Image in einer Anfrage zu verwenden, erhalten Sie eine Fehlermeldung. Vorhandene Links zu diesem Image sind weiterhin zulässig.
  • DELETED: Dieses Image wurde gelöscht. Wenn Sie versuchen, ein gelöschtes Image zu verwenden, erhalten Sie eine Fehlermeldung.

Sie können eine Einstellung rückgängig machen (ein Image wieder aktivieren). Ändern Sie dazu den Verwerfungsstatus in ACTIVE.

Console

  1. Rufen Sie in der Google Cloud Console die Seite Images auf.

    Zur Seite „Images“

  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

Verwenden Sie den Befehl gcloud compute images deprecate, um den Einstellungsstatus eines Images festzulegen.

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

Dabei gilt:

  • IMAGE_NAME ist der Name des Images, das Sie verwerfen möchten.
  • STATE ist der Verwerfungsstatus.
  • REPLACEMENT ist das Image, mit dem das verworfene Image ersetzt werden soll.

API

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

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

{
  "state": "STATE",
  "replacement": "REPLACEMENT"
}

Dabei gilt:

  • PROJECT_ID ist das Projekt, zu dem das Image gehört.
  • RESOURCE_ID ist der Name des Images, das Sie verwerfen.
  • STATE ist der Verwerfungsstatus dieser Ressource.
  • 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. Zum Löschen des Images können Sie die Google Cloud Console, das gcloud-Befehlszeilentool oder die Compute Engine API verwenden.

Console

  1. Rufen Sie in der Google Cloud Console die Seite Images auf.

    Zur Seite „Images“

  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 löschen Sie ein Image:

gcloud compute images delete IMAGE_NAME

Ersetzen Sie IMAGE_NAME durch den Namen des Images, das gelöscht werden soll.

API

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

POST https://compute.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 Versionsverwaltung von Images zu vereinfachen. Wenn Sie ein Image zu einer Image-Familie hinzufügen, wird dieses als neueste Imageversion festgelegt. Wenn Sie feststellen, dass Sie die Image-Familie auf eine frühere Imageversion zurücksetzen müssen, verwerfen Sie das neueste Image in der Familie.

Best Practices für die Arbeit mit Image-Familien finden Sie unter Best Practices für Image-Familien.

Optional können Sie den Image-Speicherort über die Google Cloud Console, den gcloud compute images create-Befehl mit dem Flag --storage-location oder die images().insert-Methode angeben.

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

Console

  1. Rufen Sie in der Google Cloud Console die Seite Image erstellen auf.

    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 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 Image-Speicherort aus. Geben Sie beispielsweise us an, um das Image in der Multiregion 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 den Image-Familiennamen my-image-family für Ihr Image angeben, um dieses Image als Teil einer Image-Familie zu organisieren.

  6. Wenn Sie ein Image von einem Laufwerk erstellen, das mit einem ausgeführten Image verknüpft ist, aktivieren Sie 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://compute.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 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 compute images describe-from-family my-image-family

family: my-image-family
id: '8904691942610171306'
kind: compute#image
name: image-v2
selfLink: https://compute.googleapis.com/compute/v1/projects/my-project/global/images/image-v2
sourceDisk: https://compute.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://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/images/family

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

}

Wenn Sie feststellen, dass Sie ein Rollback der Image-Familie ausführen müssen, sodass sie nicht mehr auf image-v2 verweist, verwerfen Sie image-v2 und die Familie verweist wieder auf image-v1.

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

Prüfen Sie, ob die Image-Familie auch wirklich auf image-v1 verweist.

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

family: my-image-family
id: '2741732787056801255'
kind: compute#image
name: image-v1
selfLink: https://compute.googleapis.com/compute/v1/projects/my-project/global/images/image-v1
sourceDisk: https://compute.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

Mit den Funktionen des Gastbetriebssystems können Sie die folgenden Netzwerk-, Sicherheits-, Speicher- und Betriebssystemoptionen für benutzerdefinierte Images konfigurieren, die auch als Bootlaufwerke verwendet werden:

  • Multi-IP-Subnetze: Zum Konfigurieren von Schnittstellen mit einer anderen Netzmaske als /32.
  • UEFI-Kompatibilität: Zum Booten mit UEFI-Firmware und den folgenden Shielded VM-Features:
  • Multi-Queue-SCSI auf lokalen SSD-Geräten als Alternative zu NVMe:
    • 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 Treiberversionen ab 1.2.0.1621 aktivieren.
  • Windows-Unterstützung: Sie müssen benutzerdefinierte Windows Server-Boot-Images als Windows-Images kennzeichnen.

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:

  • IMAGE_NAME ist der Name für das neue Image.
  • SOURCE_IMAGE ist ein Image, auf dem das neue Image basieren soll.
  • IMAGE_PROJECT: (Optional) Das Projekt, das das Quell-Image enthält. Verwenden Sie diesen Parameter, um ein Image aus einem anderen Projekt zu kopieren.
  • FEATURES: Durch Kommas getrennte IDs der Features des Gastbetriebssystems, die für das Image aktiviert werden sollen. Legen Sie einen oder mehrere der folgenden Werte fest:
    • MULTI_IP_SUBNET
    • UEFI_COMPATIBLE
    • VIRTIO_SCSI_MULTIQUEUE
    • WINDOWS
  • LOCATION (Optional): Region oder Multiregion, in der das Image gespeichert werden soll. Geben Sie beispielsweise us an, um das Image in der Multiregion us zu speichern, oder us-central1, um es in der Region us-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.

API

Verwenden Sie die Methode images().insert mit dem Flag guestOsFeatures, 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:

  • PROJECT_ID ist die ID des Projekts, in dem das neue Image erstellt werden soll.
  • IMAGE_NAME ist ein Name für das neue Image.
  • IMAGE_PROJECT: (Optional) Das Projekt, das das Quell-Image enthält. Verwenden Sie diesen Parameter, um ein Image aus einem anderen Projekt zu kopieren.
  • SOURCE_IMAGE: Das Image, auf dem das neue Image basieren soll.
  • LOCATION (Optional): Region oder Multiregion, in der das Image gespeichert werden soll. Geben Sie beispielsweise us an, um das Image in der Multiregion us zu speichern, oder us-central1, um es in der Region us-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: Durch Kommas getrennte IDs der Features des Gastbetriebssystems, die für das Image aktiviert werden sollen. Legen Sie einen oder mehrere der folgenden Werte fest:
    • MULTI_IP_SUBNET
    • UEFI_COMPATIBLE
    • VIRTIO_SCSI_MULTIQUEUE
    • WINDOWS

Weitere Informationen