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.

Beim Erstellen einer VM-Instanz können Sie mehrere Laufwerke anlegen. Es ist aber auch möglich, nach dem Erstellen weitere Laufwerke hinzuzufügen. Nach dem Erstellen einer VM-Instanz wird diese von Compute Engine automatisch gestartet.

In diesem Dokument werden grundlegende Möglichkeiten zum Erstellen einer Instanz erläutert. Informationen zu spezifischeren oder komplizierteren Instanzkonfigurationen 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

Aus einem Image eine Instanz 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.

Aus einem öffentlichen Image eine Instanz 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 unter Name einen Namen für Ihre Instanz an. Weitere Informationen finden Sie unter Konvention für Ressourcennamen.

  5. Ändern Sie optional die Zone für diese Instanz. 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 Instanz aus.

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

  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 Instanz 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 ist 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. Sie müssen erst einmal so ein benutzerdefiniertes Image haben, damit Sie eine Instanz mit einem benutzerdefinierten Image erstellen können. Unter Benutzerdefiniertes Image erstellen finden Sie Informationen dazu.

Console

  1. Rufen Sie die Seite VM-Instanzen auf.

    Zur Seite „VM-Instanzen“

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

  3. Klicken Sie auf die Schaltfläche Instanz erstellen.

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

  5. Ändern Sie optional die Zone für diese Instanz.

    Hinweis: Die Liste der Zonen ist in jeder Region zufällig angeordnet, um die Verwendung in mehreren Zonen zu fördern.

  6. Wählen Sie eine Maschinenkonfiguration für Ihre Instanz 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 Instanz 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 Instanz zu. Weitere Informationen finden Sie unter Übersicht über Firewallregeln in der Virtual Private Cloud-Dokumentation.

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

gcloud

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 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 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 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 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 unter Name einen Namen für Ihre Instanz an. Weitere Informationen finden Sie unter Konvention für Ressourcennamen.

  5. Ändern Sie optional die Zone für diese Instanz. 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 Instanz aus.

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

  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 sekundäre 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 Instanz zu erstellen und zu starten.

gcloud

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

Sie können bis zu 128 sekundäre Nicht-Bootlaufwerke hinzufügen, während Sie Ihre Instanz erstellen. Geben Sie das Flag --create-disk für jedes erstellte sekundäre Laufwerk an.

Wenn Sie sekundäre Laufwerke 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 ist 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 ist Name des Images, das Sie als sekundäres Laufwerk verwenden möchten.
      • DISK_IMAGE_FAMILY gibt eine Image-Familie an, die als sekundäres Laufwerk verwendet werden soll.
    • DISK_IMAGE_PROJECT: Image-Projekt, zu dem das Laufwerk-Image gehört.
    • SIZE_GB (optional) gibt die Größe des sekundären Laufwerks an.
    • DISK_TYPE (optional) legt den Typ des nichtflüchtigen Speichers fest. Beispiel: pd-ssd

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

API

Sie können bis zu 128 sekundäre Nicht-Bootlaufwerke erstellen, während Sie eine VM-Instanz erstellen. Verwenden Sie dazu für jedes zusätzliche Laufwerk das Attribut initializeParams. 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: Laufwerksgröße
    • Geben Sie für DISK_IMAGE oder DISK_IMAGE_FAMILY entweder ein Quell-Image oder eine Image-Familie für das sekundäre Laufwerk an.
      • DISK_IMAGE ist der Name des Images, das Sie als sekundäres Laufwerk verwenden möchten. Beispiel: "sourceImage": "projects/DISK_IMAGE_PROJECT/global/images/DISK_IMAGE"
      • DISK_IMAGE_FAMILY gibt eine Image-Familie an, die als sekundäres Laufwerk verwendet werden soll. Beispiel: "sourceImage": "projects/DISK_IMAGE_PROJECT/global/images/family/DISK_IMAGE_FAMILY"
    • DISK_TYPE: Typ des nichtflüchtigen Speichers, pd-standard oder pd-ssd.

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

Aus einem geteilten Image eine Instanz erstellen

Wenn ein anderer Nutzer ein Image mit Ihnen geteilt hat, können Sie dieses Image zum Erstellen einer neuen Instanz 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 die Schaltfläche Instanz erstellen.

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

  5. Ändern Sie optional die Zone für diese Instanz.

  6. Wählen Sie eine Maschinenkonfiguration für Ihre Instanz 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 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 Instanz 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 Instanz zu. Weitere Informationen finden Sie unter Übersicht über Firewallregeln in der Virtual Private Cloud-Dokumentation.

  12. So fügen Sie der VM-Instanz sekundäre Nicht-Bootlaufwerke 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 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 bei Bedarf weitere Laufwerke hinzu.
  13. Klicken Sie auf Erstellen, um die Instanz zu erstellen und zu starten.

