VM-Instanz erstellen und starten

In diesem Dokument wird beschrieben, wie Sie eine VM-Instanz mit einem Bootlaufwerk-Image, einem Bootlaufwerk-Snapshot oder einem Container-Image erstellen. Einige Images unterstützen Shielded VM-Funktionen, die Sicherheitsfeatures wie UEFI-konforme Firmware, Secure Boot und vTPM-geschütztes Measured Boot bieten. Auf Shielded VMs sind standardmäßig vTPM und das Integritätsmonitoring aktiviert.

Sie können während der Erstellung ein oder mehrere Laufwerke für Ihre VM erstellen. Es ist aber auch möglich, nach dem Erstellen weitere Laufwerke hinzuzufügen. Nach dem Erstellen einer VM wird diese von Compute Engine automatisch gestartet.

In diesem Dokument werden grundlegende Möglichkeiten zum Erstellen einer VM erläutert. Informationen zu spezifischeren oder komplizierteren VM-Konfigurationen finden Sie in den folgenden Ressourcen:

Wenn Sie eine vorhandene Lizenz verwenden, lesen Sie den Abschnitt Eigene Lizenz mit Knoten für einzelne Mandanten verwenden.

Hinweis

VM-Instanz aus einem Image erstellen

In diesem Abschnitt wird gezeigt, wie Sie eine VM ausgehend von einem öffentlichen Betriebssystem-Image oder einem benutzerdefinierten Image erstellen. Eine VM enthält einen Bootloader, ein Boot-Dateisystem und ein Betriebssystem-Image.

Liste der in Compute Engine verfügbaren öffentlichen Images aufrufen

Bevor Sie eine VM mit einem öffentlichen Image erstellen, sollten Sie die Liste der öffentlichen Images prüfen, die in Compute Engine verfügbar sind.

Weitere Informationen zu den mit öffentlichen Images verfügbaren Features finden Sie unter Featureunterstützung nach Betriebssystem.

Console

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

    Zur Seite „Images“

gcloud

  1. Führen Sie folgenden Befehl aus:

    gcloud compute images list
  2. Notieren Sie sich den Namen des Images oder der Image-Familie und das Projekt, das das Image enthält.

  3. Ermitteln Sie optional, ob das Image Shielded VM-Features unterstützt. Führen Sie dazu den folgenden Befehl aus und suchen Sie in der Ausgabe nach UEFI_COMPATIBLE:

    gcloud compute images describe VM_NAME \
        --project IMAGE_PROJECT
    

    Dabei gilt:

    • VM_NAME ist der Name des Images, das auf die Unterstützung von Shielded VM-Features geprüft werden soll.
    • IMAGE_PROJECT ist das Projekt, das das Image enthält.

API

  1. Führen Sie folgenden Befehl aus:

    GET https://compute.googleapis.com/compute/v1/projects/IMAGE_PROJECT/global/images/
    
  2. Notieren Sie sich den Namen des Images oder der Image-Familie und das Projekt, das das Image enthält.

  3. Ermitteln Sie optional, ob das Image Shielded VM-Features unterstützt. Führen Sie dazu den folgenden Befehl aus und suchen Sie in der Ausgabe nach UEFI_COMPATIBLE:

    GET https://compute.googleapis.com/compute/v1/projects/IMAGE_PROJECT/global/images/IMAGE_NAME
    

    Dabei gilt:

    • IMAGE_PROJECT ist das Projekt, das das Image enthält.
    • IMAGE_NAME ist der Name des Images, das auf die Unterstützung von Shielded VM-Features geprüft werden soll.

VM-Instanz aus einem öffentlichen Image erstellen

Google sowie Open Source-Communitys und Drittanbieter bieten und verwalten öffentliche Betriebssystem-Images. Standardmäßig lassen sich mit allen Google Cloud-Projekten VMs aus öffentlichen Betriebssystem-Images erstellen. Wenn für Ihr Cloud-Projekt jedoch eine definierte Liste vertrauenswürdiger Images vorhanden ist, können Sie zum Erstellen einer VM nur die Images dieser Liste verwenden.

Wenn Sie ein Shielded VM-Image mit einer lokalen SSD erstellen, können Sie Daten nicht mit dem Integritätsmonitoring oder mit dem Virtual Trusted Platform Module (vTPM) schützen.

Console

  1. Öffnen Sie in der Google Cloud Console die Seite VM-Instanzen.

    Zu „VM-Instanzen“

  2. Wählen Sie Ihr Projekt aus und klicken Sie auf Weiter.

  3. Klicken Sie auf Instanz erstellen.

  4. Geben Sie einen Namen für Ihre VM an. Weitere Informationen finden Sie unter Konvention für Ressourcennamen.

  5. Ändern Sie optional die Zone für diese VM. In Compute Engine wird die Liste der Zonen in jeder Region zufällig angeordnet, um die Verwendung in mehreren Zonen zu fördern.

  6. Wählen Sie eine Maschinenkonfiguration für Ihre VM aus.

  7. Klicken Sie im Abschnitt Bootlaufwerk auf Ändern, um Ihr Bootlaufwerk zu konfigurieren. Sofern Sie nicht explizit ein anderes Bootlaufwerk auswählen und der Name der neuen VM mit dem Namen eines vorhandenen nichtflüchtigen Speichers übereinstimmt, wird der vorhandene nichtflüchtige Speicher automatisch als Bootlaufwerk an die VM angehängt.

  8. Wählen Sie auf dem Tab Öffentliche Images ein Betriebssystem und eine Version aus.

  9. Klicken Sie auf Speichern, um Ihre Bootlaufwerksoptionen zu bestätigen.

  10. Wählen Sie HTTP-Traffic zulassen oder HTTPS-Traffic zulassen aus, um HTTP- oder HTTPS-Traffic zur VM zuzulassen. Wenn Sie eine dieser Optionen auswählen, fügt Compute Engine Ihrer VM ein Netzwerktag hinzu, das die Firewallregel mit der VM verknüpft. Anschließend erstellt Compute Engine die entsprechende Firewallregel für eingehenden Traffic, die den gesamten eingehenden Traffic über tcp:80 (HTTP) oder tcp:443 (HTTPS) zulässt.

  11. Wenn Sie ein Betriebssystem-Image ausgewählt haben, das Shielded VM-Funktionen unterstützt, können Sie optional die Einstellungen für Shielded VM ändern:

    1. Klicken Sie im Abschnitt Verwaltung, Sicherheit, Laufwerke, Netzwerke, einzelne Mandanten auf den Tab Sicherheit.

    2. Wählen Sie Sicheren Boot aktivieren aus, um Secure Boot zu aktivieren. Secure Boot ist standardmäßig deaktiviert.

    3. Entfernen Sie das Häkchen bei vTPM aktivieren, um vTPM zu deaktivieren. vTPM ist standardmäßig aktiviert. Beim Deaktivieren des vTPM wird auch das Integritätsmonitoring deaktiviert, da dies auf Daten basiert, die von Measured Boot erfasst werden.

    4. Wenn Sie das Integritätsmonitoring deaktivieren möchten, entfernen Sie das Häkchen bei Integrity Monitoring aktivieren. Das Integritätsmonitoring ist standardmäßig aktiviert.

  12. Klicken Sie auf Erstellen, um die VM zu erstellen und zu starten.

