Ce tutoriel vous explique comment créer un grand nombre d'instances de machines virtuelles (VM) de calcul hautes performances (HPC) identiques et indépendantes les unes des autres. Les instances utilisent des types de machines H4D optimisés pour le HPC et s'exécutent sur des blocs de capacité réservés. Ce tutoriel explique également comment configurer les instances H4D pour utiliser Cloud RDMA.
Ce tutoriel est destiné aux ingénieurs HPC, aux administrateurs et opérateurs de plate-forme, ainsi qu'aux spécialistes des données et de MPI qui souhaitent créer un cluster d'instances HPC interconnectées. Les instances qui en résultent n'utilisent pas d'orchestrateur pour la gestion des instances ni la planification des tâches.
Objectifs
- Réservez des blocs de capacité pour votre déploiement.
- Facultatif : Créez une stratégie d'emplacement si vous ne créez pas les VM sur le même bloc ou sous-bloc.
- Créez des réseaux de cloud privé virtuel.
- Créez des instances compatibles avec RDMA de manière groupée.
- effectuer un nettoyage.
Coûts
Ce tutoriel utilise des composants facturables de Google Cloud, y compris :
Obtenez une estimation des coûts en fonction de votre utilisation prévue à l'aide du simulateur de coût.
Avant de commencer
- 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.
-
Si vous utilisez un fournisseur d'identité (IdP) externe, vous devez d'abord vous connecter à la gcloud CLI avec votre identité fédérée.
-
Pour initialiser la gcloud CLI, exécutez la commande suivante :
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.
-
Si vous utilisez un fournisseur d'identité (IdP) externe, vous devez d'abord vous connecter à la gcloud CLI avec votre identité fédérée.
-
Pour initialiser la gcloud CLI, exécutez la commande suivante :
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.
- Pour les déploiements non denses : Modèles de provisionnement des instances Compute Engine
- Pour les déploiements denses : Choisir une option de consommation et obtenir une capacité
Contactez l'équipe responsable de votre compte et fournissez les informations suivantes pour que Google crée une demande de réservation future brouillon :
Numéro de projet : numéro du projet dans lequel votre équipe chargée du compte crée la demande et Compute Engine provisionne la capacité. Pour savoir comment trouver votre numéro de projet, consultez Trouver le nom, le numéro et l'ID du projet dans la documentation Resource Manager.
Type de machine : l'un des types de machines H4D optimisés pour le HPC
Nombre total : nombre total de VM à réserver. Vous ne pouvez réserver que des multiples de deux VM. La taille des blocs et le nombre de VM par bloc varient en fonction du type de machine et de la disponibilité. L'équipe chargée de votre compte peut vous fournir plus d'informations sur votre demande.
Zone : zone dans laquelle vous souhaitez réserver de la capacité. Pour consulter les régions et zones disponibles pour la série de machines H4D, consultez Régions et zones disponibles, puis sélectionnez
H4D
dans la liste Sélectionner une série de machines.Heure de début : heure de début de la période de réservation. Mettez en forme l'heure de début en tant que code temporel RFC 3339 :
YYYY-MM-DDTHH:MM:SSOFFSET
Remplacez les éléments suivants :
YYYY-MM-DD
: date respectant la syntaxe année à quatre chiffres, mois à deux chiffres et jour du mois à deux chiffres, séparés par des traits d'union (-
).HH:MM:SS
: heure respectant la syntaxe heures à deux chiffres sur 24 heures, minutes à deux chiffres et secondes à deux chiffres, séparés par des signes deux-points (:
).OFFSET
: fuseau horaire mis en forme en tant que décalage par rapport au temps universel coordonné (UTC). Par exemple, pour utiliser l'heure normale du Pacifique (PST), spécifiez-08:00
. Pour n'utiliser aucun décalage, spécifiezZ
.
Heure de fin : heure de fin de la période de réservation. Mettez-la en forme en tant que code temporel RFC 3339.
Type de partage : indique si la réservation créée automatiquement peut être utilisée uniquement par votre projet (
LOCAL
) ou par d'autres projets (SPECIFIC_PROJECTS
).Pour partager la capacité réservée avec d'autres projets de votre organisation, procédez comme suit :
Si vous ne l'avez pas déjà fait, vérifiez que le projet dans lequel Google crée la demande est autorisé à créer des réservations partagées.
Indiquez les numéros des projets avec lesquels partager la capacité réservée. Vous pouvez spécifier jusqu'à 100 projets dans votre organisation.
Nom de la réservation : nom de la réservation que Compute Engine crée automatiquement pour fournir votre capacité réservée. Compute Engine ne crée que des réservations spécifiquement ciblées.
Nom de l'engagement : si votre période de réservation est d'un an ou plus, vous devez souscrire un engagement basé sur les ressources et l'associer à vos ressources réservées. Vous pouvez souscrire un engagement avec un forfait d'un ou trois ans. Si vous partagez la capacité réservée avec d'autres projets, ces projets ne bénéficieront de remises que s'ils utilisent le même compte de facturation Cloud que le projet pour lequel vous réservez de la capacité. Pour en savoir plus, consultez Activer le partage des remises sur engagement d'utilisation pour les engagements basés sur les ressources.
Google crée une demande de réservation future brouillon et votre équipe chargée du compte vous contacte.
Examinez la demande provisoire. Tenez compte des points suivants lorsque vous examinez la demande de réservation :
- Vous ne pouvez commencer à utiliser la capacité réservée qu'après la date et l'heure de début spécifiées.
Lorsque l'heure de fin spécifiée est atteinte, Compute Engine effectue les opérations suivantes :
- Supprime la réservation créée automatiquement.
- Arrête ou supprime toutes les VM qui utilisent la réservation. L'action effectuée dépend de l'action de terminaison que vous spécifiez lors de la création des VM.
Vous ne pouvez pas modifier le partage de la capacité réservée une fois la demande de réservation envoyée.
Pour examiner une demande de réservation future brouillon, sélectionnez l'une des options suivantes :
Console
Dans la console Google Cloud , accédez à la page Réservations.
Cliquez sur l'onglet Réservations futures. Le tableau Réservations futures liste chaque demande de réservation future dans votre projet. Chaque colonne du tableau décrit une propriété.
Dans la colonne Nom, cliquez sur le nom de la demande brouillon que Google a créée pour vous. Une page contenant les détails de la demande de réservation future s'affiche.
Dans la section Informations de base, vérifiez que les détails de la demande, tels que Dates et Type de partage, sont corrects. De plus, si vous avez demandé un engagement, vérifiez qu'il est spécifié.
Si l'une de ces informations est incorrecte, contactez l'équipe chargée de votre compte.
gcloud
Pour afficher la liste des demandes de réservation future dans votre projet, utilisez la commande
gcloud beta compute future-reservations list
avec l'option--filter
définie surPROCUREMENT_STATUS=DRAFTING
:gcloud beta compute future-reservations list --filter=PROCUREMENT_STATUS=DRAFTING
Dans le résultat de la commande, recherchez la demande de réservation portant le nom que vous avez fourni à votre équipe chargée du compte.
Pour afficher les détails de la demande brouillon, utilisez la commande
gcloud beta compute future-reservations describe
:gcloud beta compute future-reservations describe FUTURE_RESERVATION_NAME \ --zone=ZONE
Remplacez les éléments suivants :
FUTURE_RESERVATION_NAME
: nom de la requête de réservation future brouillon.ZONE
: zone dans laquelle Google a créé la demande.
Le résultat ressemble à ce qui suit :
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
Dans le résultat de la commande, vérifiez que les détails de la demande, tels que la période de réservation et le type de partage, sont corrects. De plus, si vous avez souscrit un engagement, vérifiez qu'il est spécifié.
Si les informations sont incorrectes, contactez l'équipe chargée de votre compte.
REST
Pour afficher la liste des demandes de réservations futures dans votre projet, envoyez une requête
GET
à la méthodefutureReservations.list
en version bêta. Dans l'URL de la requête, incluez le paramètre de requêtefilter
et définissez-le surstatus.procurementStatus=DRAFTING
:GET https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/futureReservations?filter=status.procurementStatus=DRAFTING
Remplacez les éléments suivants :
PROJECT_ID
: ID du projet dans lequel Google a créé la demande de réservation future provisoire.ZONE
: zone où se trouve la requête.
Dans le résultat de la demande, recherchez la demande de réservation dont le nom correspond à celui que vous avez fourni à votre équipe de compte.
Pour afficher les détails de la demande brouillon, envoyez une requête
GET
à la méthode bêtafutureReservations.get
:GET https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/futureReservations/FUTURE_RESERVATION_NAME
Remplacez
FUTURE_RESERVATION_NAME
par le nom de la demande de réservation future brouillon.Le résultat ressemble à ce qui suit :
{ "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" }
Dans le résultat, vérifiez que les détails de la demande, tels que la période de réservation et le type de partage, sont corrects. De plus, si vous avez demandé un engagement, vérifiez qu'il est spécifié.
Si les informations sont incorrectes, contactez l'équipe chargée de votre compte.
Si tout vous semble correct, envoyez la demande de réservation. Vous devez envoyer la demande avant l'heure de début de la demande.
Pour envoyer une demande de réservation future brouillon, sélectionnez l'une des options suivantes :
Console
Dans la console Google Cloud , accédez à la page Réservations.
Cliquez sur l'onglet Réservations futures.
Dans la colonne Nom, cliquez sur le nom de la demande brouillon que Google a créée pour vous.
Cliquez sur Envoyer.
gcloud
Pour envoyer la demande provisoire à des fins d'examen, utilisez la commande
gcloud beta compute future-reservations update
avec l'option--planning-status
définie surSUBMITTED
:gcloud beta compute future-reservations update FUTURE_RESERVATION_NAME \ --planning-status=SUBMITTED \ --zone=ZONE
REST
Pour envoyer la requête brouillon pour examen, envoyez une requête
PATCH
à la méthode bêtafutureReservations.update
. Dans l'URL de la requête, incluez le paramètre de requêteupdateMask
et définissez-le surplanningStatus
: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 approuve immédiatement votre demande.
Compute Engine crée une réservation vide avec les ressources que vous avez demandées.
Pour afficher la réservation, consultez Afficher la capacité réservée dans la documentation AI Hypercomputer.
POLICY_NAME
: nom de la stratégie d'emplacement compactMAX_DISTANCE
: configuration de distance maximale pour vos instances de VM. Spécifiez3
pour placer les VM dans des blocs adjacents et2
pour les placer dans le même bloc. Le placement des VM est effectué au mieux.REGION
: région dans laquelle vous souhaitez créer la stratégie d'emplacement. Spécifiez une région dans laquelle le type de machine que vous souhaitez utiliser est disponible. Pour en savoir plus sur les régions disponibles, consultez Régions et zones disponibles.PROJECT_ID
: ID de votre projetREGION
: région dans laquelle vous souhaitez créer la stratégie d'emplacement. Spécifiez une région dans laquelle le type de machine que vous souhaitez utiliser est disponible. Pour en savoir plus sur les régions disponibles, consultez Régions et zones disponibles.POLICY_NAME
: nom de la stratégie d'emplacement compactMAX_DISTANCE
: configuration de distance maximale pour vos instances de VM. Spécifiez3
pour placer les VM dans des blocs adjacents et2
pour les placer dans le même bloc. Le placement des VM est effectué au mieux.- Type de carte d'interface réseau
GVNIC
: utilise le pilotegve
pour le trafic TCP/IP et Internet pour la communication normale entre VM et entre VM et Internet - Type de carte d'interface réseau
IRDMA
: utilise les pilotes IDPF/iRDMA pour la communication réseau RDMA entre les instances - Chaque interface réseau doit se connecter à un réseau cloud privé virtuel différent.
- Pour configurer une interface réseau IRDMA, vous devez d'abord créer un réseau VPC avec le profil réseau Falcon RDMA dans la même région et la même zone que l'instance.
- Pour l'interface réseau GVNIC, si vous ne spécifiez pas de réseau ni de sous-réseau, Compute Engine utilise le réseau VPC par défaut et le sous-réseau automatique situé dans la même région que l'instance.
- Si vous spécifiez un sous-réseau, mais pas de réseau, Compute Engine déduit le réseau à partir du sous-réseau spécifié.
- Si vous spécifiez un réseau, vous devez spécifier un sous-réseau et il doit appartenir au même réseau. Sinon, la création de l'instance échoue.
Pour créer les réseaux hôtes pour les interfaces réseau
GVNIC
, consultez Créer et gérer des réseaux VPC.Si vous ne configurez qu'une seule interface réseau
GVNIC
, vous pouvez utiliser le réseau VPC par défaut et le sous-réseau automatique situé dans la même région que l'instance.Pour créer un réseau pour l'interface réseau
IRDMA
, consultez Créer un réseau VPC avec un profil réseau RDMA. Utilisez la valeur par défaut de l'unité de transmission maximale (MTU) pour un réseau RDMA, qui est8896
.Facultatif : Avant d'exécuter le script, listez les profils réseau VPC Falcon pour vérifier qu'il en existe un. Les profils de réseau VPC Falcon ne sont pas disponibles dans toutes les zones.
gcloud beta compute network-profiles list --filter=falcon
Copiez le code suivant et exécutez-le dans une fenêtre de shell Linux.
GVNIC_NAME_PREFIX
: préfixe de nom à utiliser pour le réseau et le sous-réseau VPC standards qui utilisent un type de carte réseau GVNIC.REGION
: région dans laquelle vous voulez créer les réseaux. Elle doit correspondre à la zone spécifiée pour l'option--network-profile
lors de la création du VPC Falcon. Par exemple, si vous spécifiez la zoneeurope-west4-b
, votre région esteurope-west4
.IP_RANGE
: plage d'adresses IP en dehors du réseau VPC à utiliser pour les règles de pare-feu SSH. Il est recommandé de spécifier les plages d'adresses IP spécifiques à partir desquelles vous devez autoriser l'accès, plutôt que toutes les sources IPv4 ou IPv6. N'utilisez pas0.0.0.0/0
ni::/0
comme plage source, car cela autorise le trafic provenant de toutes les sources IPv4 ou IPv6, y compris celles en dehors deGoogle Cloud.RDMA_NAME_PREFIX
: préfixe de nom à utiliser pour le réseau VPC et le sous-réseau qui utilisent le type de carte réseau IRDMA.ZONE
: zone dans laquelle vous souhaitez créer les réseaux et les instances de calcul. Utilisezus-central1-a
oueurope-west4-b
.- Vous ne pouvez pas utiliser la migration à chaud lors d'événements de maintenance de l'hôte avec des instances qui disposent d'une interface réseau Cloud RDMA. Vous devez configurer l'instance pour qu'elle s'arrête lors des événements de maintenance.
- Vous ne pouvez utiliser que des adresses IPv4 avec les interfaces réseau RDMA et les réseaux VPC dotés d'un profil réseau Falcon RDMA.
- Vous ne pouvez utiliser que la série de machines H4D pour créer des instances optimisées pour le HPC avec Cloud RDMA.
NAME_PATTERN
: modèle de nom des instances. Par exemple, le modèle de nomvm-#
génère des instances portant les nomsvm-1
etvm-2
, et ainsi de suite, jusqu'à ce qu'il atteigne le nombre spécifié par l'indicateur--count
.COUNT
: nombre d'instances à créer.MACHINE_TYPE
: type de machine à utiliser pour les instances. Utilisez l'un des types de machines H4D, par exempleh4d-highmem-192-lssd
.IMAGE_FAMILY
: famille d'images de l'image d'OS que vous souhaitez utiliser, par exemplerocky-linux-9-optimized-gcp
. Pour obtenir la liste des images d'OS compatibles, consultez Systèmes d'exploitation compatibles. Choisissez une version d'image d'OS compatible avec l'interface IRDMA.IMAGE_PROJECT
: ID du projet pour l'image d'OS, par exemplerocky-linux-cloud
.RESERVATION
: pour cette valeur, vous pouvez spécifier l'une des options suivantes :- Si vous utilisez une stratégie d'emplacement ou si les VM peuvent être placées n'importe où dans votre bloc de réservation, spécifiez le nom de la réservation, par exemple
h4d-highmem-exfr-prod
. - Si vous souhaitez que les instances soient placées dans un bloc spécifique et que vous n'utilisez pas de stratégie d'emplacement compact, spécifiez un nom de bloc de réservation au format
RESERVATION_NAME/reservationBlocks/
RESERVATION_BLOCK_NAME, for example,
h4d-highmem-exfr-prod/reservationBlocks/h4d-highmem-exfr-prod-block-1`.
Pour afficher le nom de la réservation ou les blocs de réservation disponibles, consultez Afficher la capacité.
- Si vous utilisez une stratégie d'emplacement ou si les VM peuvent être placées n'importe où dans votre bloc de réservation, spécifiez le nom de la réservation, par exemple
REGION
: spécifiez une région dans laquelle le type de machine que vous souhaitez utiliser est disponible, par exempleeurope-west1
. Pour en savoir plus sur les régions disponibles, consultez Régions et zones disponibles.DISK_SIZE
: (facultatif) taille du disque de démarrage en Gio. Cette valeur doit être un nombre entier.GVNIC_NAME_PREFIX
: préfixe de nom que vous avez utilisé lors de la création du réseau VPC et du sous-réseau pour l'interface GVNIC.Pour l'interface réseau gVNIC, vous pouvez omettre les indicateurs
network
etsubnet
pour utiliser le réseaudefault
.STACK_TYPE
: (facultatif) type de pile pour l'interface réseau GVNIC.STACK_TYPE
doit être défini surIPV4_ONLY
ouIPV4_IPV6
. La valeur par défaut estIPV4_ONLY
.EXTERNAL_IPV4_ADDRESS
: facultatif : adresse IPv4 externe statique à utiliser avec l'interface réseau. Vous devez avoir réservé une adresse IPv4 externe auparavant. Effectuez l'une des opérations suivantes :- Spécifiez une adresse IPv4 valide du sous-réseau.
- Utilisez plutôt l'indicateur
no-address
si vous ne souhaitez pas que l'interface réseau ait une adresse IP externe. - Spécifiez
address=''
si vous souhaitez que l'interface reçoive une adresse IP externe éphémère.
Pour spécifier une adresse IPv6 externe, utilisez plutôt l'option
--external-ipv6-address
.RDMA_NAME_PREFIX
: préfixe de nom que vous avez utilisé lors de la création du réseau VPC et du sous-réseau pour l'interface IRDMA.- Incluez l'objet
networkInterfaces
avec au moins deux configurations réseau, une pour l'interface réseau gVNIC et une pour l'interface réseau RDMA. - Si vous avez choisi d'utiliser une stratégie d'emplacement compact, ajoutez également l'objet
resourcePolicies
au corps de la requête. - Pour utiliser les blocs de capacité réservés lors de la création des instances, définissez
provisioningModel
surRESERVATION_BOUND
. - Vous pouvez personnaliser le reste des propriétés de l'instance, si nécessaire.
Remplacez les éléments suivants dans le corps de la requête :
PROJECT_ID
: ID du projet dans lequel vous souhaitez créer les instances.ZONE
: spécifiez une zone dans laquelle le type de machine que vous souhaitez utiliser est disponible. Si vous utilisez une stratégie de concentration, utilisez une zone de la même région que la stratégie de concentration. Pour en savoir plus sur les régions dans lesquelles les types de machines H4D sont disponibles, consultez Régions et zones disponibles.NAME_PATTERN
: modèle de nom des instances. Par exemple, le modèle de nomvm-#
génère des instances portant les nomsvm-1
etvm-2
, jusqu'à ce qu'il atteigne le nombre spécifié par le champcount
.COUNT
: nombre d'instances à créer.MACHINE_TYPE
: type de machine à utiliser pour les instances. Utilisez l'un des types de machines H4D, par exempleh4d-highmem-192-lssd
.DISK_SIZE
: taille du disque de démarrage en Gio.IMAGE_PROJECT
: ID du projet pour l'image d'OS, par exempledebian-cloud
.IMAGE_FAMILY
: famille d'images de l'image d'OS que vous souhaitez utiliser, par exemplerocky-linux-9-optimized-gcp
. Pour obtenir la liste des images d'OS compatibles, consultez Systèmes d'exploitation compatibles. Choisissez une version d'image d'OS compatible avec l'interface IRDMA.GVNIC_NAME_PREFIX
: préfixe de nom que vous avez utilisé lors de la création du réseau VPC et du sous-réseau pour l'interface GVNICPour l'interface réseau gVNIC, vous pouvez omettre les champs
network
etsubnetwork
pour utiliser le réseaudefault
.EXTERNAL_IPV4_ADDRESS
: facultatif : adresse IPv4 externe statique à utiliser avec l'interface réseau. Vous devez avoir réservé une adresse IPv4 externe auparavant.RDMA_NAME_PREFIX
: préfixe de nom que vous avez utilisé lors de la création du réseau VPC et du sous-réseau pour l'interface IRDMA.RESERVATION
: pour cette valeur, vous pouvez spécifier l'une des options suivantes :- Si vous utilisez une stratégie d'emplacement ou si les VM peuvent être placées n'importe où dans votre bloc de réservation, spécifiez le nom de la réservation, par exemple
h4d-highmem-exfr-prod
. - Si vous souhaitez que les instances soient placées dans un bloc spécifique et que vous n'utilisez pas de stratégie d'emplacement compact, spécifiez un nom de bloc de réservation tel que
RESERVATION_NAME/reservationBlocks/
RESERVATION_BLOCK_NAME, for example,
h4d-highmem-exfr-prod/reservationBlocks/h4d-highmem-exfr-prod-block-1`.
Pour afficher le nom de la réservation ou les blocs de réservation disponibles, consultez Afficher la capacité.
- Si vous utilisez une stratégie d'emplacement ou si les VM peuvent être placées n'importe où dans votre bloc de réservation, spécifiez le nom de la réservation, par exemple
Facultatif : Si vous utilisez une stratégie d'emplacement compact, remplacez
...
dans le corps de la requête par le champ suivant :"resourcePolicies": [ "projects/PROJECT_ID/regions/REGION/resourcePolicies/POLICY_NAME" ],
Remplacez les éléments suivants :
PROJECT_ID
: ID du projet de la stratégie d'emplacement compact.REGION
: région de la stratégie d'emplacement compact.POLICY_NAME
: nom de la stratégie d'emplacement compact.
Envoyez la demande.
Dans la console Google Cloud , accédez à la page Instances de VM.
Sélectionnez les lignes contenant les instances de VM que vous avez créées dans ce tutoriel.
Cliquez sur
Supprimer, puis à nouveau sur Supprimer pour confirmer l'opération.Pour supprimer la stratégie d'emplacement, utilisez la commande
gcloud compute resource-policies delete
.gcloud compute resource-policies delete POLICY_NAME \ --region=REGION
Remplacez les éléments suivants :
POLICY_NAME
: nom de la stratégie d'emplacementREGION
: région où se trouve la stratégie d'emplacement
Réserver des blocs de capacité pour votre déploiement
Ce document explique comment réserver des blocs de capacité en demandant à votre équipe de compte de créer une demande de réservation future pour vous. Utilisez ce type de réservation pour obtenir de la capacité pour le déploiement dense d'instances de VM. Pour obtenir un aperçu de toutes les options de consommation, consultez :
Cette action vous permet de réserver des blocs de capacité pour une durée définie, à partir d'une date et d'une heure spécifiques de votre choix. En fonction de votre demande, Google crée un brouillon de requête de réservation future. Une fois que vous avez examiné et envoyé cette demande provisoire, et que Google Cloud l'a approuvée, Compute Engine crée automatiquement (création automatique) une réservation vide. Ensuite, à l'heure de début choisie, Compute Engine provisionne la capacité demandée dans la réservation créée automatiquement. Vous pouvez ensuite utiliser la réservation pour créer des instances de machines virtuelles (VM) jusqu'à la fin de la période de réservation.
Dans le cadre du processus de demande de réservation future, Google gère le quota de vos ressources réservées. Vous n'avez pas besoin de demander de quota. Au début de la période de réservation de votre réservation future approuvée, Google augmente votre quota si vous n'en avez pas assez pour les ressources réservées.
Pour réserver des blocs de capacité, procédez comme suit :
Facultatif : Créer une règle d'emplacement
Utilisez une règle d'emplacement si vous souhaitez que vos VM soient placées le plus près possible les unes des autres. Toutefois, si vous souhaitez que vos VM se trouvent sur un bloc spécifique, ignorez cette étape et indiquez le nom du bloc requis lors de la création groupée des VM.
Les instances qui communiquent à l'aide de Cloud RDMA doivent être situées dans une seule zone et, plus précisément, dans un seul cluster. Vous pouvez créer une stratégie d'emplacement compact et spécifier une valeur de distance maximale pour définir la compacité minimale dans une zone. Lorsque vous spécifiez une valeur maximale de distance, le nombre d'instances auxquelles vous pouvez attribuer la stratégie de placement compact est limité. Cette limite varie en fonction de la valeur que vous choisissez.
Pour créer une stratégie de concentration, sélectionnez l'une des options suivantes :
gcloud
Pour créer une stratégie de concentration, utilisez la commande 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
Remplacez les éléments suivants :
REST
Pour créer une stratégie d'emplacement compact, envoyez une requête POST
à la méthode beta.resourcePolicies.insert
.
Dans le corps de la requête, incluez le champ collocation
défini sur COLLOCATED
, ainsi que le champ maxDistance
.
POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION/resourcePolicies
{
"name": "POLICY_NAME",
"groupPlacementPolicy": {
"collocation": "COLLOCATED",
"maxDistance": "MAX_DISTANCE"
}
}
Remplacez les éléments suivants :
Créer des réseaux de cloud privé virtuel
Les instances compatibles avec RDMA nécessitent au moins deux interfaces réseau (NIC) :
Les instances qui utilisent Cloud RDMA ne peuvent avoir qu'une seule interface IRDMA
. Vous pouvez ajouter jusqu'à huit interfaces réseau GVNIC
supplémentaires, pour un total de 10 cartes d'interface réseau par instance.
Consultez les règles suivantes pour configurer une interface réseau pour une instance :
Pour configurer les réseaux Falcon Virtual Private Cloud (VPC) à utiliser avec vos instances, vous pouvez suivre les instructions de la documentation ou utiliser le script fourni.
Guides d'instructions
Pour créer les réseaux, vous pouvez suivre les instructions suivantes :
Script
Vous pouvez créer jusqu'à neuf interfaces réseau GVNIC
et une interface réseau IRDMA
par instance. Chaque interface réseau doit être associée à un réseau distinct. Pour créer les réseaux, vous pouvez utiliser le script suivant, qui crée deux réseaux pour GVNIC
et un réseau pour IRDMA
qui utilise le profil de réseau VPC Falcon.
#!/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
Remplacez les éléments suivants :
Créer des instances compatibles avec RDMA de manière groupée
Consultez les limites suivantes avant de créer des instances H4D avec Cloud RDMA :
Les étapes suivantes montrent comment créer des instances compatibles RDMA de manière groupée, avec les deux premières interfaces réseau configurées en tant qu'interfaces GVNIC et la troisième interface réseau configurée en tant qu'interface réseau IRDMA :
gcloud
Exécutez la commande gcloud compute instances create
avec trois indicateurs --network-interface
: deux pour les interfaces GVNIC et un pour l'interface IRDMA. Si vous avez choisi d'utiliser une stratégie de placement compact, ajoutez également l'option suivante : --resource-policies=POLICY_NAME
.
Remplacez POLICY_NAME
par le nom de la règle d'emplacement compact. Vous pouvez personnaliser les autres options de l'instance, si nécessaire.
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
Remplacez les éléments suivants :
REST
Pour créer des instances compatibles avec RDMA de manière groupée, envoyez une requête POST
à la méthode beta instances.bulkInsert
avec les paramètres suivants :
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
}
},
...
}
}
Procédez comme suit :
Effectuer un nettoyage
Pour éviter que les ressources utilisées lors de ce tutoriel soient facturées sur votre compte Google Cloud, supprimez le projet contenant les ressources, ou conservez le projet et supprimez les ressources individuelles.
Supprimer votre projet
Delete a Google Cloud project:
gcloud projects delete PROJECT_ID