gcloud

Erstellen Sie mit dem Befehl gcloud compute instances create eine Instanz und verwenden Sie dabei die Flags --image und --image-project, um den Image-Namen und das Projekt anzugeben, in dem sich das Image befindet:

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

Sie können bis zu 128 sekundäre Nicht-Bootlaufwerke hinzufügen, während Sie Ihre Instanz erstellen. Geben Sie das Flag --create-disk für jedes erstellte sekundäre Laufwerk an. Wenn Sie sekundäre Laufwerke aus einem öffentlichen oder einem vorhandenen Image erstellen möchten, geben Sie im Flag --create-disk die Attribute image und image-project an. Für die Erstellung eines leeren Laufwerks geben Sie diese Attribute nicht an. Fügen Sie optional Attribute für das Laufwerk size und type hinzu.

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

Dabei gilt:

  • VM_NAME ist der Name der neuen Instanz.
  • IMAGE_FAMILY ist eine der verfügbaren Image-Familien.
  • IMAGE_PROJECT ist das Projekt, zu dem das Image gehört.
  • DISK_IMAGE ist das Quell-Image für das sekundäre Laufwerk. Führen Sie den Befehl gcloud compute images list aus, um eine Liste der verfügbaren Images abzurufen. Bei leeren Laufwerken geben Sie weder Laufwerk-Image noch Image-Projekt an.
  • DISK_IMAGE_PROJECT ist das Image-Projekt, zu dem das Laufwerk-Image gehört. Bei leeren Laufwerken geben Sie weder Laufwerk-Image noch Image-Projekt an.
  • SIZE_GB ist die Größe des sekundären Laufwerks.
  • DISK_TYPE: Typ des nichtflüchtigen Speichers, pd-standard oder pd-ssd.

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

API

Folgen Sie der API-Anleitung zum Erstellen einer Instanz aus einem öffentlichen Image und geben Sie dabei im Anfragetext das Feld image an. Sie können bis zu 128 sekundäre Nicht-Bootlaufwerke hinzufügen. Geben Sie dazu das Feld initializeParams für jedes zusätzliche Laufwerk 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: Laufwerksgröße
  • IMAGE ist das Quell-Image für das sekundäre Laufwerk. 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 Instanz erstellen.

Hinweis: Wenn Sie aus dem Snapshot eines Bootlaufwerks mehrere Instanzen erstellen möchten, legen Sie stattdessen ein benutzerdefiniertes Image an und erstellen die Instanzen dann aus diesem Image. Benutzerdefinierte Images können die Bootlaufwerke von Instanzen schneller und effizienter als Snapshots erstellen.

Neues VM-Instanz-Bootlaufwerk aus einem Snapshot erstellen

Sie können den Snapshot eines Bootlaufwerks auf einem neuen Bootlaufwerk wiederherstellen, wenn Sie eine neue Instanz 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 die Schaltfläche Instanz erstellen.

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

  5. Ändern Sie optional die Zone für diese Instanz.

  6. Wählen Sie eine Maschinenkonfiguration für Ihre Instanz 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-Instanz HTTP- oder HTTPS-Traffic empfangen kann.

    In der Cloud Console 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) oder tcp:443 (HTTPS) zulassen. Das Netzwerk-Tag ordnet die Firewallregel der Instanz zu. Weitere Informationen finden Sie unter Übersicht über Firewallregeln in der Virtual Private Cloud-Dokumentation.

  11. So fügen Sie der VM-Instanz sekundäre Nicht-Bootlaufwerke 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 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 bei Bedarf weitere Laufwerke hinzu.
  12. Klicken Sie auf Erstellen, um die Instanz 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 Instanz 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 Instanz.

Optional: Wenn Sie außerdem einen Snapshot ohne Startfunktion wiederherstellen möchten, hängen Sie das Flag --create-disk an und geben Sie einen source-snapshot an. Wiederholen Sie das Flag --create-disk, um für jeden Snapshot, den Sie wiederherstellen möchten, ein Nicht-Bootlaufwerk zu erstellen. Beim Erstellen einer Instanz können Sie bis zu 15 Nicht-Bootlaufwerke hinzufügen.

    --create-disk source-snapshot=SNAPSHOT_NAME,name=DISK_NAME,size=DISK_SIZE,type=DISK_TYPE

