Ein Maschinen-Image dient Ihnen dazu, alle Konfigurationen, Metadaten, Berechtigungen und Daten von einem oder mehreren Laufwerken für eine auf Compute Engine ausgeführte VM-Instanz zu speichern. Informationen dazu, wann und wie Maschinen-Images verwendet werden, finden Sie unter Maschinen-Images.
In diesem Dokument werden die Schritte zum Importieren eines Maschinen-Images von einer virtuellen Appliance beschrieben.
Hinweise
- Wenn für das Projekt, in das Sie das Maschinen-Image importieren möchten, eine Trusted Image-Richtlinie definiert ist, fügen Sie
projects/compute-image-import
undprojects/compute-image-tools
zur Liste der zulässigen Publisher hinzu. - Wenn Sie eine virtuelle Appliance aus einem anderen Projekt importieren, finden Sie weitere Informationen unter Projektübergreifend importieren.
- Prüfen Sie die Anforderungen an Quell-VM und OVF-Dateien im Leitfaden der Compute Engine-Importanleitung für virtuelle Appliances.
- Informationen zu den Anforderungen für das Importieren von Machine-Images finden Sie unter Voraussetzungen für den Import und Export von VM-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 so bei Compute Engine authentifizieren.
Select the tab for how you plan to use the samples on this page:
gcloud
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
- Sie können ein Maschinen-Image projektübergreifend freigeben. Freigegebene VPC-Netzwerke werden jedoch nicht unterstützt.
- Dieses Feature wird nicht für Projekte unterstützt, die durch VPC Service Controls geschützt werden.
- Maschinen-Images können nicht aus Quell-VMs erstellt werden, an die mehr als 200 TB Laufwerke angehängt sind.
MACHINE_IMAGE_NAME
ist der Name des Maschinen-Images, das Sie importieren möchten.SOURCE_URI
ist der Pfad zu Ihrer OVA- oder OVF-Datei in Cloud Storage.OS
ist das Betriebssystem der OVA-Datei. Dieses Flag ist standardmäßig optional, kann aber in einigen Fällen erforderlich sein. Wir empfehlen, dieses Flag anzugeben.Laden Sie die virtuelle Appliance in Cloud Storage hoch.
Senden Sie eine
POST
-Anfrage an die Cloud Build API.POST https://cloudbuild.googleapis.com/v1/projects/PROJECT_ID/builds { "timeout": "7200s", "steps":[ { "args":[ "-machine-image-name=MACHINE_IMAGE_NAME", "-ovf-gcs-path=SOURCE_URI", "-os=OS", "-client-id=api", "-timeout=7000s" ], "name":"gcr.io/compute-image-tools/gce_ovf_import:release", "env":[ "BUILD_ID=$BUILD_ID" ] } ], "tags":"gce-ovf-machine-image-import" }
Dabei gilt:
PROJECT_ID
ist die Projekt-ID des Projekts, in das Sie die OVA-Datei importieren möchten.MACHINE_IMAGE_NAME
ist der Name des zu importierenden Maschinen-Images. Beispiel:my-machine-image
SOURCE_URI
ist der URI der OVA-Datei oder eines Verzeichnisses mit OVF-Paketen in Cloud Storage. Beispiel:gs://my-bucket/my-instance.ova
OS
ist das Betriebssystem der OVA-Datei. Beispiel:ubuntu-1604
Dieses Flag ist standardmäßig optional, kann aber in einigen Fällen erforderlich sein. Wir empfehlen, dieses Flag anzugeben.
Weitere
args
-Werte, die Sie angeben können, finden Sie im Bereich zu optionalen Flags auf der GitHub-Seite für den Compute Engine-OVF-Import.- Betriebssystem:
Ubuntu 1404
- CPU:
2 CPUs
- Arbeitsspeicher:
2048 MB
- Betriebssystem:
Ubuntu 1404
- CPU:
2 CPUs
- Arbeitsspeicher:
2048 MB
- Betriebssystem:
Ubuntu 1404
- Netzwerk:
custom-vpc-network
- Subnetz:
company-vpc-us-east1-c
- Zone:
us-east1-c
- Betriebssystem:
Ubuntu 1404
- Netzwerk:
custom-vpc-network
- Subnetz:
company-vpc-us-east1-c
- Zone:
us-central1-c
Fügen Sie die virtuelle Appliance zu Cloud Storage hinzu.
Für den Import müssen Paketmanager auf dem Betriebssystem des Maschinen-Images installiert sein. Diese Paketmanager müssen möglicherweise Anfragen an Paket-Repositories außerhalb von Google Cloud stellen. Damit der Zugriff auf diese Updates möglich ist, müssen Sie Cloud NAT konfigurieren. Weitere Informationen finden Sie unter NAT-Konfiguration mit Cloud Router erstellen.
Konfigurieren Sie den privaten Google-Zugriff. Weitere Informationen finden Sie unter Privaten Google-Zugriff konfigurieren.
Importieren Sie das Maschinen-Image entweder mit der Google Cloud CLI oder der Cloud Build API.
Wenn Sie ein Maschinen-Image von einer virtuellen Appliance importieren, werden in Ihrem Projekt temporäre VMs erstellt. Damit diesen temporären VMs keine externen IP-Adressen zugewiesen sind, müssen Sie ein zusätzliches Flag oder Argument angeben.
Klicken Sie auf die folgenden Tabs, um weitere Informationen zum erforderlichen Flag oder Argument zu erhalten:
MACHINE_IMAGE_NAME
ist der Name des Maschinen-Images, das Sie importieren möchten.SOURCE_URI
ist der URI für Ihre OVA- oder OVF-Datei in Cloud Storage. Beispiel:gs://my-bucket/Ubuntu.ova
OS
ist das Betriebssystem der OVA-Datei. Dieses Flag ist standardmäßig optional, kann aber in einigen Fällen erforderlich sein. Wir empfehlen, dieses Flag anzugeben. Eine Liste der unterstützten Werte finden Sie unter--os
-Flag-Optionen für den Befehlgcloud compute machine-images import
.ZONE
ist die Zone, in die das Maschinen-Image importiert werden soll. Wenn Sie dieses Feld leer lassen, wird die Standardzone für das Projekt verwendet.PROJECT_ID
ist die Projekt-ID des Projekts, in das Sie das Maschinen-Image importieren möchten.MACHINE_IMAGE_NAME
ist der Name des zu erstellenden Maschinen-Images. Beispiel:my-machine-image
SOURCE_URI
: URI für die OVA-Datei, die in Cloud Storage gespeichert ist. Beispiel:gs://my-bucket/my-machine.ova
OS
: Betriebssystem der OVA-Datei. Beispiel:ubuntu-1604
Dieses Flag ist standardmäßig optional, kann aber in einigen Fällen erforderlich sein. Wir empfehlen, dieses Flag anzugeben. Eine Liste der unterstützten Werte finden Sie unter--os
-Flag-Optionen für den Befehlgcloud compute instances import
.ZONE
ist die Zone, in die das Maschinen-Image importiert werden soll.Fügen Sie die virtuelle Appliance zu Cloud Storage hinzu.
Erstellen Sie ein Dienstkonto und weisen Sie die Mindestrollen zu. Weitere Informationen zum Erstellen von Dienstkonten finden Sie unter Dienstkonten erstellen und verwalten.
Dem angegebenen Compute Engine-Dienstkonto müssen mindestens die folgenden Rollen zugewiesen sein:
roles/compute.storageAdmin
roles/storage.objectViewer
Diese Mindestrollen werden für das Dienstkonto benötigt, das für das Flag
--compute-service-account
angegeben ist. Weitere Informationen finden Sie unter Compute Engine-Dienstkonto die erforderlichen Rollen zuweisen.Verwenden Sie den Befehl
gcloud compute machine-images import
, um ein Maschinen-Image aus virtuellen Appliances zu erstellen.gcloud compute machine-images import MACHINE_IMAGE_NAME \ --source-uri=gs:SOURCE_URI \ --os=OS \ --compute-service-account=TEMP_SERVICE_ACCOUNT_EMAIL \ --service-account=SERVICE_ACCOUNT_EMAIL \ --scopes=SCOPES
Dabei gilt:
MACHINE_IMAGE_NAME
ist der Name des Maschinen-Images, das Sie importieren möchten.SOURCE_URI
ist der Pfad zu Ihrer OVA- oder OVF-Datei in Cloud Storage.OS
ist das Betriebssystem der OVA-Datei. Dieses Flag ist standardmäßig optional, kann aber in einigen Fällen erforderlich sein. Wir empfehlen, dieses Flag anzugeben.TEMP_SERVICE_ACCOUNT_EMAIL
: Die E-Mail-Adresse des benutzerdefinierten Dienstkontos, das im vorherigen Schritt erstellt wurde. Dieses Dienstkonto wird von den temporären VMs verwendet. Wenn nicht angegeben, verwendet die VM das Compute Engine-Standarddienstkonto.SERVICE_ACCOUNT_EMAIL
: Die mit dem benutzerdefinierten Dienstkonto verknüpfte E-Mail-Adresse, die einer beliebigen VM zugeordnet werden soll, die aus diesem Maschinen-Image erstellt wurde. Es gibt keine Berechtigungsbeschränkungen für dieses Dienstkonto. Sie können dieses Dienstkonto nach Bedarf anpassen. Wenn keine Angabe erfolgt, wird das Compute Engine-Standarddienstkonto mit der VM verbunden.SCOPES
: Legen Sie die Zugriffsebene für die Option--service-account
fest. Wenn keine Angabe gemacht wird, werden die Standardbereiche verwendet. Weitere Informationen finden Sie unter dem Flag--scopes
.
Fügen Sie die virtuelle Appliance zu Cloud Storage hinzu.
Erstellen Sie ein Dienstkonto und weisen Sie die Mindestrollen zu. Weitere Informationen zum Erstellen von Dienstkonten finden Sie unter Dienstkonten erstellen und verwalten.
Dem angegebenen Compute Engine-Dienstkonto müssen mindestens die folgenden Rollen zugewiesen sein:
roles/compute.storageAdmin
roles/storage.objectViewer
Diese Mindestrollen sind für das Dienstkonto erforderlich, das für das Argument
-compute-service-account
angegeben wurde. Weitere Informationen finden Sie unter Compute Engine-Dienstkonto die erforderlichen Rollen zuweisen.Senden Sie eine
POST
-Anfrage an die Cloud Build API.POST https://cloudbuild.googleapis.com/v1/projects/PROJECT_ID/builds { "timeout":"7200s", "steps":[ { "args":[ "-machine-image-name=MACHINE_IMAGE_NAME", "-ovf-gcs-path=SOURCE_URI", "-os=OS", "-zone=ZONE", "-compute-service-account=TEMP_SERVICE_ACCOUNT_EMAIL", "-service-account=SERVICE_ACCOUNT_EMAIL", "-client-id=api", "-timeout=7000s" ], "name":"gcr.io/compute-image-tools/gce_ovf_import:release", "env":[ "BUILD_ID=$BUILD_ID" ] } ], "tags":"gce-ovf-machine-image-import" }
Dabei gilt:
PROJECT_ID
ist die Projekt-ID des Projekts, in das Sie das Maschinen-Image importieren möchten.MACHINE_IMAGE_NAME
ist der Name des zu erstellenden Maschinen-Images. Beispiel:my-machine-image
SOURCE_URI
: URI für die OVA-Datei, die in Cloud Storage gespeichert ist. Beispiel:gs://my-bucket/my-machine.ova
OS
: Betriebssystem der OVA-Datei. Beispiel:ubuntu-1604
Dieses Flag ist standardmäßig optional, kann aber in einigen Fällen erforderlich sein. Wir empfehlen, dieses Flag anzugeben. Eine Liste der unterstützten Werte finden Sie unter--os
-Flag-Optionen für den Befehlgcloud compute instances import
.ZONE
ist die Zone, in die das Maschinen-Image importiert werden soll.TEMP_SERVICE_ACCOUNT_EMAIL
: Die E-Mail-Adresse des benutzerdefinierten Dienstkontos, das im vorherigen Schritt erstellt wurde. Dieses Dienstkonto wird von den temporären VMs verwendet. Wenn nicht angegeben, verwendet die VM das Compute Engine-Standarddienstkonto.SERVICE_ACCOUNT_EMAIL
: Die mit dem benutzerdefinierten Dienstkonto verknüpfte E-Mail-Adresse, die einer beliebigen VM zugeordnet werden soll, die aus diesem Maschinen-Image erstellt wurde. Es gibt keine Berechtigungsbeschränkungen für dieses Dienstkonto. Sie können dieses Dienstkonto nach Bedarf anpassen. Wenn keine Angabe erfolgt, wird das Compute Engine-Standarddienstkonto mit der VM verbunden.SCOPES
: Legen Sie die Zugriffsebene für die Option--service-account
fest. Wenn keine Angabe gemacht wird, werden die Standardbereiche verwendet. Weitere Informationen finden Sie unter dem Flag--scopes
.
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.
Limits und Einschränkungen
Unterstützte Betriebssysteme
Weitere Informationen zur Betriebssystemunterstützung finden Sie unter Details zu Betriebssystemen.
Maschinen-Images importieren
Sie können Maschinen-Images aus virtuellen Appliances mithilfe der Google Cloud CLI oder mit REST importieren.
gcloud
Verwenden Sie den Befehl
gcloud compute machine-images import
, um ein Maschinen-Image aus virtuellen Appliances zu erstellen.gcloud compute machine-images import MACHINE_IMAGE_NAME \ --source-uri=gs:SOURCE_URI \ --os=OS
Dabei gilt:
Beispiel
Verwenden Sie beispielsweise den folgenden
gcloud
-Befehl, um ein Maschinen-Image namensmy-machine-image
aus einer OVA-Quelldatei namensmy-ova
zu importieren, die im Verzeichnisgs://my-bucket
gespeichert ist, undcentos-7
ausführt:gcloud compute machine-images import my-machine-image \ --source-uri=gs://my-bucket/my-ova/ \ --os=centos-7
REST
Maschinen-Images mit OVF-Überschreibungen importieren
Benutzerdefinierte Kombinationen aus CPU und Arbeitsspeicher
gcloud
Wenn Sie die in der OVF-Datei angegebene CPU- oder Speicherkonfiguration überschreiben möchten, führen Sie die Schritte der Google Cloud CLI zum Importieren eines Maschinen-Image aus und geben Sie die Flags
--custom-cpu
und--custom-memory
an.Beispiel
Bei einem Maschinen-Image namens
my-machine-image
gelten die folgenden Überschreibungen auf die Einstellungen in der OVF-Datei:Führen Sie den folgenden Befehl aus, um
my-machine-image
mit diesen Überschreibungen zu importieren:gcloud compute machine-images import my-machine-image \ --os=ubuntu-1404 --source-uri=gs://my-bucket/Ubuntu.ova \ --custom-cpu=2 --custom-memory=2048MB
REST
Damit Sie die in der OVF-Datei angegebene CPU- oder Arbeitsspeicherkonfiguration überschreiben können, führen Sie die Schritte der Compute Engine API aus, um ein Maschinen-Image zu importieren und geben Sie das Argument
-machine-type
an. Dieser-machine-type
steht für einen vordefinierten oder benutzerdefinierten Maschinentyp, der verwendet werden soll.Beispiel
Bei einem Maschinen-Image namens
my-machine-image
gelten die folgenden Überschreibungen auf die Einstellungen in der OVF-Datei:Stellen Sie die folgende Anfrage an die Compute Engine API, um
my-machine-image
mit diesen Überschreibungen zu importieren.POST https://cloudbuild.googleapis.com/v1/projects/PROJECT_ID/builds { "timeout":"7200s", "steps":[ { "args":[ "-machine-image-name=my-machine-image", "-ovf-gcs-path=gs://my-bucket/Ubuntu.ova", "-os=ubuntu-1404", "-machine-type=custom-2-2048", "-client-id=api", "-timeout=7000s" ], "name":"gcr.io/compute-image-tools/gce_ovf_import:release", "env":[ "BUILD_ID=$BUILD_ID" ] } ], "tags":"gce-ovf-machine-image-import" }
Ersetzen Sie
PROJECT_ID
durch Ihre Projekt-ID.Benutzerdefinierte Netzwerke
gcloud
Wenn Sie ein benutzerdefiniertes Netzwerk einrichten möchten, führen Sie die Schritte der Google Cloud CLI zum Importieren eines Maschinen-Image aus und geben Sie ein
--network
-Flag an. Wenn das Netzwerk mit einem benutzerdefinierten Subnetzmodus konfiguriert ist, müssen Sie auch die Flags--subnet
und--zone
angeben.Beispiel
Bei einem Maschinen-Image namens
my-machine-image
gelten die folgenden Überschreibungen auf die Einstellungen in der OVF-Datei:Führen Sie den folgenden Beispielbefehl aus, um
my-machine-image
mit diesen Überschreibungen zu importieren:gcloud compute machine-images import my-machine-image \ --os=ubuntu-1404 \ --source-uri=gs://my-bucket/Ubuntu.ova \ --network=custom-vpc-network \ --subnet=company-vpc-us-east1-c \ --zone=us-east1-c
REST
Damit Sie ein benutzerdefiniertes Netzwerk verwenden können, führen Sie die Schritte der Compute Engine API aus, um ein Maschinen-Image zu importieren und geben Sie ein
-network
-Argument an. Wenn das Netzwerk mit einem benutzerdefinierten Subnetzmodus konfiguriert ist, müssen Sie auch die Argumente-subnet
und-zone
angeben.Beispiel
Bei einem Maschinen-Image namens
my-machine-image
gelten die folgenden Überschreibungen auf die Einstellungen in der OVF-Datei:Stellen Sie die folgende Anfrage an die Compute Engine API, um
my-machine-image
mit diesen Überschreibungen zu importieren.POST https://cloudbuild.googleapis.com/v1/projects/PROJECT_ID/builds { "timeout":"7200s", "steps":[ { "args":[ "-machine-image-name=my-machine-image", "-ovf-gcs-path=gs://my-bucket/Ubuntu.ova", "-os=ubuntu-1404", "-zone=us-central1-c", "-network=custom-vpc-network", "-subnet=company-vpc-us-east1-c", "-client-id=api", "-timeout=7000s" ], "name":"gcr.io/compute-image-tools/gce_ovf_import:release", "env":[ "BUILD_ID=$BUsILD_ID" ] } ], "tags":"gce-ovf-machine-image-import" }
Ersetzen Sie
PROJECT_ID
durch Ihre Projekt-ID.Maschinen-Image innerhalb eines Netzwerks importieren, das keine externe IP-Adresse zulässt
Führen Sie die folgenden Schritte aus, um ein Maschinen-Image über ein Netzwerk zu importieren, in dem keine externen IP-Adressen zulässig sind:
gcloud
Führen Sie den Befehl
gcloud compute machine-images import
mit dem Flag--no-address
aus.gcloud compute machine-images import MACHINE_IMAGE_NAME \ --source-uri=SOURCE_URI \ --os=OS \ --zone=ZONE \ --no-address
Dabei gilt:
REST
Verwenden Sie die Cloud Build API und geben Sie das Argument
-no-external-ip
an.POST https://cloudbuild.googleapis.com/v1/projects/PROJECT_ID/builds { "timeout":"7200s", "steps":[ { "args":[ "-machine-image-name=MACHINE_IMAGE_NAME", "-ovf-gcs-path=SOURCE_URI", "-os=OS", "-zone=ZONE", "-no-external-ip", "-client-id=api", "-timeout=7000s" ], "name":"gcr.io/compute-image-tools/gce_ovf_import:release", "env":[ "BUILD_ID=$BUILD_ID" ] } ], "tags":"gce-ovf-machine-image-import" }
Dabei gilt:
Maschinen-Image mit benutzerdefinierten Dienstkonten importieren
Während eines Imports von Maschinen-Images werden in Ihrem Projekt temporäre VM-Instanzen erstellt. Das Tool zum Importieren von Images auf diesen temporären VMs muss authentifiziert werden.
Ein Dienstkonto ist eine Identität, die mit einer VM verbunden ist. Auf Zugriffstoken für Dienstkonten kann über den VM-Metadatenserver zugegriffen und zur Authentifizierung des Import-Tools auf der VM verwendet werden.
Beim Import wird standardmäßig das Compute Engine-Standarddienstkonto verwendet. Wenn jedoch das Compute Engine-Standarddienstkonto in Ihrem Projekt deaktiviert ist oder Sie ein benutzerdefiniertes Compute Engine-Dienstkonto verwenden möchten, müssen Sie ein Dienstkonto erstellen und für den Importvorgang angeben.
gcloud
REST
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-08-23 (UTC).
[{ "type": "thumb-down", "id": "hardToUnderstand", "label":"Hard to understand" },{ "type": "thumb-down", "id": "incorrectInformationOrSampleCode", "label":"Incorrect information or sample code" },{ "type": "thumb-down", "id": "missingTheInformationSamplesINeed", "label":"Missing the information/samples I need" },{ "type": "thumb-down", "id": "translationIssue", "label":"Problem mit der Übersetzung" },{ "type": "thumb-down", "id": "otherDown", "label":"Sonstiges" }] [{ "type": "thumb-up", "id": "easyToUnderstand", "label":"Leicht verständlich" },{ "type": "thumb-up", "id": "solvedMyProblem", "label":"Mein Problem wurde gelöst" },{ "type": "thumb-up", "id": "otherUp", "label":"Sonstiges" }] -