gcloud

  1. Wählen Sie ein öffentliches Image aus. Notieren Sie sich den Namen des Images oder der Image-Familie und das Projekt, das das Image enthält.
  2. Erstellen Sie mit dem Befehl gcloud compute instances create eine VM aus einer Image-Familie oder aus einer bestimmten Version eines Betriebssystem-Images:

    Wenn Sie das optionale Flag --shielded-secure-boot angeben, erstellt Compute Engine eine VM, bei der alle der drei folgenden Shielded VM-Features aktiviert sind:

    Nachdem Compute Engine Ihre VM gestartet hat, müssen Sie die VM beenden, um Shielded VM-Optionen zu ändern.

    gcloud compute instances create VM_NAME \
        [--image IMAGE | --image-family IMAGE_FAMILY] \
        --image-project IMAGE_PROJECT

    Dabei gilt:

    • VM_NAME ist der Name der neuen VM.
    • Für IMAGE oder IMAGE_FAMILY muss eine der folgenden Optionen angegeben werden:
      • IMAGE legt die erforderliche Version eines öffentlichen Images fest. Beispiel: --image debian-10-buster-v20200309
      • IMAGE_FAMILY: eine Image-Familie. Dadurch wird die VM aus dem neuesten nicht verworfenen Betriebssystem-Image erstellt. Wenn Sie beispielsweise --image-family debian-10 angeben, legt Compute Engine eine VM aus der neuesten Version des Betriebssystem-Images in der Debian 10-Image-Familie an.
    • IMAGE_PROJECT ist das Projekt, das das Image enthält.
  3. Prüfen Sie, ob Compute Engine die VM erstellt hat:

    gcloud compute instances describe VM_NAME
    

    Ersetzen Sie VM_NAME durch den Namen der VM.

API

  1. Wählen Sie ein öffentliches Image aus. Notieren Sie sich den Namen des Images oder der Image-Familie und das Projekt, das das Image enthält.
  2. Erstellen Sie mit der Methode instances.insert eine VM aus einer Image-Familie oder einer bestimmten Version eines Betriebssystem-Images:

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/PROJECT_ZONE/instances
    
    {
     "machineType": "zones/MACHINE_TYPE_ZONE/machineTypes/MACHINE_TYPE",
     "name": "VM_NAME",
     "disks": [
       {
         "initializeParams": {
           "sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE"
         },
         "boot": true
       }
     ],
     "shieldedInstanceConfig": {
       "enableSecureBoot": ENABLE_SECURE_BOOT
     }
    }
    

    Dabei gilt:

    • PROJECT_ID ist die ID des Projekts, in dem die VM erstellt werden soll.
    • PROJECT_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 das Projekt, das das Image enthält. Wenn Sie beispielsweise debian-10 als Image-Familie festlegen, geben Sie debian-cloud als Image-Projekt an.
    • Für IMAGE oder IMAGE_FAMILY muss eine der folgenden Optionen angegeben werden:
      • IMAGE legt die erforderliche Version eines öffentlichen Images fest. Beispiel: "sourceImage": "projects/debian-cloud/global/images/debian-10-buster-v20200309"
      • IMAGE_FAMILY ist eine Image-Familie. Dadurch wird die VM aus dem neuesten nicht verworfenen Betriebssystem-Image erstellt. Wenn Sie beispielsweise "sourceImage": "projects/debian-cloud/global/images/family/debian-10" angeben, legt Compute Engine eine VM aus der neuesten Version des Betriebssystem-Images in der Debian 10-Image-Familie an.
    • 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 Wert true 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.

Python

def create_instance(compute, project, zone, name, bucket):
    # Get the latest Debian Jessie image.
    image_response = compute.images().getFromFamily(
        project='debian-cloud', family='debian-9').execute()
    source_disk_image = image_response['selfLink']

    # Configure the machine
    machine_type = "zones/%s/machineTypes/n1-standard-1" % zone
    startup_script = open(
        os.path.join(
            os.path.dirname(__file__), 'startup-script.sh'), 'r').read()
    image_url = "http://storage.googleapis.com/gce-demo-input/photo.jpg"
    image_caption = "Ready for dessert?"

    config = {
        'name': name,
        'machineType': machine_type,

        # Specify the boot disk and the image to use as a source.
        'disks': [
            {
                'boot': True,
                'autoDelete': True,
                'initializeParams': {
                    'sourceImage': source_disk_image,
                }
            }
        ],

        # Specify a network interface with NAT to access the public
        # internet.
        'networkInterfaces': [{
            'network': 'global/networks/default',
            'accessConfigs': [
                {'type': 'ONE_TO_ONE_NAT', 'name': 'External NAT'}
            ]
        }],

        # Allow the instance to access cloud storage and logging.
        'serviceAccounts': [{
            'email': 'default',
            'scopes': [
                'https://www.googleapis.com/auth/devstorage.read_write',
                'https://www.googleapis.com/auth/logging.write'
            ]
        }],

        # Metadata is readable from the instance and allows you to
        # pass configuration from deployment scripts to instances.
        'metadata': {
            'items': [{
                # Startup script is automatically executed by the
                # instance upon startup.
                'key': 'startup-script',
                'value': startup_script
            }, {
                'key': 'url',
                'value': image_url
            }, {
                'key': 'text',
                'value': image_caption
            }, {
                'key': 'bucket',
                'value': bucket
            }]
        }
    }

    return compute.instances().insert(
        project=project,
        zone=zone,
        body=config).execute()

VM aus einem benutzerdefinierten Image erstellen

Ein benutzerdefiniertes Image gehört nur zu Ihrem Projekt. Damit Sie eine VM mit einem benutzerdefinierten Image erstellen können, brauchen Sie zuerst ein benutzerdefiniertes Image. Unter Benutzerdefiniertes Image erstellen finden Sie Informationen dazu.