Dabei gilt:

  • SNAPSHOT_NAME ist der Name eines Snapshots ohne Startfunktion, den Sie wiederherstellen möchten.
  • DISK_NAME ist der Name eines neuen Nicht-Bootlaufwerks für diese Instanz.
  • DISK_SIZE (optional) ist die Größe des neuen Laufwerks in Gigabyte. Die Größe muss größer oder gleich der Größe des Quelllaufwerks sein, auf dem der Snapshot erstellt wurde.
  • DISK_TYPE (optional) ist der Typ des nichtflüchtigen Speichers, pd-standard oder pd-ssd.

API

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

  • Nur ein nichtflüchtiger Speicher kann als nichtflüchtiger Bootspeicher verwendet werden.
  • Der nichtflüchtige Speicher mit Startfunktion muss der Instanz 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.

    Um aus einem Bootlaufwerk-Snapshot eine Instanz zu erstellen, 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: ist Ihre Projekt-ID.
  • ZONE ist die Zone, in der Sie die neue Instanz erstellen möchten.
  • VM_NAME ist der Name der VM, auf der Sie einen Snapshot wiederherstellen möchten.
  • MACHINE_TYPE ist der Maschinentyp der Instanz.
  • BOOT_SNAPSHOT_NAME ist der Name des Snapshots, den Sie zum Erstellen des Bootlaufwerks einer neuen Instanz 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 Bootlaufwerks, pd-standard oder pd-ssd.

Snapshots ohne Startfunktion in einer neuen Instanz wiederherstellen

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

Wenn Sie Snapshots ohne Startfunktion in einer neuen Instanz wiederherstellen möchten, führen Sie diese zusätzlichen Schritte aus, wenn Sie eine Instanz erstellen.

Console

Wenn Sie von der Console aus Snapshots ohne Startfunktion in einer neuen Instanz wiederherstellen, müssen Sie zuerst ein Laufwerk aus jedem Snapshot erstellen. Fügen Sie dann die neuen Laufwerke hinzu, wenn Sie die neue Instanz 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.

      Hinweis: Sie können ein Laufwerk nur zu einer Instanz hinzufügen, wenn sich beide 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 Instanz können Sie bis zu 15 sekundäre 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 unter Name einen Namen für Ihre Instanz an. Weitere Informationen finden Sie unter Konvention für Ressourcennamen.

  5. Wählen Sie die Region und Zone für diese Instanz aus.

    Hinweis: Sie können ein Laufwerk nur zu einer Instanz hinzufügen, wenn sich beide in derselben Zone befinden.

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

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

  8. So fügen Sie Laufwerke zur Instanz 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 Instanz 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 Instanz können Sie bis zu 15 sekundäre Nicht-Bootlaufwerke hinzufügen.
  9. Klicken Sie auf Erstellen, um die Instanz zu erstellen und zu starten.

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

gcloud

Erstellen Sie eine neue Instanz mit dem Befehl gcloud compute instances create. 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 Instanz können Sie bis zu 15 sekundäre Nicht-Bootlaufwerke hinzufügen.

Verwenden Sie beispielsweise den folgenden Befehl, um zwei Snapshots ohne Startfunktion in einer neuen Instanz wiederherzustellen:

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 Instanz.
  • 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 nichtflüchtigen Speichertypen, pd-standard oder pd-ssd.

API

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

  • Nur 1 nichtflüchtiger Speicher kann der nichtflüchtige Speicher mit Startfunktion sein.
  • Der nichtflüchtige Speicher mit Startfunktion muss der Instanz 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 sekundäre Nicht-Bootlaufwerke hinzufügen. Wiederholen Sie dazu das Attribut initializeParams bei jedem Nicht-Bootlaufwerk, 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 Instanz 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: ist Ihre Projekt-ID.
  • ZONE ist die Zone, in der Sie die neue Instanz erstellen möchten.
  • VM_NAME ist der Name der VM, auf der Sie einen Snapshot wiederherstellen möchten.
  • MACHINE_TYPE ist der Maschinentyp der Instanz.
  • 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 ist der Typ des entsprechenden nichtflüchtigen Speichers, pd-standard oder pd-ssd.
  • SNAPSHOT_1_NAME und SNAPSHOT_2_NAME sind die Namen der Snapshots ohne Startfunktion, die Sie auf neuen Nicht-Bootlaufwerken auf der neuen Instanz wiederherstellen möchten.

Instanzen aus einem Container-Image erstellen

Wenn Sie einen Container in einer Compute Engine-Instanz bereitstellen und starten möchten, geben Sie beim Erstellen der Instanz einen Container-Image-Namen und optionale Konfigurationsparameter an. Compute Engine erstellt die Instanz 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 unter Name einen Namen für Ihre Instanz 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 Instanz zu erstellen und sie zusammen mit dem 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 Instanz.
  • CONTAINER_IMAGE ist der Name des Container-Images.

