In dieser Anleitung erfahren Sie, wie Sie eine große Anzahl identischer und voneinander unabhängiger HPC-VM-Instanzen (Hochleistungs-Computing) erstellen. Die Instanzen verwenden HPC-optimierte H4D-Maschinentypen und werden auf reservierten Kapazitätsblöcken ausgeführt. In dieser Anleitung wird auch beschrieben, wie Sie die H4D-Instanzen für die Verwendung von Cloud RDMA konfigurieren.
Diese Anleitung richtet sich an HPC-Entwickler, Plattformadministratoren und ‑operatoren sowie an Daten- und MPI-Spezialisten, die einen Cluster aus miteinander verbundenen HPC-Instanzen erstellen möchten. Die resultierenden Instanzen verwenden keinen Orchestrator für die Instanzverwaltung oder die Jobplanung.
Kapazitätsblöcke für die Bereitstellung reservieren
In diesem Dokument wird erläutert, wie Sie Kapazitätsblöcke reservieren, indem Sie Ihr Kontoteam bitten, eine zukünftige Reservierungsanfrage für Sie zu erstellen. Mit diesem Reservierungstyp können Sie Kapazität für die dichte Bereitstellung von VM-Instanzen erhalten. Eine Übersicht über alle Nutzungsoptionen finden Sie unter:
- Für nicht dichte Deployments: Bereitstellungsmodelle für Compute Engine-Instanzen
- Bei dichten Bereitstellungen: Nutzungsoption auswählen und Kapazität erhalten
Mit dieser Aktion können Sie Kapazitätsblöcke für einen bestimmten Zeitraum reservieren, der an einem von Ihnen ausgewählten Datum und einer von Ihnen ausgewählten Uhrzeit beginnt. Basierend auf Ihrer Anfrage erstellt Google einen Entwurf für eine zukünftige Reservierungsanfrage. Nachdem Sie diesen Anforderungsentwurf überprüft und gesendet haben und Google Cloud ihn genehmigt hat, erstellt Compute Engine automatisch (automatisch erstellt) eine leere Reservierung. Zur von Ihnen ausgewählten Startzeit stellt Compute Engine die angeforderte Kapazität in der automatisch erstellten Reservierung bereit. Sie können die Reservierung dann verwenden, um VM-Instanzen zu erstellen, bis der Reservierungszeitraum endet.
Im Rahmen des Prozesses für zukünftige Reservierungsanfragen verwaltet Google das Kontingent für Ihre reservierten Ressourcen. Sie müssen kein Kontingent anfordern. Zum Startzeitpunkt Ihrer genehmigten zukünftigen Reservierung erhöht Google Ihr Kontingent, wenn es für die reservierten Ressourcen nicht ausreicht.
So reservieren Sie Kapazitätsblöcke:
Wenden Sie sich an Ihr Kontoteam und geben Sie die folgenden Informationen an, damit Google einen Entwurf für eine zukünftige Reservierungsanfrage erstellen kann:
Projektnummer: Die Nummer des Projekts, in dem Ihr Kontoteam die Anfrage erstellt und Compute Engine die Kapazität bereitstellt. Informationen zum Ermitteln der Projektnummer finden Sie in der Resource Manager-Dokumentation unter Projektnamen, ‑nummer und ‑ID finden.
Maschinentyp: Einer der H4D-Maschinentypen, die für HPC optimiert sind
Gesamtzahl: Die Gesamtzahl der zu reservierenden VMs. Sie können nur ein Vielfaches von zwei VMs reservieren. Blockgrößen und VM-Anzahl pro Block variieren je nach Maschinentyp und Verfügbarkeit. Ihr Account-Management-Team kann Ihnen weitere Informationen zu Ihrer Anfrage geben.
Zone: Die Zone, in der Sie Kapazität reservieren möchten. Informationen zu den verfügbaren Regionen und Zonen für die H4D-Maschinenserie finden Sie unter Verfügbare Regionen und Zonen. Wählen Sie dort in der Liste Maschinenserie auswählen die Option
H4D
aus.Beginn: Die Startzeit des Reservierungszeitraums. Formatieren Sie die Startzeit als RFC 3339-Zeitstempel:
YYYY-MM-DDTHH:MM:SSOFFSET
Ersetzen Sie Folgendes:
YYYY-MM-DD
: ein Datum, formatiert als vierstelliges Jahr, zweistelliger Monat und zweistelliger Tag des Monats und durch Bindestriche (-
) getrennt.HH:MM:SS
: eine Uhrzeit, die als zweistellige Stundenzahl im 24-Stunden-Format, zweistellige Minuten und zweistellige Sekunden formatiert und durch Doppelpunkte getrennt (:
) ist.OFFSET
: die Zeitzone formatiert als Versatz der koordinierten Weltzeit (Coordinated Universal Time, UTC). Wenn Sie beispielsweise Pacific Standard Time (PST) verwenden möchten, geben Sie-08:00
an. Wenn Sie keinen Versatz verwenden möchten, geben SieZ
an.
Ende: Das Ende des Reservierungszeitraums. Formatieren Sie ihn als RFC 3339-Zeitstempel.
Freigabetyp: Gibt an, ob nur Ihr Projekt die automatisch erstellte Reservierung verwenden kann (
LOCAL
) oder ob auch andere Projekte die Reservierung verwenden können (SPECIFIC_PROJECTS
).So geben Sie reservierte Kapazität für andere Projekte in Ihrer Organisation frei:
Falls noch nicht geschehen, prüfen Sie, ob das Projekt, in dem Google die Anfrage erstellt, freigegebene Reservierungen erstellen darf.
Geben Sie die Nummern der Projekte an, für die die reservierte Kapazität freigegeben werden soll. Sie können bis zu 100 Projekte in Ihrer Organisation angeben.
Reservierungsname: Der Name der Reservierung, die von Compute Engine automatisch erstellt wird, um die reservierte Kapazität bereitzustellen. Compute Engine erstellt nur speziell ausgewählte Reservierungen.
Name der Zusicherung: Wenn Ihr Reservierungszeitraum ein Jahr oder länger ist, müssen Sie eine ressourcenbasierte Zusicherung für Ihre reservierten Ressourcen erwerben und anhängen. Sie können eine Zusicherung mit einem 1-Jahres- oder 3-Jahres-Plan erwerben. Wenn Sie die reservierte Kapazität für andere Projekte freigeben, erhalten diese Projekte nur dann Rabatte, wenn sie dasselbe Cloud-Rechnungskonto wie das Projekt verwenden, in dem Sie Kapazität reservieren. Weitere Informationen finden Sie unter Ressourcenbasierte CUDs projektübergreifend freigeben.
Google erstellt einen Entwurf für eine zukünftige Reservierungsanfrage und Ihr Kontoteam setzt sich mit Ihnen in Verbindung.
Sehen Sie sich den Anforderungsentwurf an. Beachten Sie bei der Überprüfung der Reservierungsanfrage Folgendes:
- Sie können die reservierte Kapazität erst nach dem angegebenen Startdatum und der angegebenen Startzeit verwenden.
Wenn die angegebene Endzeit erreicht ist, führt Compute Engine die folgenden Schritte aus:
- Löscht die automatisch erstellte Reservierung.
- Alle VMs, die die Reservierung verwenden, werden beendet oder gelöscht. Die ausgeführte Aktion basiert auf der Beendigungsaktion, die Sie beim Erstellen der VMs angeben.
Nachdem Sie die Reservierungsanfrage eingereicht haben, können Sie nicht mehr ändern, ob die reservierte Kapazität freigegeben wird.
Wählen Sie eine der folgenden Optionen aus, um den Entwurf einer vorausschauenden Reservierungsanfrage zu prüfen:
Console
Rufen Sie in der Google Cloud Console die Seite Reservierungen auf.
Klicken Sie auf den Tab Vorausschauende Reservierungen. In der Tabelle Zukünftige Reservierungen wird jede zukünftige Reservierungsanfrage in Ihrem Projekt aufgeführt. Jede Tabellenspalte beschreibt eine Eigenschaft.
Klicken Sie in der Spalte Name auf den Namen des Anfragenentwurfs, den Google für Sie erstellt hat. Eine Seite mit den Details der zukünftigen Reservierungsanfrage wird geöffnet.
Prüfen Sie im Abschnitt Allgemeine Informationen, ob die Details der Anfrage, z. B. Zeiträume und Freigabetyp, korrekt sind. Wenn Sie eine Zusage angefordert haben, prüfen Sie, ob sie angegeben ist.
Sollten diese Angaben nicht korrekt sein, wenden Sie sich an Ihr Kontoteam.
gcloud
Verwenden Sie den Befehl
gcloud beta compute future-reservations list
, wobei das Flag--filter
aufPROCUREMENT_STATUS=DRAFTING
gesetzt ist, um eine Liste der vorausschauenden Reservierungsanfragen in Ihrem Projekt aufzurufen:gcloud beta compute future-reservations list --filter=PROCUREMENT_STATUS=DRAFTING
Suchen Sie in der Befehlsausgabe nach der Reservierungsanfrage mit dem Namen, den Sie Ihrem Kontoteam mitgeteilt haben.
Verwenden Sie den
gcloud beta compute future-reservations describe
-Befehl, um die Details der Anforderung im Entwurf aufzurufen:gcloud beta compute future-reservations describe FUTURE_RESERVATION_NAME \ --zone=ZONE
Ersetzen Sie Folgendes:
FUTURE_RESERVATION_NAME
: der Name des Reservierungsanfrageentwurfs.ZONE
: die Zone, in der Google die Anfrage erstellt hat.
Die Ausgabe sieht etwa so aus:
autoCreatedReservationsDeleteTime: '2026-02-10T19:20:00Z' creationTimestamp: '2025-11-27T11:14:58.305-08:00' deploymentType: DENSE id: '7979651787097007552' kind: compute#futureReservation name: example-draft-request planningStatus: DRAFT reservationName: example-reservation schedulingType: INDEPENDENT selfLink: https://www.googleapis.com/compute/beta/projects/example-project/zones/europe-west4-b/futureReservations/example-draft-request selfLinkWithId: https://www.googleapis.com/compute/beta/projects/example-project/zones/europe-west4-b/futureReservations/7979651787097007552 specificReservationRequired: true specificSkuProperties: instanceProperties: localSsds: - diskSizeGb: '375' interface: NVME ... machineType: h4d-highmem-192-lssd totalCount: '2' status: autoCreatedReservations: - https://www.googleapis.com/compute/beta/projects/example-project/zones/europe-west4-b/reservations/example-reservation fulfilledCount: '2' lockTime: '2026-01-27T19:15:00Z' procurementStatus: DRAFTING timeWindow: endTime: '2026-02-10T19:20:00Z' startTime: '2026-01-27T19:20:00Z' zone: https://www.googleapis.com/compute/beta/projects/example-project/zones/europe-west4-b
Prüfen Sie in der Befehlsausgabe, ob die Details der Anfrage, z. B. der Reservierungszeitraum und der Freigabetyp, korrekt sind. Wenn Sie eine Zusage erworben haben, prüfen Sie, ob sie angegeben ist.
Wenn die Angaben nicht stimmen, wenden Sie sich an Ihr Account-Management-Team.
REST
Wenn Sie eine Liste zukünftiger Reservierungsanfragen in Ihrem Projekt aufrufen möchten, stellen Sie eine
GET
-Anfrage an die Beta-MethodefutureReservations.list
. Fügen Sie in der Anfrage-URL den Abfrageparameterfilter
ein und legen Sie ihn aufstatus.procurementStatus=DRAFTING
fest:GET https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/futureReservations?filter=status.procurementStatus=DRAFTING
Ersetzen Sie Folgendes:
PROJECT_ID
: die ID des Projekts, in dem Google den Entwurf der zukünftigen Reservierungsanfrage erstellt hat.ZONE
: die Zone, in der die Anfrage vorhanden ist.
Suchen Sie in der Ausgabe der Anfrage nach der Reservierungsanfrage mit dem Namen, den Sie Ihrem Account-Management-Team mitgeteilt haben.
Wenn Sie die Details der Anforderung im Entwurf ansehen möchten, stellen Sie eine
GET
-Anfrage an die Beta-MethodefutureReservations.get
:GET https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/futureReservations/FUTURE_RESERVATION_NAME
Ersetzen Sie
FUTURE_RESERVATION_NAME
durch den Namen der Anfrage für eine zukünftige Reservierung im Entwurf.Die Ausgabe sieht etwa so aus:
{ "specificSkuProperties": { "instanceProperties": { "machineType": "h4d-highmem-192-lssd", "localSsds": [ { "diskSizeGb": "375", "interface": "NVME" }, ... ] }, "totalCount": "2" }, "kind": "compute#futureReservation", "id": "7979651787097007552", "creationTimestamp": "2025-11-27T11:14:58.305-08:00", "selfLink": "https://www.googleapis.com/compute/beta/projects/example-project/zones/europe-west4-b/futureReservations/example-draft-request", "selfLinkWithId": "https://www.googleapis.com/compute/beta/projects/example-project/zones/europe-west4-b/futureReservations/7979651787097007552", "zone": "https://www.googleapis.com/compute/beta/projects/example-project/zones/europe-west4-b", "name": "example-draft-request", "timeWindow": { "startTime": "2026-01-27T19:20:00Z", "endTime": "2026-02-10T19:20:00Z" }, "status": { "procurementStatus": "DRAFTING", "lockTime": "2026-01-27T19:15:00Z" }, "planningStatus": "DRAFT", "specificReservationRequired": true, "reservationName": "example-reservation", "deploymentType": "DENSE", "schedulingType": "INDEPENDENT", "autoCreatedReservationsDeleteTime": "2026-02-10T19:20:00Z" }
Prüfen Sie in der Ausgabe, ob die Anfragedetails wie der Reservierungszeitraum und der Freigabetyp korrekt sind. Wenn Sie eine Zusage angefordert haben, prüfen Sie, ob sie angegeben ist.
Wenn die Angaben nicht stimmen, wenden Sie sich an Ihr Account-Management-Team.
Wenn alles korrekt ist, senden Sie die Reservierungsanfrage. Sie müssen die Anfrage vor dem Startzeitpunkt der Anfrage einreichen.
Wählen Sie eine der folgenden Optionen aus, um einen Entwurf einer zukünftigen Reservierungsanfrage einzureichen:
Console
Rufen Sie in der Google Cloud Console die Seite Reservierungen auf.
Klicken Sie auf den Tab Vorausschauende Reservierungen.
Klicken Sie in der Spalte Name auf den Namen des Anfragenentwurfs, den Google für Sie erstellt hat.
Klicken Sie auf Senden.
gcloud
Verwenden Sie zum Senden des Antragsentwurfs zur Überprüfung den Befehl
gcloud beta compute future-reservations update
, wobei das Flag--planning-status
aufSUBMITTED
gesetzt ist:gcloud beta compute future-reservations update FUTURE_RESERVATION_NAME \ --planning-status=SUBMITTED \ --zone=ZONE
REST
Wenn Sie den Anfrageentwurf zur Überprüfung einreichen möchten, stellen Sie eine
PATCH
-Anfrage an die Beta-MethodefutureReservations.update
. Fügen Sie in der Anfrage-URL den AbfrageparameterupdateMask
ein und legen Sie ihn aufplanningStatus
fest:PATCH https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/futureReservations/FUTURE_RESERVATION_NAME?updateMask=planningStatus { "name": "FUTURE_RESERVATION_NAME", "planningStatus": "SUBMITTED" }
Google Cloud genehmigt Ihre eingereichte Anfrage sofort.
Compute Engine erstellt eine leere Reservierung mit den angeforderten Ressourcen.
Informationen zum Aufrufen der Reservierung finden Sie in der AI Hypercomputer-Dokumentation unter Reservierte Kapazität ansehen.
Optional: Platzierungsrichtlinie erstellen
Verwenden Sie eine Platzierungsrichtlinie, wenn Ihre VMs so nah wie möglich beieinander platziert werden sollen. Wenn Sie jedoch möchten, dass sich Ihre VMs in einem bestimmten Block befinden, überspringen Sie diesen Schritt und geben Sie den Namen des erforderlichen Blocks beim Bulk-Erstellen von VMs an.
Instanzen, die über Cloud RDMA kommunizieren, müssen sich in einer einzelnen Zone und, noch strenger, in einem einzelnen Cluster-Fabric befinden. Sie können eine Richtlinie für kompakte Platzierungen erstellen und einen Wert für die maximale Entfernung angeben, um die Mindestkompaktheit innerhalb einer Zone festzulegen. Wenn Sie einen Wert für „max-distance“ angeben, ist die Anzahl der Instanzen, denen Sie die Richtlinie für kompakte Platzierung zuweisen können, begrenzt. Das Limit hängt vom ausgewählten Wert ab.
Wählen Sie eine der folgenden Optionen aus, um eine Richtlinie für kompakte Platzierung zu erstellen:
gcloud
Verwenden Sie zum Erstellen einer Richtlinie für kompakte Platzierung den Befehl gcloud beta compute resource-policies create group-placement
.
gcloud beta compute resource-policies create group-placement POLICY_NAME \
--collocation=collocated \
--max-distance=MAX_DISTANCE \
--region=REGION
Ersetzen Sie Folgendes:
POLICY_NAME
: der Name der Richtlinie für kompakte PlatzierungMAX_DISTANCE
: die maximale Entfernung zwischen den VM-Instanzen. Geben Sie3
an, um die VMs in benachbarten Blöcken zu platzieren, und2
, um die VMs im selben Block zu platzieren. Die Platzierung von VMs erfolgt nach Möglichkeit.REGION
: Die Region, in der Sie die Platzierungsrichtlinie erstellen möchten. Geben Sie eine Region an, in der der gewünschte Maschinentyp verfügbar ist. Informationen zu verfügbaren Regionen finden Sie unter Verfügbare Regionen und Zonen.
REST
Senden Sie zum Erstellen einer Richtlinie für kompakte Platzierung eine POST
-Anfrage an die Methode beta.resourcePolicies.insert
.
Geben Sie im Anfragetext das Feld collocation
an, das auf COLLOCATED
gesetzt ist, sowie das Feld maxDistance
.
POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION/resourcePolicies
{
"name": "POLICY_NAME",
"groupPlacementPolicy": {
"collocation": "COLLOCATED",
"maxDistance": "MAX_DISTANCE"
}
}
Ersetzen Sie Folgendes:
PROJECT_ID
: Ihre Projekt-ID.REGION
: Die Region, in der Sie die Platzierungsrichtlinie erstellen möchten. Geben Sie eine Region an, in der der gewünschte Maschinentyp verfügbar ist. Informationen zu verfügbaren Regionen finden Sie unter Verfügbare Regionen und Zonen.POLICY_NAME
: der Name der Richtlinie für kompakte PlatzierungMAX_DISTANCE
: die maximale Entfernung zwischen den VM-Instanzen. Geben Sie3
an, um die VMs in benachbarten Blöcken zu platzieren, und2
, um die VMs im selben Block zu platzieren. Die Platzierung von VMs erfolgt nach Möglichkeit.
Virtual Private Cloud-Netzwerke erstellen
Für RDMA-fähige Instanzen sind mindestens zwei Netzwerkschnittstellen (NICs) erforderlich:
- NIC-Typ
GVNIC
: verwendet den Treibergve
für TCP/IP- und Internet-Traffic für die normale VM-VM- und VM-Internet-Kommunikation. - NIC-Typ
IRDMA
: verwendet IDPF-/iRDMA-Treiber für die RDMA-Netzwerkkommunikation zwischen Instanzen
Instanzen, die Cloud RDMA verwenden, können nur eine IRDMA
-Schnittstelle haben. Sie können bis zu acht zusätzliche GVNIC
-Netzwerkschnittstellen hinzufügen, sodass insgesamt 10 NICs pro Instanz möglich sind.
Beachten Sie die folgenden Regeln für die Konfiguration einer Netzwerkschnittstelle für eine Instanz:
- Jede Netzwerkschnittstelle muss mit einem anderen VPC-Netzwerk verbunden sein.
- Wenn Sie eine IRDMA-Netzwerkschnittstelle konfigurieren möchten, müssen Sie zuerst ein VPC-Netzwerk mit dem Falcon-RDMA-Netzwerkprofil in derselben Region und Zone wie die Instanz erstellen.
- Wenn Sie für die GVNIC-Netzwerkschnittstelle kein Netzwerk oder Subnetz angeben, verwendet Compute Engine das Standard-VPC-Netzwerk und das automatische Subnetz, das sich in derselben Region wie die Instanz befindet.
- Wenn Sie ein Subnetz, aber kein Netzwerk angeben, leitet Compute Engine das Netzwerk aus dem angegebenen Subnetz ab.
- Wenn Sie ein Netzwerk angeben, müssen Sie ein Subnetz angeben, das zu demselben Netzwerk gehören muss. Andernfalls schlägt die Instanzerstellung fehl.
Wenn Sie die Falcon VPC-Netzwerke (Virtual Private Cloud) für die Verwendung mit Ihren Instanzen einrichten möchten, können Sie entweder der dokumentierten Anleitung folgen oder das bereitgestellte Skript verwenden.
Anleitungen
So erstellen Sie die Netzwerke:
Informationen zum Erstellen der Hostnetzwerke für die
GVNIC
-Netzwerkschnittstellen finden Sie unter VPC-Netzwerke erstellen und verwalten.Wenn Sie nur eine
GVNIC
-Netzwerkschnittstelle konfigurieren, können Sie das Standard-VPC-Netzwerk und das automatische Subnetz verwenden, das sich in derselben Region wie die Instanz befindet.Informationen zum Erstellen eines Netzwerks für die Netzwerkschnittstelle
IRDMA
finden Sie unter VPC-Netzwerk mit einem RDMA-Netzwerkprofil erstellen. Verwenden Sie den Standardwert für die maximale Übertragungseinheit (MTU) für ein RDMA-Netzwerk, nämlich8896
.
Skript
Sie können pro Instanz bis zu neun GVNIC
-Netzwerkschnittstellen und eine IRDMA
-Netzwerkschnittstelle erstellen. Jede Netzwerkschnittstelle muss an ein separates Netzwerk angehängt werden. Sie können die Netzwerke mit dem folgenden Skript erstellen. Damit werden zwei Netzwerke für GVNIC
und ein Netzwerk für IRDMA
erstellt, das das Falcon-VPC-Netzwerkprofil verwendet.
Optional: Bevor Sie das Skript ausführen, können Sie die Falcon VPC-Netzwerkprofile auflisten, um zu prüfen, ob eines verfügbar ist. Falcon-VPC-Netzwerkprofile sind nicht in allen Zonen verfügbar.
gcloud beta compute network-profiles list --filter=falcon
Kopieren Sie den folgenden Code und führen Sie ihn in einem Linux-Shell-Fenster aus.
#!/bin/bash
# Create standard VPC (networks and subnets) for the two GVNIC interfaces
for N in $(seq 0 1); do
gcloud compute networks create GVNIC_NAME_PREFIX-net-$N \
--subnet-mode=custom
gcloud compute networks subnets create GVNIC_NAME_PREFIX-sub-$N \
--network=GVNIC_NAME_PREFIX-net-$N \
--region=<var>REGION</var> \
--range=10.$N.0.0/16
gcloud compute firewall-rules create GVNIC_NAME_PREFIX-internal-$N \
--network=GVNIC_NAME_PREFIX-net-$N \
--action=ALLOW \
--rules=tcp:0-65535,udp:0-65535,icmp \
--source-ranges=10.0.0.0/8
done
# Create SSH firewall rules
gcloud compute firewall-rules create GVNIC_NAME_PREFIX-ssh \
--network=GVNIC_NAME_PREFIX-net-0 \
--action=ALLOW \
--rules=tcp:22 \
--source-ranges=IP_RANGE
# Optional: Create a firewall rule for the external IP address for the
# first GVNIC network interface
gcloud compute firewall-rules create GVNIC_NAME_PREFIX-allow-ping-net-0 \
--network=GVNIC_NAME_PREFIX-net-0 \
--action=ALLOW \
--rules=icmp \
--source-ranges=IP_RANGE
# Create a network for the RDMA over Falcon network interface
gcloud beta compute networks create RDMA_NAME_PREFIX-irdma \
--network-profile=ZONE-vpc-falcon \
--subnet-mode custom
# Create a subnet for the RDMA network
gcloud beta compute networks subnets create RDMA_NAME_PREFIX-irdma-sub \
--network=RDMA_NAME_PREFIX-irdma \
--region=REGION \
--range=10.2.0.0/16
# offset to avoid overlap with GVNIC subnet ranges
Ersetzen Sie Folgendes:
GVNIC_NAME_PREFIX
: Das Namenspräfix, das für das Standard-VPC-Netzwerk und -Subnetz verwendet werden soll, das einen GVNIC-NIC-Typ verwendet.REGION
: Die Region, in der Sie die Netzwerke erstellen möchten. Dies muss der Zone entsprechen, die beim Erstellen der Falcon-VPC für das Flag--network-profile
angegeben wurde. Wenn Sie beispielsweise die Zone alseurope-west4-b
angeben, ist Ihre Regioneurope-west4
.IP_RANGE
: Der Bereich der IP-Adressen außerhalb des VPC-Netzwerk, der für die SSH-Firewallregeln verwendet werden soll. Als Best Practice sollten Sie statt aller IPv4- oder IPv6-Quellen die spezifischen IP-Adressbereiche angeben, von denen aus Sie Zugriff gewähren möchten. Verwenden Sie nicht0.0.0.0/0
oder::/0
als Quellbereich, da dadurch Traffic von allen IPv4- oder IPv6-Quellen zugelassen wird, einschließlich Quellen außerhalb vonGoogle Cloud.RDMA_NAME_PREFIX
: Das Namenspräfix, das für das VPC-Netzwerk und das Subnetz verwendet werden soll, die den IRDMA-NIC-Typ verwenden.ZONE
: die Zone, in der Sie die Netzwerke und Compute-Instanzen erstellen möchten. Verwenden Sie entwederus-central1-a
odereurope-west4-b
.
RDMA-fähige Instanzen im Bulk erstellen
Beachten Sie die folgenden Einschränkungen, bevor Sie H4D-Instanzen mit Cloud RDMA erstellen:
- Bei Instanzen mit einer Cloud RDMA-Netzwerkschnittstelle ist während Hostwartungsereignissen keine Live-Migration möglich. Sie müssen die Instanz so konfigurieren, dass sie während der Wartung beendet wird.
- Sie können nur IPv4-Adressen mit RDMA-Netzwerkschnittstellen und VPC-Netzwerken mit einem Falcon-RDMA-Netzwerkprofil verwenden.
- Sie können nur die H4D-Maschinenserie verwenden, um HPC-optimierte Instanzen mit Cloud RDMA zu erstellen.
In den folgenden Schritten wird gezeigt, wie Sie RDMA-fähige Instanzen im Bulk erstellen, wobei die ersten beiden Netzwerkschnittstellen als GVNIC-Schnittstellen und die dritte Netzwerkschnittstelle als IRDMA-Netzwerkschnittstelle konfiguriert werden:
gcloud
Verwenden Sie den Befehl gcloud compute instances create
mit drei --network-interface
-Flags, zwei für GVNIC-Schnittstellen und eines für die IRDMA-Schnittstelle. Wenn Sie eine Richtlinie für kompakte Platzierung verwenden möchten, fügen Sie auch das folgende Flag hinzu: --resource-policies=POLICY_NAME
.
Ersetzen Sie POLICY_NAME
durch den Namen der Richtlinie für kompakte Platzierung. Sie können die restlichen Instanzoptionen nach Bedarf anpassen.
gcloud compute instances bulk create \
--name-pattern=NAME_PATTERN \
--count=COUNT \
--machine-type=MACHINE_TYPE \
--image-family=IMAGE_FAMILY \
--image=project= IMAGE_PROJECT \
--reservation-affinity=specific \
--reservation=RESERVATION \
--provisioning-model=RESERVATION_BOUND \
--instance-termination=action=DELETE \
--maintenance-policy=TERMINATE \
--region=REGION \
--boot-disk-type=hyperdisk-balanced \
--boot-disk-size=DISK_SIZE \
--scopes=cloud-platform \
--network-interface=nic-type=GVNIC, \
network=GVNIC_NAME_PREFIX-net-0, \
subnet=GVNIC_NAME_PREFIX-sub-0, \
stack-type=STACK_TYPE, \
address=EXTERNAL_IPV4_ADDRESS \
--network-interface=nic-type=GVNIC, \
network=GVNIC_NAME_PREFIX-net-1, \
subnet=GVNIC_NAME_PREFIX-sub-1, no-address \
--network-interface=nic-type=IRDMA, \
network=RDMA_NAME_PREFIX-irdma, \
subnet=RDMA_NAME_PREFIX-irdma-sub, \
stack-type=IPV4_ONLY, no-address
Ersetzen Sie Folgendes:
NAME_PATTERN
: Das Namensmuster für die Instanzen. Wenn Sie beispielsweisevm-#
für das Namensmuster verwenden, werden Instanzen mit Namen wievm-1
undvm-2
bis zu der durch das Flag--count
angegebenen Anzahl erstellt.COUNT
: Die Anzahl der zu erstellenden Instanzen.MACHINE_TYPE
: der für die Instanzen zu verwendende Maschinentyp. Verwenden Sie einen der H4D-Maschinentypen, z. B.h4d-highmem-192-lssd
.IMAGE_FAMILY
: Die Image-Familie des Betriebssystem-Images, das Sie verwenden möchten, z. B.rocky-linux-9-optimized-gcp
. Eine Liste der unterstützten Betriebssystem-Images finden Sie unter Unterstützte Betriebssysteme. Wählen Sie eine Betriebssystem-Image-Version aus, die die IRDMA-Schnittstelle unterstützt.IMAGE_PROJECT
: die Projekt-ID für das Betriebssystem-Image, z. B.rocky-linux-cloud
.RESERVATION
: Für diesen Wert können Sie Folgendes angeben:- Wenn Sie eine Platzierungsrichtlinie verwenden oder VMs an einer beliebigen Stelle in Ihrem Reservierungsblock platziert werden können, geben Sie den Reservierungsnamen an, z. B.
h4d-highmem-exfr-prod
. - Wenn die Instanzen in einem bestimmten Block platziert werden sollen und Sie keine Richtlinie für kompakte Platzierungen verwenden, geben Sie einen Reservierungsblocknamen im Format
RESERVATION_NAME/reservationBlocks/
RESERVATION_BLOCK_NAME, for example,
h4d-highmem-exfr-prod/reservationBlocks/h4d-highmem-exfr-prod-block-1` an.
Informationen zum Anzeigen des Reservierungsnamens oder der verfügbaren Reservierungsblöcke finden Sie unter Kapazität ansehen.
- Wenn Sie eine Platzierungsrichtlinie verwenden oder VMs an einer beliebigen Stelle in Ihrem Reservierungsblock platziert werden können, geben Sie den Reservierungsnamen an, z. B.
REGION
: Geben Sie eine Region an, in der der Maschinentyp, den Sie verwenden möchten, verfügbar ist, z. B.europe-west1
. Informationen zu verfügbaren Regionen finden Sie unter Verfügbare Regionen und Zonen.DISK_SIZE
(optional) ist die Größe des Bootlaufwerks in GiB. Der Wert muss eine ganze Zahl sein.GVNIC_NAME_PREFIX
: Das Namenspräfix, das Sie beim Erstellen des VPC-Netzwerk und des Subnetzes für die GVNIC-Schnittstelle verwendet haben.Bei der GVNIC-Netzwerkschnittstelle können Sie die Flags
network
undsubnet
weglassen, um stattdessen dasdefault
-Netzwerk zu verwenden.STACK_TYPE
(optional): der Stacktyp für die GVNIC-Netzwerkschnittstelle.STACK_TYPE
muss einer der folgenden Werte sein:IPV4_ONLY
oderIPV4_IPV6
. Der Standardwert istIPV4_ONLY
.EXTERNAL_IPV4_ADDRESS
: Optional: Eine statische externe IPv4-Adresse, die mit der Netzwerkschnittstelle verwendet werden soll. Sie müssen zuvor eine externe IPv4-Adresse reserviert haben. Führen Sie einen der folgenden Schritte aus:- Geben Sie eine gültige IPv4-Adresse aus dem Subnetz an.
- Verwenden Sie stattdessen das Flag
no-address
, wenn die Netzwerkschnittstelle keine externe IP-Adresse haben soll. - Geben Sie
address=''
an, wenn die Schnittstelle eine sitzungsspezifische externe IP-Adresse erhalten soll.
Verwenden Sie stattdessen das Flag
--external-ipv6-address
, um eine externe IPv6-Adresse anzugeben.RDMA_NAME_PREFIX
: Das Namenspräfix, das Sie beim Erstellen des VPC-Netzwerk und des Subnetzes für die IRDMA-Schnittstelle verwendet haben.
REST
Wenn Sie RDMA-fähige Instanzen im Bulk erstellen möchten, senden Sie eine POST
-Anfrage an die beta instances.bulkInsert
-Methode mit den folgenden Einstellungen:
- Fügen Sie das
networkInterfaces
-Objekt mit mindestens zwei Netzwerkkonfigurationen ein, eine für die gVNIC-Netzwerkschnittstelle und eine für die RDMA-Netzwerkschnittstelle. - Wenn Sie eine Richtlinie für kompakte Platzierung verwenden möchten, fügen Sie dem Anfragetext auch das Objekt
resourcePolicies
hinzu. - Wenn Sie die reservierten Kapazitätsblöcke beim Erstellen der Instanzen verwenden möchten, legen Sie
provisioningModel
aufRESERVATION_BOUND
fest. - Sie können die restlichen Instanzeigenschaften nach Bedarf anpassen.
POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/instances/bulkInsert
{
"namePattern":"NAME_PATTERN",
"count":"COUNT",
"instanceProperties":{
"machineType":"MACHINE_TYPE",
"disks":[
{
"boot":true,
"initializeParams":{
"diskSizeGb":"DISK_SIZE",
"diskType":"hyperdisk-balanced",
"sourceImage":"projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY"
},
"mode":"READ_WRITE",
"type":"PERSISTENT"
}
],
"networkInterfaces": [
{
"network": "GVNIC_NAME_PREFIX-net-0",
"subnetwork": "GVNIC_NAME_PREFIX-sub-0",
"accessConfigs": [
{
"type": "ONE_TO_ONE_NAT",
"name": "External IP",
"natIP": "EXTERNAL_IPV4_ADDRESS"
}
],
"stackType": "IPV4_ONLY",
"nicType": "GVNIC",
},
{
"network": "GVNIC_NAME_PREFIX-net-1",
"subnetwork": "GVNIC_NAME_PREFIX-sub-1",
"stackType": "IPV4_ONLY",
"nicType": "GVNIC",
},
{
"network": "RDMA_NAME_PREFIX-irdma",
"subnetwork": "RDMA_NAME_PREFIX-irdma-sub",
"stackType": "IPV4_ONLY",
"nicType": "IRDMA",
}
],
"reservationAffinity":{
"consumeReservationType":"SPECIFIC_RESERVATION",
"key":"compute.googleapis.com/reservation-name",
"values":[
"RESERVATION"
],
"scheduling":{
"provisioningModel":"RESERVATION_BOUND",
"instanceTerminationAction":"DELETE",
"onHostMaintenance": "TERMINATE",
"automaticRestart":true
}
},
...
}
}
Gehen Sie folgendermaßen vor:
Ersetzen Sie im Anfragetext Folgendes:
PROJECT_ID
: die Projekt-ID des Projekts, in dem Sie die Instanzen erstellen möchten.ZONE
: Geben Sie eine Zone an, in der der Maschinentyp, den Sie verwenden möchten, verfügbar ist. Wenn Sie eine Richtlinie für kompakte Platzierung verwenden, müssen Sie eine Zone in derselben Region wie die Richtlinie für kompakte Platzierung verwenden. Informationen zu den Regionen, in denen H4D-Maschinentypen verfügbar sind, finden Sie unter Verfügbare Regionen und Zonen.NAME_PATTERN
ist das Namensmuster für die Instanzen. Wenn Sie beispielsweisevm-#
für das Namensmuster verwenden, werden Instanzen mit Namen wievm-1
undvm-2
bis zu der durch das Feldcount
angegebenen Anzahl erstellt.COUNT
: Die Anzahl der zu erstellenden Instanzen.MACHINE_TYPE
: der für die Instanzen zu verwendende Maschinentyp. Verwenden Sie einen der H4D-Maschinentypen, z. B.h4d-highmem-192-lssd
.DISK_SIZE
: die Größe des Bootlaufwerks in GiB.IMAGE_PROJECT
: die Projekt-ID für das Betriebssystem-Image, z. B.debian-cloud
.IMAGE_FAMILY
: Die Image-Familie des Betriebssystem-Images, das Sie verwenden möchten, z. B.rocky-linux-9-optimized-gcp
. Eine Liste der unterstützten Betriebssystem-Images finden Sie unter Unterstützte Betriebssysteme. Wählen Sie eine Betriebssystem-Image-Version aus, die die IRDMA-Schnittstelle unterstützt.GVNIC_NAME_PREFIX
: Das Namenspräfix, das Sie beim Erstellen des VPC-Netzwerk und des Subnetzes für die GVNIC-Schnittstelle verwendet haben.Bei der GVNIC-Netzwerkschnittstelle können Sie die Felder
network
undsubnetwork
weglassen, um stattdessen das Netzwerkdefault
zu verwenden.EXTERNAL_IPV4_ADDRESS
: Optional: Eine statische externe IPv4-Adresse, die mit der Netzwerkschnittstelle verwendet werden soll. Sie müssen zuvor eine externe IPv4-Adresse reserviert haben.RDMA_NAME_PREFIX
: Das Namenspräfix, das Sie beim Erstellen des VPC-Netzwerk und des Subnetzes für die IRDMA-Schnittstelle verwendet haben.RESERVATION
: Für diesen Wert können Sie Folgendes angeben:- Wenn Sie eine Platzierungsrichtlinie verwenden oder VMs an einer beliebigen Stelle in Ihrem Reservierungsblock platziert werden können, geben Sie den Reservierungsnamen an, z. B.
h4d-highmem-exfr-prod
. - Wenn Sie möchten, dass die Instanzen in einem bestimmten Block platziert werden, und Sie keine Richtlinie für kompakte Platzierungen verwenden, geben Sie einen Reservierungsblocknamen als
RESERVATION_NAME/reservationBlocks/
RESERVATION_BLOCK_NAME, for example,
h4d-highmem-exfr-prod/reservationBlocks/h4d-highmem-exfr-prod-block-1` an.
Informationen zum Anzeigen des Reservierungsnamens oder der verfügbaren Reservierungsblöcke finden Sie unter Kapazität ansehen.
- Wenn Sie eine Platzierungsrichtlinie verwenden oder VMs an einer beliebigen Stelle in Ihrem Reservierungsblock platziert werden können, geben Sie den Reservierungsnamen an, z. B.
Optional:Wenn Sie eine Richtlinie für kompakte Platzierung verwenden, ersetzen Sie
...
im Anfragetext durch das folgende Feld:"resourcePolicies": [ "projects/PROJECT_ID/regions/REGION/resourcePolicies/POLICY_NAME" ],
Ersetzen Sie Folgendes:
PROJECT_ID
: Die Projekt-ID der Richtlinie für kompakte Platzierung.REGION
: die Region der Richtlinie für kompakte Platzierung.POLICY_NAME
: der Name der Richtlinie für kompakte Platzierung.
Senden Sie die Anfrage.