Console

  1. Rufen Sie die Seite VM-Instanzen auf.

    Zu „VM-Instanzen“

  2. Wählen Sie Ihr Projekt aus und klicken Sie auf Weiter.

  3. Klicken Sie auf Instanz erstellen.

  4. Geben Sie einen Namen für Ihre VM an. Weitere Informationen finden Sie unter Konvention für Ressourcennamen.

  5. Ändern Sie optional die Zone für diese VM. In Compute Engine wird die Liste der Zonen in jeder Region zufällig angeordnet, um die Verwendung in mehreren Zonen zu fördern.

  6. Wählen Sie eine Maschinenkonfiguration für Ihre VM aus.

  7. Klicken Sie im Abschnitt Bootlaufwerk auf Ändern, um Ihr Bootlaufwerk zu konfigurieren.

    Das erstellte Bootlaufwerk sollte nicht größer als 2 TB sein, um die Einschränkungen von MBR-Partitionen zu berücksichtigen.

  8. Wählen Sie den Tab Benutzerdefinierte Images aus.

  9. Prüfen Sie, ob Ihr Projekt in der Drop-down-Liste ausgewählt ist.

  10. Wählen Sie das gewünschte Image aus und klicken Sie auf Auswählen.

  11. Wählen Sie dann HTTP-Traffic zulassen oder HTTPS-Traffic zulassen aus, damit die VM-Instanz HTTP- oder HTTPS-Traffic empfangen kann.

    In der Cloud Console werden der VM ein Netzwerk-Tag hinzugefügt und entsprechende Firewallregeln für eingehenden Traffic erstellt, die den gesamten eingehenden Traffic über tcp:80 (HTTP) oder tcp:443 (HTTPS) zulassen. Das Netzwerk-Tag ordnet die Firewallregel der VM zu. Weitere Informationen finden Sie unter Übersicht über Firewallregeln in der Virtual Private Cloud-Dokumentation.

  12. Klicken Sie auf Erstellen, um die VM zu erstellen und zu starten.

gcloud

Mit dem Befehl gcloud compute instances create erstellen Sie eine VM mit einem benutzerdefinierten Image:

gcloud compute instances create VM_NAME \
    --image-project IMAGE_PROJECT \
    [--image IMAGE | --image-family IMAGE_FAMILY]

Dabei gilt:

  • VM_NAME ist der Name der VM.
  • IMAGE_PROJECT ist der Name des Projekts, das das Image enthält.
  • Für IMAGE oder IMAGE_FAMILY muss eine der folgenden Optionen angegeben werden:

    • IMAGE ist der Name Ihres benutzerdefinierten Images. Beispiel: --image 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. Dadurch wird die VM aus der neuesten nicht verworfenen Betriebssystemversion 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-Familie my-debian-family.

API

Wenn Sie in der API eine VM mit einem benutzerdefinierten Image erstellen möchten, gehen Sie genauso vor wie beim Erstellen einer VM mit einem öffentlich verfügbaren Image.

Verwenden Sie zum Erstellen der VM aus einem benutzerdefinierten Image die Methode instances.insert und geben Sie im URI sourceImage die Projekt-ID für das Projekt an, das das benutzerdefinierte Image enthält, sowie den Namen des benutzerdefinierten Images.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/PROJECT_ZONE/instances

{
 "machineType": "zones/MACHINE_TYPE_ZONE/machineTypes/MACHINE_TYPE",
 "name": "VM_NAME",
 "disks": [
   {
     "initializeParams": {
       "sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE"
     },
     "boot": true
   }
 ],
 .....
}

Dabei gilt:

  • PROJECT_ID ist die ID des Projekts, in dem die VM erstellt werden soll.
  • PROJECT_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.
  • Für IMAGE oder IMAGE_FAMILY muss eine der folgenden Optionen angegeben werden:

    • 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. Dadurch wird die VM aus der neuesten nicht verworfenen Betriebssystemversion des Betriebssystem-Images in Ihrer benutzerdefinierten Image-Familie erstellt. 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 benutzerdefinierten my-debian-family-Image-Familie an.

VM-Instanz mit zusätzlichen Nicht-Bootlaufwerken erstellen

Console

  1. Öffnen Sie in der Google Cloud Console die Seite VM-Instanzen.

    Zu „VM-Instanzen“

  2. Wählen Sie Ihr Projekt aus und klicken Sie auf Weiter.

  3. Klicken Sie auf Instanz erstellen.

  4. Geben Sie einen Namen für Ihre VM an. Weitere Informationen finden Sie unter Konvention für Ressourcennamen.

  5. Ändern Sie optional die Zone für diese VM. In Compute Engine wird die Liste der Zonen in jeder Region zufällig angeordnet, um die Verwendung in mehreren Zonen zu fördern.

  6. Wählen Sie eine Maschinenkonfiguration für Ihre VM aus.

  7. Klicken Sie im Abschnitt Bootlaufwerk auf Ändern, um Ihr Bootlaufwerk zu konfigurieren. Sofern Sie nicht explizit ein anderes Bootlaufwerk auswählen und der Name der neuen VM mit dem Namen eines vorhandenen nichtflüchtigen Speichers übereinstimmt, wird der vorhandene nichtflüchtige Speicher automatisch als Bootlaufwerk an die neue VM angehängt.

  8. Wählen Sie auf dem Tab Öffentliche Images ein Betriebssystem und eine Version aus.

  9. Klicken Sie auf Speichern, um Ihre Bootlaufwerksoptionen zu bestätigen.

  10. Wählen Sie HTTP-Traffic zulassen oder HTTPS-Traffic zulassen aus, um HTTP- oder HTTPS-Traffic zur VM zuzulassen. Wenn Sie eine dieser Optionen auswählen, fügt Compute Engine Ihrer VM ein Netzwerktag hinzu, das die Firewallregel mit der VM verknüpft. Anschließend erstellt Compute Engine die entsprechende Firewallregel für eingehenden Traffic, die den gesamten eingehenden Traffic über tcp:80 (HTTP) oder tcp:443 (HTTPS) zulässt.

  11. So fügen Sie der VM Nicht-Bootlaufwerke hinzu:

    1. Klicken Sie auf den Abschnitt Verwaltung, Sicherheit, Laufwerke, Netzwerke, einzelne Mandanten.
    2. Klicken Sie auf den Tab Laufwerke.
    3. Klicken Sie anschließend unter Zusätzliche Laufwerke auf Laufwerk hinzufügen.
    4. Geben Sie für das Laufwerk Name, Typ, Quelltyp, Modus und Löschregel an.
    5. Klicken Sie auf Fertig.
    6. Fügen Sie nach Bedarf Laufwerke hinzu.
  12. Klicken Sie auf Erstellen, um die VM zu erstellen und zu starten.

gcloud

Führen Sie den Befehl gcloud compute instances create aus, um eine VM mit zusätzlichen Nicht-Bootlaufwerken zu erstellen.

