Benutzerdefinierte VM-Instanz erstellen

Compute Engine bietet vordefinierte Maschinentypen, die Sie beim Erstellen einer VM-Instanz verwenden können. Ein vordefinierter Maschinentyp hat eine voreingestellte Anzahl von vCPUs und eine vorgegebene Speichergröße und wird zu einem festen Preis abgerechnet.

Wenn vordefinierte Maschinentypen Ihren Anforderungen nicht entsprechen, können Sie eine VM-Instanz mit benutzerdefinierten virtualisierten Hardwareeinstellungen erstellen. Sie können eine VM-Instanz mit einer benutzerdefinierten Anzahl von vCPUs und einer benutzerdefinierten Speichergröße erzeugen, wodurch Sie praktisch einen benutzerdefinierten Maschinentyp verwenden. Benutzerdefinierte Maschinentypen sind in der Maschinenfamilie für allgemeine Zwecke verfügbar. Wenn Sie eine benutzerdefinierte VM erstellen, stellen Sie eine benutzerdefinierte VM aus der Maschinenfamilie E2, N2, N2D oder N1 bereit.

Benutzerdefinierte VMs sind in folgenden Szenarien ideal:

  • Arbeitslasten, die mit den vordefinierten Maschinentypen nicht bewältigt werden können.
  • Arbeitslasten, die mehr Verarbeitungsleistung oder mehr Speicher benötigen, aber nicht alle Upgrades, die der nächstgrößere vordefinierte Maschinentyp bietet.

Hinweis

Preise

Die von Google für benutzerdefinierte VMs berechneten Gebühren hängen von der Anzahl der vCPUs und den Speicherstunden ab, die die VM nutzt. Dies unterscheidet sich von der Gebührenberechnung für vordefinierte Maschinentypen. Weitere Informationen finden Sie unter VM-Preise.

Benutzerdefinierte VMs unterliegen derselben 1-Minuten-Mindestgebühr, aber die Rabatte für kontinuierliche Nutzung werden für benutzerdefinierte Maschinentypen anders berechnet. Weitere Informationen finden Sie unter Rabatte für kontinuierliche Nutzung für benutzerdefinierte VMs.

Speicherdarstellung in GB oder MB

Für Tools und Dokumentation der Google Cloud wird der Maschinentypspeicher in Gigabyte (GB) berechnet, wobei 1 GB gleich 230 Byte ist. Diese Maßeinheit wird auch als Gibibyte (GiB) bezeichnet. Bei der Speicherumrechnung von GB in MB gilt: 1 GB = 1.024 MB.

In der API müssen Sie Speicher immer in Megabyte angeben. Wenn Sie das gcloud-Befehlszeilentool verwenden, können Sie den Gesamtspeicher für eine VM in Gigabyte oder Megabyte angeben. Das gcloud-Tool erwartet beim Speicher jedoch einen ganzzahligen Wert. Sie können also keine Gleitkommazahl angeben. Wenn Sie beispielsweise 5,75 GB angeben wollen, konvertieren Sie diesen Wert stattdessen in MB. In diesem Fall sind 5,75 GB gleich 5.888 MB.

VM-Instanz mit einem benutzerdefinierten Maschinentyp erstellen

Bevor Sie eine VM-Instanz erstellen, müssen Sie die benutzerdefinierten Spezifikationen für die Erstellung dieses Maschinentyps gelesen und verstanden haben.

Console

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

    Zur Seite „Instanz erstellen“

  2. Wählen Sie unter Zone die Zone aus, in der die Instanz gehostet werden soll. Die Liste Reihe wird so gefiltert, dass nur die in der ausgewählten Zone verfügbaren Maschinentypenfamilien enthalten sind.

  3. Wählen Sie unter Maschinenkonfigurationen die Option Allgemeiner Zweck aus.

  4. Wählen Sie in der Liste Reihe die Option N1 unter Erste Generation für benutzerdefinierte N1-Maschinentypen oder E2, N2 oder N2D für benutzerdefinierte Maschinentypen der Zweiten Generation aus.

  5. Wählen Sie in der Liste Maschinentyp die Option Benutzerdefiniert aus.

  6. Betätigen Sie die Schieberegler oder geben Sie die Werte in die Textfelder ein, um die Anzahl der vCPUs und den Speicherplatz für die VM-Instanz anzugeben. In der Console wird eine Kostenschätzung für die Instanz angezeigt, wenn Sie die Anzahl der vCPUs und die Speichermenge ändern.

  7. Speichern Sie die Änderungen und erstellen Sie danach die VM.

gcloud