Mit dem folgenden Befehl wird beispielsweise eine VM-Instanz 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.

Instanz mit Zugriff auf andere Google Cloud-Dienste erstellen

Wenn Sie auf Ihrer VM-Instanz eine Anwendung ausführen möchten, die auf andere Google Cloud-Dienste zugreifen muss, erstellen Sie ein Dienstkonto, bevor Sie die Instanz anlegen. Folgen Sie dann der Anleitung zum Einrichten einer Instanz, 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.

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 Instanz ohne Angabe der Netzwerkdetails anlegen, verwendet Compute Engine das Standard-VPC-Netzwerk und das automatische Subnetz, das sich in derselben Region wie die Instanz 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 Instanz angeben.

Console

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

    Zur Seite „VM-Instanzen“

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

  3. Klicken Sie auf die Schaltfläche Instanz erstellen.

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

  5. Ändern Sie optional die Zone für diese Instanz.

  6. 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 Instanz 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 Instanz 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 Instanz verwenden soll.
  9. So fügen Sie der VM-Instanz sekundäre Nicht-Bootlaufwerke 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 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.
  10. Klicken Sie auf Erstellen, um die Instanz zu erstellen und zu starten.

gcloud

Führen Sie mit dem gcloud-Befehlszeilentool die gleichen Schritte aus, um eine Instanz aus einem Image oder aus einem Snapshot zu erstellen, und fügen Sie 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 Instanz.
  • SUBNET_NAME ist der Name des Subnetzes. Das Netzwerk wird aus dem angegebenen Subnetz abgeleitet.
  • ZONE_NAME ist die Zone, in der die Instanz erstellt wird, z. B. europe-west1-b. Die Region der Instanz wird aus der Zone abgeleitet.

Sie können bis zu 128 sekundäre Nicht-Bootlaufwerke hinzufügen, während Sie Ihre Instanz erstellen. Geben Sie das Flag --create-disk für jedes erstellte sekundäre Laufwerk an. Wenn Sie sekundäre Laufwerke aus einem öffentlichen oder einem vorhandenen Image erstellen möchten, geben Sie im Flag --create-disk die Attribute image und image-project an. Für die Erstellung eines leeren Laufwerks geben Sie diese Attribute nicht an. Fügen Sie optional Attribute für das Laufwerk size und type hinzu.

gcloud compute instances create VM_NAME \
    --subnet SUBNET_NAME \
    --zone ZONE_NAME \
    --image-family IMAGE_FAMILY \
    --image-project IMAGE_PROJECT \
    --create-disk image=DISK_IMAGE,image-project=DISK_IMAGE_PROJECT,size=SIZE_GB,type=DISK_TYPE

Dabei gilt:

  • VM_NAME ist der Name der neuen VM.
  • SUBNET_NAME ist der Name des Subnetzes.
  • ZONE_NAME ist der Name der Zone, in der die Instanz erstellt wird, z. B. europe-west1-b.
  • IMAGE_FAMILY steht für die verfügbaren Image-Familien.
  • IMAGE_PROJECT ist das Image-Projekt, zu dem das Image gehört.
  • DISK_IMAGE ist das Quell-Image für das sekundäre Laufwerk. Führen Sie den Befehl gcloud compute images list aus, um eine Liste der verfügbaren Images abzurufen. Bei leeren Laufwerken geben Sie weder Laufwerk-Image noch Image-Projekt an.
  • DISK_IMAGE_PROJECT ist das Image-Projekt, zu dem das Laufwerk-Image gehört. Bei leeren Laufwerken geben Sie weder Laufwerk-Image noch Image-Projekt an.
  • SIZE_GB ist die Größe des sekundären Laufwerks.
  • DISK_TYPE: Typ des nichtflüchtigen Speichers, pd-standard oder pd-ssd.

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

API

Gehen Sie vor, wie in der API-Anleitung zum Erstellen einer Instanz aus einem Image oder zum Erstellen einer Instanz aus einem Snapshot beschrieben. Geben Sie dabei aber das Feld subnet im Anfragetext an. Zum Hinzufügen von bis zu 128 sekundären Nicht-Bootlaufwerken verwenden Sie für jedes Laufwerk das Attribut initializeParams. 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 Instanz erstellt werden soll.
  • REGION ist der Name der Region, in der die Instanz erstellt werden soll.
  • SUBNET_NAME ist der Name des Subnetzes.
  • SIZE_GB ist die Laufwerkgröße.
  • IMAGE ist das Quell-Image für das sekundäre Laufwerk. Bei leeren Laufwerken geben Sie keine Image-Quelle an.

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

Nächste Schritte