Beim Erstellen einer VM können Sie bis zu 128 Nicht-Bootlaufwerke hinzufügen. Geben Sie das Flag --create-disk für jedes Nicht-Bootlaufwerk an, das Sie erstellen.

Wenn Sie Nicht-Bootlaufwerke aus einem öffentlichen oder einem vorhandenen Image erstellen möchten, geben Sie im Flag --create-disk die Attribute image oder image-family und image-project an. Wenn Sie diese Attribute nicht angeben, wird ein leeres Laufwerk erstellt. Fügen Sie optional Attribute für das Laufwerk size und type hinzu.

gcloud compute instances create VM_NAME \
    [--image IMAGE | --image-family IMAGE_FAMILY] \
    --image-project IMAGE_PROJECT \
    --create-disk [image=DISK_IMAGE | image-family=DISK_IMAGE_FAMILY ],image-project=DISK_IMAGE_PROJECT,size=SIZE_GB,type=DISK_TYPE

Dabei gilt:

  • VM_NAME ist der Name der neuen VM.
  • IMAGE oder IMAGE_FAMILY. Wählen Sie eine der folgenden Optionen aus:

    • IMAGE legt die erforderliche Version eines öffentlichen Images fest. Beispiel: --image debian-10-buster-v20200309
    • IMAGE_FAMILY: eine Image-Familie. Dadurch wird die VM aus dem neuesten nicht verworfenen Betriebssystem-Image erstellt. Wenn Sie beispielsweise --image-family debian-10 angeben, legt Compute Engine eine VM aus der neuesten Version des Betriebssystem-Images in der Debian 10-Image-Familie an.
  • IMAGE_PROJECT ist das Projekt, das das Image enthält.

  • Ersetzen Sie für zusätzliche Laufwerke folgende Optionen:

    • Für DISK_IMAGE oder DISK_IMAGE_FAMILY muss eine der folgenden Optionen angegeben werden:
      • DISK_IMAGE: der Name des Images, das Sie als Nicht-Bootlaufwerk verwenden möchten.
      • DISK_IMAGE_FAMILY: eine Image-Familie, die als Nicht-Bootlaufwerk verwendet werden soll.
    • DISK_IMAGE_PROJECT: Image-Projekt, zu dem das Laufwerk-Image gehört.
    • SIZE_GB: Optional: Größe des Nicht-Bootlaufwerks.
    • DISK_TYPE (optional) legt den Typ des nichtflüchtigen Speichers fest. Beispiel: pd-ssd Bei leeren Laufwerken geben Sie die Parameter DISK_IMAGE, DISK_IMAGE_FAMILY oder DISK_IMAGE_PROJECT nicht an.

    Formatieren und stellen Sie die Laufwerke bereit, bevor Sie sie verwenden.

API

Sie können beim Erstellen einer VM-Instanz bis zu 128 Nicht-Bootlaufwerke erstellen. Geben Sie dazu für jedes zusätzliche Laufwerk das Attribut initializeParams an. Sie können zusätzliche Laufwerke mit einem öffentlichen oder mit einem privaten Image erstellen. Wenn Sie ein leeres Laufwerk erstellen möchten, geben Sie für den Eintrag initializeParams keinen sourceImage-Wert an.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/PROJECT_ZONE/instances