Der Befehl gcloud für benutzerdefinierte Maschinentypen kann abhängig von der Maschinentypfamilie geringfügig variieren.

Für N1-Maschinentypen verwenden Sie den Befehl gcloud compute instances create und fügen eine der folgenden Optionen hinzu:

  • Die Flags --custom-cpu und --custom-memory.
  • Das Flag --machine-type=custom-[NUMBER_OF_CPUS]-[NUMBER_OF_MB].

Der folgende Befehl erstellt beispielsweise eine Instanz, auf der ein Maschinentyp mit 4 vCPUs und 5 GB Gesamtspeicher ausgeführt wird:

gcloud compute instances create example-instance \
    --custom-cpu=4 --custom-memory=5

Für N2-Maschinentypen verwenden Sie den Befehl gcloud compute instances create und fügen eine der folgenden Optionen hinzu:

  • Die Flags --custom-cpu, --custom-memory und --custom-vm-type.
  • Das Flag --machine-type=n2-custom-NUMBER_OF_CPUS-NUMBER_OF_MB.

Wenn Sie das Flag --custom-memory verwenden, müssen Sie die Gesamtgröße des Arbeitsspeichers in GB oder in MB angeben. Das Attribut muss eine Ganzzahl sein, d. h., wenn Sie den Speicher in Schritten von 0,25 GB festlegen möchten, müssen Sie diesen Wert in MB umwandeln.

Für die Angabe eines inkrementellen Werts wie 2,5 GB Speicher rechnen Sie den Wert in MB um und geben ihn mit dem Suffix MB an: Das folgende Beispiel erstellt eine Instanz, auf der ein N2-Maschinentyp ausgeführt wird:

gcloud compute instances create example-instance \
    --custom-cpu=6 --custom-memory=3072MB --custom-vm-type=n2

Alternativ können Sie einen benutzerdefinierten Maschinentyp mit folgendem Format festlegen:

gcloud compute instances create example-instance \
    --machine-type n2-custom-NUMBER_OF_CPUS-NUMBER_OF_MB

Ersetzen Sie Folgendes:

  • NUMBER_OF_CPUS: Die gewünschte Anzahl der CPUs.
  • NUMBER_OF_MB: Die Größe des Arbeitsspeichers in MB.

Beispiel:

gcloud compute instances create example-instance --machine-type=n2-custom-6-3072

Für N2D- oder E2-Maschinentypen verwenden Sie den Befehl gcloud compute instances create und fügen eine der folgenden Optionen hinzu:

  • Die Flags --custom-cpu, --custom-memory und --custom-vm-type.
  • Das Flag --machine-type=n2d-custom-NUMBER_OF_CPUS-NUMBER_OF_MB.
  • Das Flag --machine-type=e2-custom-NUMBER_OF_CPUS-NUMBER_OF_MB.

Verwenden Sie für benutzerdefinierte E2-Maschinentypen mit gemeinsame genutztem Kern den gleichen Befehl gcloud compute instances create und fügen Sie die Maschinengröße mit gemeinsam genutztem Kern ein: micro, small oder medium

  • Das Flag --machine-type=e2-custom SHARED_CORE_MACHINE_SIZE-NUMBER_OF_MB.

Beispiel:

gcloud compute instances create example-instance \
    --machine-type=e2-custom-medium-NUMBER_OF_MB

Wenn Sie das Flag --custom-memory verwenden, müssen Sie die Gesamtgröße des Arbeitsspeichers in GB oder in MB angeben. Das Attribut muss eine Ganzzahl sein. Wenn Sie den Arbeitsspeicher also in Schritten von 0,25 GB festlegen möchten, müssen Sie den Wert in MB umwandeln.

Für die Angabe eines inkrementellen Werts wie 2,5 GB Speicher rechnen Sie den Wert in MB um und geben ihn mit dem Suffix MB an: Das folgende Beispiel erstellt eine Instanz, auf der ein E2-Maschinentyp ausgeführt wird:

gcloud compute instances create example-instance \
    --custom-cpu=6 --custom-memory=3072MB --custom-vm-type=e2

Alternativ können Sie einen benutzerdefinierten Maschinentyp mit folgendem Format festlegen:

gcloud compute instances create example-instance \
    --machine-type=e2-custom-NUMBER_OF_CPUS-NUMBER_OF_MB

Dabei gilt:

  • NUMBER_OF_CPUS: Die gewünschte Anzahl der CPUs.
  • NUMBER_OF_MB: Die Größe des Arbeitsspeichers in MB.

Beispiel:

gcloud compute instances create example-instance --machine-type=e2-custom-6-3072

API

