In diesem Dokument wird beschrieben, wie Sie eine Compute Engine-Instanz aus einem benutzerdefinierten Image erstellen, das nur in Ihrem Projekt vorhanden ist. Eine Instanz enthält einen Bootloader, ein Boot-Dateisystem und ein Betriebssystem-Image. Sie können benutzerdefinierte Images von Quelllaufwerken, Images, Snapshots oder von in Cloud Storage gespeicherten Images erstellen und diese Images verwenden, um Instanzen zu erstellen. Standardmäßig gehört ein benutzerdefiniertes Image nur zum Projekt, in dem es erstellt wurde.
Hinweise
- Beim Erstellen von Instanzen aus Images mit der Google Cloud CLI oder der Compute Engine API sind maximal 20 Instanzen pro Sekunde zulässig. Wenn Sie eine höhere Anzahl von Instanzen pro Sekunde erstellen müssen, fordern Sie ein höheres Kontingentlimit für die Images-Ressource an.
-
Richten Sie die Authentifizierung ein, falls Sie dies noch nicht getan haben.
Bei der Authentifizierung wird Ihre Identität für den Zugriff auf Dienste und APIs von Google Cloud ü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.
compute.instances.create
für das Projekt-
So erstellen Sie die Instanz mit einem benutzerdefinierten Image:
compute.images.useReadOnly
für das Image Rufen Sie in der Google Cloud Console die Seite Instanz erstellen auf.
Wenn Sie dazu aufgefordert werden, wählen Sie Ihr Projekt aus und klicken auf Weiter.
Die Seite Instanz erstellen wird angezeigt. Darin ist der Bereich Maschinenkonfiguration zu sehen.
Führen Sie im Bereich Maschinenkonfiguration die folgenden Schritte aus:
- Geben Sie im Feld Name einen Namen für die Instanz ein. Weitere Informationen finden Sie unter Namenskonvention für Ressourcen.
Optional: Wählen Sie im Feld Zone eine Zone für diese Instanz aus.
Die Standardauswahl ist Beliebig. Wenn Sie diese Standardauswahl nicht ändern, wählt Google automatisch eine Zone für Sie aus, die auf dem Maschinentyp und der Verfügbarkeit basiert.
Wählen Sie die Maschinenfamilie für Ihre Instanz aus. In der Google Cloud Console werden dann die Maschinenreihen angezeigt, die für die ausgewählte Maschinenfamilie verfügbar sind. Folgende Optionen für die Maschinenfamilie sind verfügbar:
- Allgemein
- Computing-optimiert
- Speicheroptimiert
- Speicheroptimiert
- GPUs
Wählen Sie in der Spalte Reihe die Maschinenreihe für Ihre Instanz aus.
Wenn Sie im vorherigen Schritt GPUs als Maschinenfamilie ausgewählt haben, wählen Sie den gewünschten GPU-Typ aus. Die Maschinenreihe wird dann automatisch für den ausgewählten GPU-Typ ausgewählt.
Wählen Sie im Abschnitt Maschinentyp den Maschinentyp für Ihre Instanz aus.
Klicken Sie im Navigationsmenü auf Betriebssystem und Speicher. Konfigurieren Sie im angezeigten Bereich Betriebssystem und Speicher das Bootlaufwerk:
- Klicken Sie auf Ändern. Der Bereich Bootlaufwerk wird angezeigt und der Tab Öffentliche Images wird geöffnet.
- Klicken Sie auf Benutzerdefinierte Images. Der Tab Benutzerdefinierte Images wird angezeigt.
- Klicken Sie zum Auswählen des Image-Projekts auf Ändern und wählen Sie dann das Projekt aus, das das Image enthält.
- Wählen Sie in der Liste Image das Bild aus, das Sie importieren möchten.
- Wählen Sie in der Liste Bootlaufwerktyp den Typ des Bootlaufwerks aus.
- Geben Sie im Feld Größe (GB) die Größe des Bootlaufwerks an.
- Optional: Maximieren Sie den Bereich Erweiterte Konfigurationen anzeigen, um erweiterte Konfigurationsoptionen aufzurufen.
- Klicken Sie auf Auswählen, um die Bootlaufwerkoptionen zu bestätigen und zum Bereich Betriebssystem und Speicher zurückzukehren.
Klicken Sie im Navigationsmenü auf Netzwerk. Führen Sie im angezeigten Bereich Netzwerk die folgenden Schritte aus:
- Gehen Sie zum Abschnitt Firewall.
Wählen Sie dann HTTP-Traffic zulassen oder HTTPS-Traffic zulassen aus, damit die Instanz HTTP- oder HTTPS-Traffic empfangen kann.
In der Compute Engine werden der Instanz ein Netzwerk-Tag hinzugefügt und entsprechende Firewallregeln für eingehenden Traffic erstellt, die den gesamten eingehenden Traffic über
tcp:80
(HTTP) odertcp:443
(HTTPS) zulassen. Das Netzwerk-Tag ordnet die Firewallregel der Instanz zu. Weitere Informationen finden Sie unter Übersicht über Firewallregeln in der Cloud Next Generation Firewall-Dokumentation.
Optional: Geben Sie weitere Konfigurationsoptionen an. Weitere Informationen finden Sie unter Konfigurationsoptionen beim Erstellen einer Instanz.
Klicken Sie zum Erstellen und Starten der Instanz auf Erstellen.
-
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
Führen Sie den Befehl
gcloud compute instances create
aus, um eine Instanz mit einem benutzerdefinierten Image zu erstellen:gcloud compute instances create VM_NAME \ --image-project IMAGE_PROJECT \ IMAGE_FLAG \ --subnet SUBNET
Ersetzen Sie Folgendes:
VM_NAME
: der Name der VMIMAGE_PROJECT
: die ID des Google Cloud -Projekts, das das Image enthältIMAGE_FLAG
: Wählen Sie eine der folgenden Optionen aus:- Verwenden Sie das Flag
--image IMAGE_NAME
, um ein benutzerdefiniertes Image anzugeben.Beispiel:
--image my-debian-image-v2
. - Wenn Sie Ihre benutzerdefinierten Images als Teil einer benutzerdefinierten Image-Familie erstellt haben, verwenden Sie das Flag
--image-family IMAGE_FAMILY_NAME
, um diese benutzerdefinierte Image-Familie anzugeben.Dadurch wird die VM aus der neuesten nicht verworfenen Version des Betriebssystem des Betriebssystem-Images in Ihrer benutzerdefinierten Image-Familie erstellt. Wenn Sie beispielsweise
--image-family my-debian-family
angeben, erstellt Compute Engine eine VM aus dem neuesten Betriebssystem-Image in Ihrer benutzerdefinierten Image-Familiemy-debian-family
.
- Verwenden Sie das Flag
SUBNET
: Wenn sich das Subnetz und die Instanz im selben Projekt befinden, ersetzen SieSUBNET
durch den Namen eines Subnetzes, das sich in derselben Region wie die Instanz befindet.
- Rufen Sie in der Google Cloud Console die Seite VM-Instanzen auf.
- Klicken Sie auf Instanz erstellen.
- Geben Sie die gewünschten Parameter an.
- Klicken Sie oben oder unten auf der Seite auf Entsprechender Code und dann auf den Tab Terraform, um den Terraform-Code aufzurufen.
PROJECT_ID
ist die ID des Projekts, in dem die VM erstellt werden soll.ZONE
ist die Zone, in der die VM erstellt werden soll.MACHINE_TYPE_ZONE
ist die Zone mit dem Maschinentyp, der für die neue VM verwendet werden soll.MACHINE_TYPE
legt einen vordefinierten oder benutzerdefinierten Maschinentyp für die neue VM fest.VM_NAME
ist der Name der neuen VM.IMAGE_PROJECT
ist der Name des Projekts, das das benutzerdefinierte Image enthält.IMAGE
: Wählen Sie eine der folgenden Optionen aus:IMAGE
ist der Name Ihres benutzerdefinierten Images. Beispiel:"sourceImage": "projects/my-project-1234/global/images/my-debian-image-v2"
.IMAGE_FAMILY
legt die benutzerdefinierte Image-Familie fest, wenn Sie Ihre benutzerdefinierten Images als Teil einer benutzerdefinierten Image-Familie erstellt haben.Dies erstellt die VM aus dem aktuellen, nicht verworfenen Betriebssystem-Image in Ihrer benutzerdefinierten Image-Familie. Wenn Sie beispielsweise
"sourceImage": "projects/my-project-1234/global/images/family/my-debian-family"
angeben, legt Compute Engine eine VM aus der neuesten Version des Betriebssystem-Images in der benutzerdefiniertenmy-debian-family
-Image-Familie an.
NETWORK_NAME
: das VPC-Netzwerk, das Sie für die VM verwenden möchten. Sie könnendefault
angeben, um Ihr Standardnetzwerk zu verwenden.ENABLE_SECURE_BOOT
: (Optional) Wenn Sie ein Image ausgewählt haben, das Shielded VM-Features unterstützt, aktiviert Compute Engine standardmäßig das Virtual Trusted Platform Module (vTPM) und das Integritätsmonitoring. Compute Engine aktiviert nicht standardmäßig Secure Boot.Wenn Sie für
enableSecureBoot
den Werttrue
angeben, erstellt Compute Engine eine VM, bei der alle drei Shielded VM-Features aktiviert sind. Nachdem Compute Engine Ihre VM gestartet hat, müssen Sie die VM beenden, um Shielded VM-Optionen zu ändern.- Weitere Informationen zu benutzerdefinierten Bildern und zum Freigeben von benutzerdefinierten Bildern
- Informationen zum Prüfen des Status einer Instanz
- Weitere Informationen zum Herstellen einer Verbindung zu Ihrer Instanz
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.
Erforderliche Rollen
Bitten Sie Ihren Administrator, Ihnen die IAM-Rolle Compute Instance Admin (v1) (
roles/compute.instanceAdmin.v1
) für das Projekt zu gewähren, um die Berechtigungen zu erhalten, die Sie zum Erstellen einer Instanz aus einem benutzerdefinierten Image benötigen. Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.Diese vordefinierte Rolle enthält die Berechtigungen, die zum Erstellen einer Instanz aus einem benutzerdefinierten Image erforderlich sind. Erweitern Sie den Abschnitt Erforderliche Berechtigungen, um die erforderlichen Berechtigungen anzuzeigen:
Erforderliche Berechtigungen
Die folgenden Berechtigungen sind erforderlich, um eine Instanz aus einem benutzerdefinierten Image zu erstellen:
Sie können diese Berechtigungen auch mit benutzerdefinierten Rollen oder anderen vordefinierten Rollen erhalten.
Instanz aus einem benutzerdefinierten Image erstellen
Wenn Sie noch kein benutzerdefiniertes Image haben, müssen Sie zuerst ein benutzerdefiniertes Image erstellen.
So erstellen Sie eine Instanz aus einem benutzerdefinierten Image:
Console
gcloud
Terraform
Zum Generieren des Terraform-Codes können Sie die Komponente Entsprechender Code in der Google Cloud Console verwenden.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
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
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
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
Wenn Sie in der API eine Instanz mit einem benutzerdefinierten Image erstellen möchten, gehen Sie genauso vor wie beim Erstellen einer Instanz mit einem öffentlich verfügbaren Image.
Verwenden Sie zum Erstellen der Instanz aus einem benutzerdefinierten Image die Methode
instances.insert
.POST https://compute.googleapis.com/compute/v1/projects/
PROJECT_ID
/zones/ZONE
/instances { "machineType":"zones/MACHINE_TYPE_ZONE/machineTypes/MACHINE_TYPE", "name":"VM_NAME
", "disks":[ { "initializeParams":{ "sourceImage":"projects/IMAGE_PROJECT/global/images/IMAGE" }, "boot":true } ], "networkInterfaces":[ { "network":"global/networks/NETWORK_NAME" } ], "shieldedInstanceConfig":{ "enableSecureBoot":"ENABLE_SECURE_BOOT" } }Ersetzen Sie Folgendes:
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: 2025-01-23 (UTC).
-