{
 "machineType": "zones/MACHINE_TYPE_ZONE/machineTypes/MACHINE_TYPE",
 "name": "VM_NAME",
 "disks": [
   {
     "initializeParams": {
       "sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE"
     },
     "boot": true
   },
   {
     "initializeParams": {
       "diskSizeGb": "SIZE_GB",
       "sourceImage": "projects/DISK_IMAGE_PROJECT/global/images/DISK_IMAGE",
       "diskType": "DISK_TYPE"
   },
   {
     "initializeParams": {
     "diskSizeGb": "SIZE_GB",
     "diskType": "DISK_TYPE"
   }
    }...]

Dabei gilt:

  • PROJECT_ID ist die ID des Projekts, in dem die VM erstellt werden soll.
  • PROJECT_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.
  • Für IMAGE oder IMAGE_FAMILY muss eine der folgenden Optionen angegeben werden:
    • 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. Dadurch wird die VM aus der neuesten nicht verworfenen Version des Betriebssystem des Betriebssystem-Images in Ihrer benutzerdefinierten Image-Familie erstellt. 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 benutzerdefinierten my-debian-family-Image-Familie an.
  • Ersetzen Sie für zusätzliche Laufwerke folgende Optionen:
    • SIZE_GB: Laufwerkgröße
    • DISK_IMAGE oder DISK_IMAGE_FAMILY: Geben Sie entweder ein Quell-Image oder eine Image-Familie für das Nicht-Bootlaufwerk an:
      • DISK_IMAGE: der Name des Images, das Sie als Nicht-Bootlaufwerk verwenden möchten. Beispiel: "sourceImage": "projects/DISK_IMAGE_PROJECT/global/images/DISK_IMAGE"
      • DISK_IMAGE_FAMILY: eine Image-Familie, die als Nicht-Bootlaufwerk verwendet werden soll. Beispiel: "sourceImage": "projects/DISK_IMAGE_PROJECT/global/images/family/DISK_IMAGE_FAMILY"
    • DISK_TYPE: Typ des nichtflüchtigen Speichers. Beispiel: pd-ssd Bei leeren Laufwerken geben Sie die Parameter DISK_IMAGE, DISK_IMAGE_FAMILY oder DISK_IMAGE_PROJECT nicht an.

Formatieren und stellen Sie die Laufwerke bereit, bevor Sie sie verwenden.

VM-Instanz aus einem freigegebenen Image erstellen

Wenn ein anderer Nutzer ein Image für Sie freigegeben hat, können Sie dieses Image zum Erstellen einer VM verwenden.

Console

  1. Rufen Sie die Seite VM-Instanzen auf.

    Zu „VM-Instanzen“

  2. Wählen Sie Ihr Projekt aus und klicken Sie auf Weiter.

  3. Klicken Sie auf Instanz erstellen.

  4. Geben Sie einen Namen für Ihre VM an. Weitere Informationen finden Sie unter Konvention für Ressourcennamen.

  5. Ändern Sie optional die Zone für diese VM. In Compute Engine wird die Liste der Zonen in jeder Region zufällig angeordnet, um die Verwendung in mehreren Zonen zu fördern.

  6. Wählen Sie eine Maschinenkonfiguration für Ihre VM aus.

  7. Klicken Sie im Abschnitt Bootlaufwerk auf Ändern, um Ihr Bootlaufwerk zu konfigurieren.

    Das erstellte Bootlaufwerk sollte nicht größer als 2 TB sein, um die Einschränkungen von MBR-Partitionen zu berücksichtigen.

  8. Wählen Sie den Tab Benutzerdefinierte Images aus.

  9. Wählen Sie das Image-Projekt aus der Drop-down-Liste aus.

  10. Wählen Sie das gewünschte Image und klicken Sie auf Auswählen.

  11. Wählen Sie dann HTTP-Traffic zulassen oder HTTPS-Traffic zulassen aus, damit die VM HTTP- oder HTTPS-Traffic empfangen kann.

    In der Cloud Console werden der VM ein Netzwerk-Tag hinzugefügt und entsprechende Firewallregeln für eingehenden Traffic erstellt, die den gesamten eingehenden Traffic über tcp:80 (HTTP) oder tcp:443 (HTTPS) zulassen. Das Netzwerk-Tag ordnet die Firewallregel der VM zu. Weitere Informationen finden Sie unter Übersicht über Firewallregeln in der Virtual Private Cloud-Dokumentation.

  12. Klicken Sie auf Erstellen, um die VM zu erstellen und zu starten.

gcloud

Sie erstellen eine VM mit dem Befehl gcloud compute instances create und verwenden das Flag --image und --image-project, um den Image-Namen und das Projekt anzugeben, in dem das Images liegt:

gcloud compute instances create VM_NAME \
    --image IMAGE \
    --image-project IMAGE_PROJECT

Dabei gilt:

  • VM_NAME ist der Name der neuen VM.
  • IMAGE ist der Name des Images.
  • IMAGE_PROJECT ist das Projekt, zu dem das Image gehört.

Wenn der Befehl erfolgreich ausgeführt wurde, gibt gcloud die Attribute der neuen VM zurück:

Created [https://compute.googleapis.com/compute/v1/projects/myproject/zones/us-central1-b/instances/example-instance].
NAME                 ZONE           MACHINE_TYPE   PREEMPTIBLE  INTERNAL_IP  EXTERNAL_IP    STATUS
example-instance     us-central1-b  e2-standard-2               10.240.0.4   104.198.53.60  RUNNING

Formatieren und stellen Sie die Laufwerke bereit, bevor Sie sie verwenden.

API

Folgen Sie der API-Anleitung zum Erstellen einer VM aus einem öffentlichen Image, geben Sie dabei aber im Anfragetext das Feld image an. Wenn Sie ein leeres Laufwerk hinzufügen möchten, geben Sie keine Image-Quelle an. Optional können Sie die Attribute diskSizeGb, diskType und labels angeben.

[...
image: "projects/PROJECT_ID/global/images/IMAGE_NAME
{
 "initializeParams": {
    "diskSizeGb": "SIZE_GB",
    "sourceImage": "IMAGE"
       }
 }
 ...]

Dabei gilt:

  • PROJECT_ID: Projekt, das das Image enthält.
  • IMAGE_NAME ist das Quell-Image.
  • SIZE_GB: Laufwerkgröße
  • IMAGE ist das Quell-Image für das Nicht-Bootlaufwerk. Bei leeren Laufwerken geben Sie keine Image-Quelle an.

Formatieren und stellen Sie die Laufwerke bereit, bevor Sie sie verwenden.

VM-Instanz aus einem Snapshot erstellen

Wenn Sie einen nichtflüchtigen Bootspeicher per Snapshot gesichert haben, können Sie mit diesem eine VM erstellen.

Hinweis: Wenn Sie aus dem Snapshot eines Bootlaufwerks mehrere VMs erstellen möchten, sollten Sie benutzerdefinierte Images erstellen und stattdessen VMs aus diesem Bild erstellen. Boot-Laufwerke, die aus benutzerdefinierten Images erstellt wurden, benötigen weniger Zeit als Boot-Laufwerke, die aus Snapshots erstellt wurden.

Neues VM-Instanz-Bootlaufwerk aus einem Snapshot erstellen

Sie können den Snapshot eines Bootlaufwerks auf einem neuen Bootlaufwerk wiederherstellen, wenn Sie eine neue VM erstellen.

Console

  1. Rufen Sie die Seite VM-Instanzen auf.

    Zu „VM-Instanzen“

  2. Wählen Sie Ihr Projekt aus und klicken Sie auf Weiter.

  3. Klicken Sie auf Instanz erstellen.

  4. Geben Sie einen Namen für Ihre VM an. Weitere Informationen finden Sie unter Konvention für Ressourcennamen.

  5. Ändern Sie optional die Zone für diese VM. In Compute Engine wird die Liste der Zonen in jeder Region zufällig angeordnet, um die Verwendung in mehreren Zonen zu fördern.

  6. Wählen Sie eine Maschinenkonfiguration für Ihre VM aus.

  7. Klicken Sie im Abschnitt Bootlaufwerk auf Ändern, um Ihr Bootlaufwerk zu konfigurieren.

    Das erstellte Bootlaufwerk sollte nicht größer als 2 TB sein, um die Einschränkungen von MBR-Partitionen zu berücksichtigen.

  8. Klicken Sie auf den Tab Snapshots und wählen Sie einen Snapshot aus der Liste aus.

  9. Klicken Sie auf Auswählen.

  10. Wählen Sie dann HTTP-Traffic zulassen oder HTTPS-Traffic zulassen aus, damit die VM HTTP- oder HTTPS-Traffic empfangen kann.

    In der Cloud Console werden der VM ein Netzwerk-Tag hinzugefügt und entsprechende Firewallregeln für eingehenden Traffic erstellt, die den gesamten eingehenden Traffic über tcp:80 (HTTP) oder tcp:443 (HTTPS) zulassen. Das Netzwerk-Tag ordnet die Firewallregel der VM zu. Weitere Informationen finden Sie unter Übersicht über Firewallregeln in der Virtual Private Cloud-Dokumentation.

  11. Klicken Sie auf Erstellen, um die VM zu erstellen und zu starten.

gcloud

Verwenden Sie den Befehl gcloud compute instances create und fügen Sie das Flag --source-snapshot ein.

gcloud compute instances create VM_NAME \
    --source-snapshot BOOT_SNAPSHOT_NAME \
    --boot-disk-size BOOT_DISK_SIZE \
    --boot-disk-type BOOT_DISK_TYPE \
    --boot-disk-device-name BOOT_DISK_NAME

Dabei gilt:

  • VM_NAME ist der Name der neuen VM.
  • BOOT_SNAPSHOT_NAME ist der Name des Bootlaufwerk-Snapshots, den Sie auf dem Bootlaufwerk der neuen VM wiederherstellen möchten.
  • BOOT_DISK_SIZE (optional) ist die Größe des neuen Bootlaufwerks in Gigabyte. Die Größe muss größer oder gleich der Größe des Quelllaufwerks sein, auf dem der Snapshot erstellt wurde.
  • BOOT_DISK_TYPE (optional) ist der Typ des nichtflüchtigen Bootspeichers. Beispiel: pd-ssd
  • BOOT_DISK_NAME ist der Name des neuen Bootlaufwerks für diese VM.

API

Wenn Sie die API zum Erstellen einer VM aus einem Snapshot verwenden, gelten die folgenden Einschränkungen:

  • Nur ein nichtflüchtiger Speicher kann als nichtflüchtiger Bootspeicher verwendet werden.
  • Der nichtflüchtige Bootspeicher muss der VM als das erste Laufwerk hinzugefügt werden.
  • Wenn Sie das Attribut source angeben, können Sie nicht gleichzeitig das Attribut initializeParams anführen. source weist darauf hin, dass der nichtflüchtige Bootspeicher bereits vorhanden ist, aber das Attribut initializeParams gibt an, dass Compute Engine einen neuen nichtflüchtigen Bootspeicher erstellen soll.

    Zum Erstellen einer VM aus einem Bootlaufwerk-Snapshot geben Sie das Feld sourceSnapshot unter dem Attribut disks an. Optional können Sie die Attribute diskSizeGb und diskType für das neue Bootlaufwerk angeben:

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances
{
  "name": "VM_NAME",
  "machineType": "machineTypes/MACHINE_TYPE"
  "networkInterfaces": [{
    "accessConfigs": [{
      "type": "ONE_TO_ONE_NAT",
      "name": "External NAT"
    }],
    "network": "global/networks/default"
  }],
  "disks": [{
     "boot": true,
     "initializeParams": {
       "sourceSnapshot": "global/snapshots/BOOT_SNAPSHOT_NAME",
       "diskSizeGb": "BOOT_DISK_SIZE",
       "diskType": "BOOT_DISK_TYPE"
    }
   }],
 }

Dabei gilt:

  • PROJECT_ID: Ihre Projekt-ID.
  • ZONE ist die Zone, in der Sie die neue VM erstellen möchten.
  • VM_NAME ist der Name der VM, auf der Sie einen Snapshot wiederherstellen möchten.
  • MACHINE_TYPE ist der Maschinentyp der VM.
  • BOOT_SNAPSHOT_NAME ist der Name des Snapshots, den Sie zum Erstellen des Bootlaufwerks einer neuen VM verwenden möchten.
  • BOOT_DISK_SIZE (optional) ist die Größe des neuen Bootlaufwerks in Gigabyte. Die Größe muss größer oder gleich der Größe des Quelllaufwerks sein, auf dem der Snapshot erstellt wurde.
  • BOOT_DISK_TYPE (optional) ist der Typ des nichtflüchtigen Bootspeichers. Beispiel: pd-ssd

Snapshots ohne Startfunktion in einer neuen VM-Instanz wiederherstellen

Snapshots ohne Startfunktion sind Sicherungen sekundärer nichtflüchtiger Speicher, die Ihre VM nur für die Datenspeicherung verwendet. Sie können Snapshots ohne Startfunktion auf neuen Laufwerken wiederherstellen, wenn Sie eine VM erstellen. Alternativ können Sie Snapshots ohne Startfunktion in einer vorhandenen VM wiederherstellen.

Wenn Sie Snapshots ohne Startfunktion in einer neuen VM wiederherstellen möchten, gehen Sie beim Erstellen einer VM außerdem folgendermaßen vor:

Console

Wenn Sie von der Console aus Snapshots ohne Startfunktion in einer neuen VM wiederherstellen, müssen Sie zuerst ein Laufwerk aus jedem Snapshot erstellen. Fügen Sie dann die neuen Laufwerke hinzu, wenn Sie die VM erstellen.

  1. Stellen Sie alle Snapshots ohne Startfunktion auf einem neuen Laufwerk wieder her.

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

      Zur Seite „Laufwerke“

    2. Klicken Sie auf Laufwerk erstellen.

    3. Geben Sie einen Namen für Ihr Laufwerk an. Weitere Informationen finden Sie unter Konvention für Ressourcennamen.

    4. Wählen Sie die Region und Zone für das Laufwerk aus. Das Laufwerk und die VM müssen sich in derselben Zone befinden.

    5. Wählen Sie den Typ des Laufwerks aus.

    6. Wählen Sie unter Quelltyp die Option Snapshot aus.

    7. Wählen Sie unter dem neuen Feld Quell-Snapshot den Snapshot ohne Startfunktion aus, den Sie auf dem neuen Laufwerk wiederherstellen möchten.

    8. Klicken Sie auf Erstellen, um das Laufwerk anzulegen.

    9. Wiederholen Sie diese Schritte, um aus jedem Snapshot, den Sie wiederherstellen möchten, ein Laufwerk zu erstellen. Beim Erstellen einer VM können Sie bis zu 15 Nicht-Bootlaufwerke hinzufügen.

  2. Öffnen Sie in der Google Cloud Console die Seite VM-Instanzen.

    Zu „VM-Instanzen“

  3. Klicken Sie auf Instanz erstellen.

  4. Geben Sie einen Namen für Ihre VM an. Weitere Informationen finden Sie unter Konvention für Ressourcennamen.

  5. Wählen Sie die Region und Zone für die VM aus. Das Laufwerk und die VM müssen sich in derselben Zone befinden.

  6. Wählen Sie unter Maschinentyp einen Maschinentyp für Ihre VM aus.

  7. Wenn Sie eingehenden externen Traffic zulassen möchten, ändern Sie die Firewallregeln für die VM.

  8. So fügen Sie Laufwerke zur VM hinzu:

    1. Klicken Sie auf Verwaltung, Sicherheit, Laufwerke, Netzwerke, einzelne Mandanten.
    2. Wählen Sie den Tab Laufwerke aus.
    3. Klicken Sie unter Zusätzliche Laufwerke auf Vorhandenes Laufwerk hinzufügen.
    4. Wählen Sie unter dem neuen Feld Laufwerk ein Laufwerk aus, das zu dieser VM hinzugefügt werden soll.
    5. Geben Sie einen Modus und eine Löschregel für das Laufwerk an.
    6. Klicken Sie auf Fertig.
    7. Wiederholen Sie diese Schritte für jedes Laufwerk, das Sie hinzufügen möchten. Beim Erstellen einer VM können Sie bis zu 15 Nicht-Bootlaufwerke hinzufügen.
  9. Klicken Sie auf Erstellen, um die VM zu erstellen und zu starten.

  10. Formatieren und stellen Sie die Laufwerke bereit, bevor Sie sie verwenden.

gcloud

Erstellen Sie mit dem Befehl gcloud compute instances create eine VM. Fügen Sie für jeden Snapshot ohne Startfunktion, den Sie wiederherstellen möchten, das Flag --create-disk ein und geben Sie einen source-snapshot an. Beim Erstellen einer VM können Sie bis zu 15 Nicht-Bootlaufwerke hinzufügen.

Mit dem folgenden Befehl können Sie zum Beispiel zwei Snapshots ohne Startfunktion in einer neuen VM wiederherstellen:

gcloud compute instances create VM_NAME \
    --create-disk source-snapshot=SNAPSHOT_1_NAME,name=DISK_1_NAME,size=DISK_1_SIZE,type=DISK_1_TYPE \
    --create-disk source-snapshot=SNAPSHOT_2_NAME,name=DISK_2_NAME,size=DISK_2_SIZE,type=DISK_2_TYPE

Dabei gilt:

  • VM_NAME ist der Name der neuen VM.
  • SNAPSHOT_1_NAME und SNAPSHOT_2_NAME sind die Namen der Snapshots ohne Startfunktion, die Sie wiederherstellen möchten.
  • DISK_1_NAME und DISK_2_NAME sind die Namen der neuen Nicht-Bootlaufwerke für diese VM.
  • DISK_1_SIZE und DISK_2_SIZE (optional) sind die Größen der jeweiligen neuen Nicht-Bootlaufwerke in Gigabyte. Die Größe muss größer oder gleich der Größe der Quelllaufwerke sein, auf denen der Snapshot erstellt wurde.
  • DISK_1_TYPE und DISK_2_TYPE (optional) sind die Typen der nichtflüchtigen Speicher. Beispiel: pd-ssd

API

Wenn Sie die API zum Wiederherstellen eines Snapshots ohne Startfunktion in einer neuen VM verwenden, gelten die folgenden Einschränkungen:

  • Nur 1 nichtflüchtiger Speicher kann der nichtflüchtige Bootspeicher sein.
  • Der nichtflüchtige Bootspeicher muss der VM als das erste Laufwerk hinzugefügt werden.
  • Wenn Sie das Attribut source angeben, können Sie nicht gleichzeitig das Attribut initializeParams verwenden. source weist darauf hin, dass der nichtflüchtige Bootspeicher bereits vorhanden ist, aber das Attribut initializeParams gibt an, dass Compute Engine einen neuen nichtflüchtigen Bootspeicher erstellen soll.

Geben Sie unter Verwendung der Beta-API das Feld sourceSnapshot unter dem Attribut initializeParams an. Sie können bis zu 15 Nicht-Bootlaufwerke hinzufügen. Geben Sie dazu das Attribut initializeParams bei jedem Nicht-Bootlaufwerk an, das Sie erstellen möchten. Optional können Sie die Attribute diskSizeGb und diskType für alle von Ihnen erstellten Laufwerke angeben.

Wenn Sie beispielsweise zwei Snapshots ohne Startfunktion in einer neuen VM wiederherstellen möchten, stellen Sie folgende Anfrage:

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances
{
  "name": "VM_NAME",
  "machineType": "machineTypes/MACHINE_TYPE"
  "networkInterfaces": [{
    "accessConfigs": [{
      "type": "ONE_TO_ONE_NAT",
      "name": "External NAT"
    }],
    "network": "global/networks/default"
  }],
  "disks": [{
     "autoDelete": "true",
     "boot": "true",
     "type": "PERSISTENT",
     "diskSizeGb": "DISK_SIZE",
     "diskType": "DISK_TYPE"
   },
   {
     "initializeParams": {
        "sourceSnapshot": "global/snapshots/SNAPSHOT_1_NAME",
        "diskSizeGb": "DISK_SIZE",
        "diskType": "DISK_TYPE"
     }
   },
   {
     "initializeParams": {
        "sourceSnapshot": "global/snapshots/SNAPSHOT_2_NAME",
        "diskSizeGb": "DISK_SIZE",
        "diskType": "DISK_TYPE"
     }
  }]
 }

Dabei gilt:

  • PROJECT_ID: Ihre Projekt-ID.
  • ZONE ist die Zone, in der Sie die VM erstellen möchten.
  • VM_NAME ist der Name der VM, auf der Sie einen Snapshot wiederherstellen möchten.
  • MACHINE_TYPE ist der Maschinentyp der VM.
  • DISK_SIZE (optional) ist die Größe des entsprechenden Laufwerks in Gigabyte. Wenn dieses Attribut angegeben wird, muss es größer oder gleich der Größe des Quelllaufwerks sein, auf dem der Snapshot erstellt wurde.
  • DISK_TYPE (optional) ist der Typ des entsprechenden nichtflüchtigen Speichers. Beispiel: pd-ssd
  • SNAPSHOT_1_NAME und SNAPSHOT_2_NAME sind Namen von Snapshots ohne Startfunktion, die Sie auf neuen Nicht-Bootlaufwerken auf der neuen VM wiederherstellen möchten.

VM-Instanz aus einem Container-Image erstellen

Wenn Sie einen Container auf einer Compute Engine-VM bereitstellen und starten möchten, geben Sie beim Erstellen der VM einen Container-Image-Namen und optionale Konfigurationsparameter an. Compute Engine erstellt die VM mit der neuesten Version des öffentlichen Images für Container-Optimized OS, auf dem Docker installiert ist. Dann startet Compute Engine den Container beim Start der VM. Weitere Informationen dazu finden Sie unter Container auf VMs bereitstellen.

Console

  1. Öffnen Sie in der Google Cloud Console die Seite VM-Instanzen.

    Zu „VM-Instanzen“

  2. Klicken Sie auf Instanz erstellen.

  3. Geben Sie einen Namen für Ihre VM an. Weitere Informationen finden Sie unter Konvention für Ressourcennamen.

  4. Klicken Sie im Abschnitt Container das Kästchen Container-Image für diese VM-Instanz erstellen an.

  5. Geben Sie das zu verwendende Container-Image an. Beispiel:

    • So wählen Sie ein NGINX 1.12-Container-Image aus Cloud Launcher aus:

      gcr.io/cloud-marketplace/google/nginx1:1.12

    • Wenn Sie ein Apache-Container-Image von Docker Hub bereitstellen möchten, geben Sie immer den vollständigen Docker-Image-Namen an:

      docker.io/httpd:2.4

  6. Optional: Klicken Sie auf Erweiterte Containeroptionen. Weitere Informationen finden Sie unter Optionen zum Ausführen von Containern konfigurieren.

  7. Klicken Sie auf Erstellen, um die VM zu erstellen sowie die VM und den Container zu starten.

gcloud

Führen Sie den Befehl gcloud compute instances create-with-container aus:

gcloud compute instances create-with-container VM_NAME \
    --container-image CONTAINER_IMAGE

Dabei gilt:

  • VM_NAME ist der Name der neuen VM.
  • CONTAINER_IMAGE ist der Name des Container-Images.

Mit dem folgenden Befehl wird beispielsweise eine VM mit dem Namen nginx-vm erstellt, die das Container-Image startet und ausführt:

gcr.io/cloud-marketplace/google/nginx1:1.12

gcloud compute instances create-with-container nginx-vm \
    --container-image gcr.io/cloud-marketplace/google/nginx1:1.12

Wenn Sie ein Apache-Container-Image von Docker Hub bereitstellen möchten, geben Sie immer den vollständigen Docker-Image-Namen an:

docker.io/httpd:2.4.

VM-Instanz mit Zugriff auf andere Google Cloud-Dienste erstellen

Wenn Sie auf Ihrer VM eine Anwendung ausführen möchten, die auf andere Google Cloud-Dienste zugreifen muss, erstellen Sie ein Dienstkonto, bevor Sie die VM erstellen. Folgen Sie dann der Anleitung zum Einrichten einer VM, die als Dienstkonto ausgeführt werden soll. Ein Dienstkonto ist ein spezielles Konto, dessen Anmeldedaten Sie in Ihrem Anwendungscode verwenden können, um auf andere Google Cloud-Dienste zuzugreifen.

Weitere Informationen zu Dienstkonten finden Sie unter Dienstkonten.

VM-Instanz in einem bestimmten Subnetz erstellen

Standardmäßig erstellt Google Cloud für jedes Projekt ein VPC-Netzwerk im automatischen Modus mit dem Namen default. Wenn Sie eine VM ohne Angabe der Netzwerkdetails erstellen, verwendet Compute Engine das Standard-VPC-Netzwerk und das automatische Subnetz, das sich in derselben Region wie die VM befindet.

Möchten Sie ein anderes Netzwerk bzw. Subnetz verwenden, das Sie manuell in einem VPC-Netzwerk im automatischen oder im benutzerdefinierten Modus erstellt haben, müssen Sie das Subnetz beim Erstellen der VM angeben.

Console

  1. Öffnen Sie in der Google Cloud Console die Seite VM-Instanzen.

    Zu „VM-Instanzen“

  2. Wählen Sie Ihr Projekt aus und klicken Sie auf Weiter.

  3. Klicken Sie auf Instanz erstellen.

  4. Geben Sie einen Namen für Ihre VM an. Weitere Informationen finden Sie unter Konvention für Ressourcennamen.

  5. Ändern Sie optional die Zone für diese VM. In Compute Engine wird die Liste der Zonen in jeder Region zufällig angeordnet, um die Verwendung in mehreren Zonen zu fördern.

  6. Wählen Sie dann HTTP-Traffic zulassen oder HTTPS-Traffic zulassen aus, damit die VM HTTP- oder HTTPS-Traffic empfangen kann.

    In der Cloud Console werden der VM ein Netzwerk-Tag hinzugefügt und entsprechende Firewallregeln für eingehenden Traffic erstellt, die den gesamten eingehenden Traffic über tcp:80 (HTTP) oder tcp:443 (HTTPS) zulassen. Das Netzwerk-Tag ordnet die Firewallregel der VM zu. Weitere Informationen finden Sie unter Übersicht über Firewallregeln in der Virtual Private Cloud-Dokumentation.

  7. Maximieren Sie den Abschnitt Verwaltung, Sicherheit, Laufwerke, Netzwerke, einzelne Mandanten.

  8. Geben Sie im Tab Netzwerke unter Netzwerkschnittstellen die Netzwerkdetails an.

    1. Wählen Sie im Feld Netzwerk das VPC-Netzwerk aus, welches das von Ihnen erstellte Subnetz enthält.
    2. Wählen Sie dann im Feld Subnetz das Subnetz aus, das die VM verwenden soll.
  9. Klicken Sie auf Erstellen, um die VM zu erstellen und zu starten.

gcloud

Verwenden Sie das gcloud-Befehlszeilentool und folgen Sie der Anleitung zum Erstellen einer VM aus einem Image oder einem Snapshot. Fügen Sie dabei die Flags --subnet SUBNET_NAME und --zone ZONE_NAME hinzu, wenn Sie den Befehl gcloud compute instances create ausführen:

gcloud compute instances create VM_NAME \
    --subnet SUBNET_NAME \
    --zone ZONE_NAME

Dabei gilt:

  • VM_NAME ist der Name der VM.
  • SUBNET_NAME ist der Name des Subnetzes. Das Netzwerk wird aus dem angegebenen Subnetz abgeleitet.
  • ZONE_NAME ist die Zone, in der die VM erstellt wird, z. B. europe-west1-b. Die Region der VM wird aus der Zone abgeleitet.

Formatieren und stellen Sie die Laufwerke bereit, bevor Sie sie verwenden.

API

Gehen Sie vor, wie in der API-Anleitung zum Erstellen einer VM aus einem Image oder einem Snapshot beschrieben. Geben Sie dabei aber das Feld subnet im Anfragetext an. Wenn Sie leere Laufwerke hinzufügen möchten, geben Sie kein Quell-Image an. Optional können Sie die Attribute diskSizeGb, diskType und labels angeben.

...
"networkInterfaces": [
{
  "network": "global/networks/NETWORK_NAME",
  "subnetwork": "regions/REGION/subnetworks/SUBNET_NAME",
  "accessConfigs":
    {
      "name": "External NAT",
      "type": "ONE_TO_ONE_NAT"
    }
    {
      "initializeParams": {
         "diskSizeGb": "SIZE_GB",
         "sourceImage": "IMAGE"
    {
      "initializeParams": {
      "diskSizeGb": "SIZE_GB"
     }
 }...]

Dabei gilt:

  • NETWORK_NAME ist das Netzwerk, in dem die VM erstellt werden soll.
  • REGION ist der Name der Region, in der die VM erstellt werden soll.
  • SUBNET_NAME ist der Name des Subnetzes.
  • SIZE_GB: Laufwerkgröße
  • IMAGE ist das Quell-Image für das Nicht-Bootlaufwerk. Bei leeren Laufwerken geben Sie keine Image-Quelle an.

Formatieren und stellen Sie die Laufwerke bereit, bevor Sie sie verwenden.

Nächste Schritte

Jetzt testen

Wenn Sie mit Google Cloud noch nicht vertraut sind, erstellen Sie einfach ein Konto, um die Leistungsfähigkeit von Compute App Enginge in der Praxis sehen und bewerten zu können. Neukunden erhalten außerdem ein Guthaben von 300 $, um Arbeitslasten auszuführen, zu testen und bereitzustellen.

Compute Engine kostenlos testen