Erstellen Sie in der API wie gewohnt eine Anfrage zur Generierung einer Instanz. Geben Sie dabei den Wert für machineType jedoch in einem der folgenden Formate an. Ersetzen Sie NUMBER_OF_CPUS durch die Anzahl der vCPUs und AMOUNT_OF_MEMORY_MB durch die gewünschte Speichermenge. Geben Sie die Speichergröße in MB an:

  • Für N1-Maschinentypen verwenden Sie folgendes Format:

    zones/ZONE/machineTypes/custom-NUMBER_OF_CPUS-AMOUNT_OF_MEMORY_MB
    
  • Für N2-Maschinentypen verwenden Sie folgendes Format:

    zones/ZONE/machineTypes/n2-custom-NUMBER_OF_CPUS-AMOUNT_OF_MEMORY_MB
    
  • Für N2D-Maschinentypen verwenden Sie folgendes Format:

    zones/ZONE/machineTypes/n2d-custom-NUMBER_OF_CPUS-AMOUNT_OF_MEMORY_MB
    
  • Für E2-Maschinentypen verwenden Sie folgendes Format:

    zones/ZONE/machineTypes/e2-custom-NUMBER_OF_CPUS-AMOUNT_OF_MEMORY_MB
    
  • Für benutzerdefinierte E2-Maschinentypen mit gemeinsam genutztem Kern verwenden Sie folgendes Format:

    zones/ZONE/machineTypes/e2-custom-SHARED_CORE_MACHINE_SIZE-AMOUNT_OF_MEMORY_MB
    

So würde die folgende URL beispielsweise eine Instanz mit 4 vCPUs und 5 GB (5.120 MB) Speicher erstellen:

zones/us-central1-f/machineTypes/custom-4-5120

Ebenso können Sie Instanzen auf Abruf und Instanzgruppen mit benutzerdefinierten Maschinentypen erstellen.

Erweiterten Speicher einem Maschinentyp hinzufügen

Je nach Maschine hat jeder Maschinentyp standardmäßig eine bestimmte Menge an Arbeitsspeicher. Wenn Sie beispielsweise eine benutzerdefinierte N1-VM erstellen, kann diese bis zu 6,5 GB Speicher pro vCPU haben. Bei benutzerdefinierten N2-VMs erhöht sich der Wert auf bis zu 8 GB Arbeitsspeicher pro vCPU.

Für bestimmte Arbeitslasten ist dieser Arbeitsspeicher möglicherweise nicht ausreichend. Gegen einen Aufpreis können Sie den Speicher pro vCPU über die Standardgrenze hinaus erweitern. Dies wird als erweiterter Speicher bezeichnet.

Mit erweitertem Speicher können Sie einem Maschinentyp Arbeitsspeicher ohne Beschränkungen pro vCPU hinzufügen. Sie können erweiterten Speicher bis zu bestimmten Grenzwerten abhängig vom Maschinentyp hinzufügen:

  • Für N1-Maschinentypen können Sie insgesamt 624 GB Arbeitsspeicher pro VM hinzufügen.
  • Für N2-Maschinentypen können Sie insgesamt 640 GB Arbeitsspeicher pro VM hinzufügen.
  • Für N2D-Maschinentypen können Sie insgesamt bis zu 768 GB Arbeitsspeicher pro VM hinzufügen.
  • Erweiterter Speicher ist für E2-Maschinentypen nicht verfügbar.

Wenn Sie mehr Arbeitsspeicher benötigen, müssen Sie einen Maschinentyp mit Mega-Speicher verwenden, mit dem Sie Instanzen mit insgesamt 1,4 TB pro VM-Instanz erstellen können.

Bedarf für erweiterten Speicher ermitteln

Für bestimmte Arbeitslasten ist der standardmäßig pro vCPU zugewiesene Arbeitsspeicher nicht ausreichend, um optimale Ergebnisse zu erzielen. Zu dieser Kategorie gehören Arbeitslasten, die auf speicherinternen Hochleistungs-Analysedatenbanken basieren, darunter relationale und NoSQL-Datenbanken wie MS SQL Server, MongoDB und MemcacheD/Redis. Die vCPU-basierte Lizenzierung von Betriebssystemen und Softwarestacks erschwert bei vordefinierten Maschinentypen außerdem die Wahl einer optimalen VM-Speicherkonfiguration. Durch die Nutzung von erweitertem Speicher können Sie so viel Speicher wie nötig für Ihre VMs hinzufügen, um das beste Preis-Leistungs-Verhältnis zu erzielen.

Preise

