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.
Ziele
- Reservieren Sie Kapazitätsblöcke für Ihre Bereitstellung.
- Optional: Erstellen Sie eine Platzierungsrichtlinie, wenn Sie die VMs nicht auf demselben Block oder Unterblock erstellen.
- Virtual Private Cloud-Netzwerke erstellen
- RDMA-fähige Instanzen im Bulk erstellen
- bereinigen.
Kosten
In dieser Anleitung werden kostenpflichtige Komponenten von Google Cloudverwendet, darunter:
Mit dem Preisrechner können Sie eine Kostenschätzung für Ihre voraussichtliche Nutzung vornehmen.
Hinweise
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
Install the Google Cloud CLI.
-
Wenn Sie einen externen Identitätsanbieter (IdP) verwenden, müssen Sie sich zuerst mit Ihrer föderierten Identität in der gcloud CLI anmelden.
-
Führen Sie folgenden Befehl aus, um die gcloud CLI zu initialisieren:
gcloud init
-
Create or select a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator
(
roles/resourcemanager.projectCreator
), which contains theresourcemanager.projects.create
permission. Learn how to grant roles.
-
Create a Google Cloud project:
gcloud projects create PROJECT_ID
Replace
PROJECT_ID
with a name for the Google Cloud project you are creating. -
Select the Google Cloud project that you created:
gcloud config set project PROJECT_ID
Replace
PROJECT_ID
with your Google Cloud project name.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the required API:
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin
), which contains theserviceusage.services.enable
permission. Learn how to grant roles.gcloud services enable compute.googleapis.com
-
Install the Google Cloud CLI.
-
Wenn Sie einen externen Identitätsanbieter (IdP) verwenden, müssen Sie sich zuerst mit Ihrer föderierten Identität in der gcloud CLI anmelden.
-
Führen Sie folgenden Befehl aus, um die gcloud CLI zu initialisieren:
gcloud init
-
Create or select a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator
(
roles/resourcemanager.projectCreator
), which contains theresourcemanager.projects.create
permission. Learn how to grant roles.
-
Create a Google Cloud project:
gcloud projects create PROJECT_ID
Replace
PROJECT_ID
with a name for the Google Cloud project you are creating. -
Select the Google Cloud project that you created:
gcloud config set project PROJECT_ID
Replace
PROJECT_ID
with your Google Cloud project name.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the required API:
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin
), which contains theserviceusage.services.enable
permission. Learn how to grant roles.gcloud services enable compute.googleapis.com
-
Grant roles to your user account. Run the following command once for each of the following IAM roles:
roles/compute.instanceAdmin.v1,roles/compute.networkAdmin
gcloud projects add-iam-policy-binding PROJECT_ID --member="user:USER_IDENTIFIER" --role=ROLE
Replace the following:
PROJECT_ID
: your project ID.USER_IDENTIFIER
: the identifier for your user account—for example,myemail@example.com
.ROLE
: the IAM role that you grant to your user account.
- Für nicht dichte Deployments: Bereitstellungsmodelle für Compute Engine-Instanzen
- Für dichte Bereitstellungen: Nutzungsoption auswählen und Kapazität abrufen
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 Projektname, ‑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äten 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 CUD-Freigabe für ressourcenbasierte Zusicherungen aktivieren.
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.
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.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.- 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 - 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.
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
.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.
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
.- 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.
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.- 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.
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.
Rufen Sie in der Google Cloud Console die Seite VM-Instanzen auf:
Wählen Sie die Zeilen mit den VM-Instanzen aus, die Sie in dieser Anleitung erstellt haben.
Klicken Sie auf
Löschen und dann noch einmal auf Löschen, um den Löschvorgang zu bestätigen.Verwenden Sie zum Löschen der Platzierungsrichtlinie den Befehl
gcloud compute resource-policies delete
.gcloud compute resource-policies delete POLICY_NAME \ --region=REGION
Ersetzen Sie Folgendes:
POLICY_NAME
: der Name der PlatzierungsrichtlinieREGION
: die Region, in der sich die Platzierungsrichtlinie befindet
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 Verbrauchsoptionen finden Sie hier:
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 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:
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:
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:
Virtual Private Cloud-Netzwerke erstellen
Für RDMA-fähige Instanzen sind mindestens zwei Netzwerkschnittstellen (NICs) erforderlich:
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:
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:
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.
#!/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:
RDMA-fähige Instanzen im Bulk erstellen
Beachten Sie die folgenden Einschränkungen, bevor Sie H4D-Instanzen mit Cloud RDMA 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:
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:
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:
Bereinigen
Damit Ihrem Google Cloud-Konto die in dieser Anleitung verwendeten Ressourcen nicht in Rechnung gestellt werden, löschen Sie entweder das Projekt, das die Ressourcen enthält, oder Sie behalten das Projekt und löschen die einzelnen Ressourcen.
Projekt löschen
Delete a Google Cloud project:
gcloud projects delete PROJECT_ID