Bei Verwendung eines benutzerdefinierten Maschinentyps wird bis einschließlich der Standardmenge pro vCPU zum Preis für benutzerdefinierte N1-Maschinentypen oder zum Preis für benutzerdefinierte N2-Maschinentypen abgerechnet. Benutzerdefinierte E2-Maschinen und benutzerdefinierte E2-Maschinentypen mit gemeinsam genutztem Kern haben das gleiche Preisschema.

Für Speicher oberhalb des Standardwerts berechnet Compute Engine eine Gebühr für den erweiterten Speicher auf Basis der Preise für erweiterten benutzerdefinierten N1-Speicher oder der Preise für erweiterten benutzerdefinierten N2-Speicher. Der Preis für erweiterten Speicher unterscheidet sich von dem Preis für Speicher unterhalb des Standardschwellenwerts.

Die Preise für erweiterten Speicher unterscheiden sich je nach Region. Instanzen, die mit erweitertem Speicher ausgeführt werden, unterliegen derselben 1-Minuten-Mindestgebühr wie jede andere Instanz. Erweiterter Speicher berechtigt außerdem zu Rabatten für kontinuierliche Nutzung.

Weitere Informationen finden Sie unter Rabatte für kontinuierliche Nutzung für benutzerdefinierte Maschinentypen und Preise für erweiterten benutzerdefinierten Speicher.

Beschränkungen

  • Erweiterter Speicher kann nur benutzerdefinierten Maschinentypen hinzugefügt werden. Vordefinierte Maschinentypen werden nicht unterstützt.
  • Es gibt keine Begrenzung für den Arbeitsspeicher pro vCPU, den Sie hinzufügen können, jedoch eine maximale Speichermenge, den Sie einer einzelnen VM-Instanz hinzufügen können. Für N1-Maschinentypen können Sie bis zu 624 GB Speicher hinzufügen. Für N2-Maschinentypen können Sie insgesamt 640 GB Arbeitsspeicher hinzufügen. Für N2D-Maschinentypen können Sie bis zu 768 GB Arbeitsspeicher hinzufügen.
  • N2- und N2D-Maschinentypen sind nur in ausgewählten Regionen und Zonen verfügbar.
  • Sie müssen Speicher in Schritten von 256 MB angeben.
  • Erweiterter Speicher berechtigt nicht zu Rabatten für zugesicherte Nutzung.

Erweiterten Speicher bei der Instanzerstellung hinzufügen

Befolgen Sie die nachstehenden Anweisungen, um eine VM-Instanz mit erweitertem Speicher zu erstellen.

Console

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

    Zur Seite „Instanz erstellen“

  2. Wählen Sie unter Zone die Zone aus, in der die Instanz gehostet werden soll. Die Liste Reihe wird so gefiltert, dass nur die in der ausgewählten Zone verfügbaren Maschinentypenfamilien enthalten sind.

  3. Wählen Sie unter Maschinenkonfigurationen die Option Allgemeiner Zweck aus.

  4. Wählen Sie in der Liste Reihe die Option N1 unter Erste Generation für benutzerdefinierte N1-Maschinentypen oder N2 bzw. ND2 für benutzerdefinierte Maschinentypen der Zweiten Generation aus.

  5. Wählen Sie in der Drop-down-Liste Maschinentyp die Option Benutzerdefiniert aus.

  6. Geben Sie die Anzahl der gewünschten vCPUs an.

  7. Wählen Sie Speicher erweitern aus und geben Sie dann die gewünschte Speichermenge ein.

  8. Speichern Sie die Änderungen und erstellen Sie danach die VM.

gcloud

Verwenden Sie für N1-Maschinentypen den Befehl gcloud und den Unterbefehl instances create gefolgt vom Flag --custom-extensions zum Aktivieren des erweiterten Speichers. Geben Sie anschließend mit dem Parameter --custom- memory die gewünschte Speichermenge an.

gcloud compute instances create example-instance  \
    --custom-extensions --custom-cpu=2 --custom-memory=15

Verwenden Sie bei N2-Maschinentypen den Befehl gcloud mit dem Unterbefehl instances create. Legen Sie die Flags --custom-extensions, --custom-cpu und --custom-memory fest, gefolgt vom Flag --custom-vm-type, um den N2-Maschinentyp anzugeben:

gcloud compute instances create example-instance \
    --custom-extensions --custom-cpu=2 --custom-memory=16 \
    --custom-vm-type=n2

Verwenden Sie für N2D-Maschinentypen den Befehl gcloud mit dem Unterbefehl instances create. Legen Sie die Flags --custom-extensions, --custom-cpu und --custom-memory fest, gefolgt vom Flag --custom-vm-type, um den N2D-Maschinentyp anzugeben:

gcloud compute instances create example-instance \
    --custom-extensions --custom-cpu=2 --custom-memory=16 \
    --custom-vm-type=n2d

API

Erstellen Sie in der API wie gewohnt eine Anfrage zur Generierung einer Instanz. Geben Sie dabei den Wert für machineType jedoch in einem der folgenden Formate an.

  • Für N1-Maschinentypen verwenden Sie folgendes Format:

    zones/ZONE/machineTypes/custom-NUMBER_OF_CPUS-AMOUNT_OF_MEMORY-ext
    
  • Für N2-Maschinentypen verwenden Sie folgendes Format:

    zones/ZONE/machineTypes/n2-custom-NUMBER_OF_CPUS-AMOUNT_OF_MEMORY-ext
    
  • Für N2D-Maschinentypen verwenden Sie folgendes Format:

    zones/ZONE/machineTypes/n2d-custom-NUMBER_OF_CPUS-AMOUNT_OF_MEMORY-ext
    

Ersetzen Sie Folgendes:

  • NUMBER_OF_CPUS: Die Anzahl der vCPUs.
  • AMOUNT_OF_MEMORY: Der Arbeitsspeicher in MB.

Die folgende Eingabe gibt beispielsweise einen N2-Maschinentyp mit 2 vCPUs und 20 GB Arbeitsspeicher an:

zones/ZONE/machineTypes/n2-custom-2-20480-ext

Erweiterten Speicher zu einer bestehenden VM-Instanz hinzufügen

Wenn Sie einer bestehenden Instanz weiteren Speicher hinzufügen möchten, müssen Sie die Instanz zuerst beenden. Wenn die Instanz beendet wurde, befolgen Sie die nachstehenden Anweisungen, um der VM zusätzlichen Speicher hinzuzufügen.

Konsole

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

    Zu „VM-Instanzen“

  2. Wählen Sie in der Liste der Instanzen die zu ändernde Instanz aus.

  3. Klicken Sie oben auf der Seite auf Bearbeiten.

  4. Wählen Sie unter Maschinenkonfigurationen die Option Allgemeiner Zweck aus.

  5. Wählen Sie in der Liste Maschinentyp die Option Benutzerdefiniert aus.

  6. Wählen Sie die gewünschte Anzahl von vCPUs aus.

  7. Wählen Sie Speicher erweitern aus und geben Sie dann die gewünschte Speichermenge ein.

  8. Speichern Sie die Änderungen.

gcloud

Verwenden Sie das Befehlszeilentool gcloud und den Unterbefehl instances set-machine-type gefolgt von dem Flag --custom-extensions mit dem vorhandenen Parameter --custom-memory.

Wenn Sie beispielsweise 2 GB Arbeitsspeicher zu einer VM-Instanz mit dem Namen example-instance hinzufügen möchten, die derzeit den Maschinentyp N1 mit 2 vCPUs und 13 GB in der Zone us-central1-b hat, geben Sie folgenden Befehl ein:

gcloud compute instances set-machine-type example-instance \
   --zone=us-central1-b --custom-cpu=2 \
   --custom-memory=15 --custom-extensions

API

Erstellen Sie in der API eine POST-Anfrage an die setMachineType-Methode und geben Sie den gewünschten Maschinentyp im Anfragetext an. Verwenden Sie eines der folgenden Formate:

  • Für N1-Maschinentypen verwenden Sie folgendes Format:

    zones/ZONE/machineTypes/custom-NUMBER_OF_CPUS-AMOUNT_OF_MEMORY-ext
    
  • Für N2-Maschinentypen verwenden Sie folgendes Format:

    zones/ZONE/machineTypes/n2-custom-NUMBER_OF_CPUS-AMOUNT_OF_MEMORY-ext
    
  • Für N2D-Maschinentypen verwenden Sie folgendes Format:

    zones/ZONE/machineTypes/n2d-custom-NUMBER_OF_CPUS-AMOUNT_OF_MEMORY-ext
    

Ersetzen Sie Folgendes:

  • NUMBER_OF_CPUS: Die Anzahl der vCPUs.
  • AMOUNT_OF_MEMORY: Der Arbeitsspeicher in MB.

In der folgenden Beispielanfrage wird ein Maschinentyp mit 2 vCPUs und 15 GB Speicher verwendet:

zones/ZONE/machineTypes/custom-2-15360-ext

Beispiel:

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/setMachineType

{
    machineType: "zones/us-central1-f/machineTypes/custom-2-15360-ext"
}

Nächste Schritte