Cette page explique comment créer des instances HPC avec des interfaces réseau compatibles avec RDMA. Pour savoir comment créer des instances A4 ou A3 Ultra optimisées pour les accélérateurs et utilisant RDMA, consultez Créer une instance optimisée pour l'IA avec A4 ou A3 Ultra.
Pour créer une instance de calcul qui utilise l'accès direct à la mémoire à distance (RDMA), vous devez configurer au moins deux interfaces réseau (NIC) lors de la création de l'instance. Une carte d'interface réseau doit être une carte IRDMA qui se rattache à un réseau VPC avec un profil de réseau RDMA, et l'autre carte d'interface réseau doit utiliser GVNIC.
Utilisez le tableau Comparaison des séries de machines pour déterminer les séries de machines compatibles avec les interfaces réseau RDMA.
Avant de commencer
-
Si ce n'est pas déjà fait, configurez l'authentification.
L'authentification permet de valider votre identité pour accéder aux services et aux API Google Cloud . Pour exécuter du code ou des exemples depuis un environnement de développement local, vous pouvez vous authentifier auprès de Compute Engine en sélectionnant l'une des options suivantes :
Select the tab for how you plan to use the samples on this page:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloud
-
Installez la Google Cloud CLI. Une fois que la Google Cloud CLI est installée, initialisez-la en exécutant la commande suivante :
gcloud init
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.
- Set a default region and zone.
REST
Pour utiliser les exemples API REST de cette page dans un environnement de développement local, vous devez utiliser les identifiants que vous fournissez à la gcloud CLI.
Installez la Google Cloud CLI. Une fois que la Google Cloud CLI est installée, initialisez-la en exécutant la commande suivante :
gcloud init
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 en savoir plus, consultez la section S'authentifier pour utiliser REST dans la documentation sur l'authentification Google Cloud .
Rôles requis
Pour obtenir les autorisations nécessaires pour créer une instance compatible avec la communication RDMA, demandez à votre administrateur de vous accorder le rôle IAM Administrateur d'instances Compute (v1) (
roles/compute.instanceAdmin.v1
) sur le projet. Pour en savoir plus sur l'attribution de rôles, consultez la page Gérer l'accès aux projets, aux dossiers et aux organisations.Ce rôle prédéfini contient les autorisations requises pour créer une instance compatible avec la communication RDMA. Pour connaître les autorisations exactes requises, développez la section Autorisations requises :
Autorisations requises
Les autorisations suivantes sont requises pour créer une instance compatible avec la communication RDMA :
compute.instances.create
sur le projet-
Pour créer la VM à l'aide d'une image personnalisée :
compute.images.useReadOnly
sur l'image -
Pour créer la VM à l'aide d'un instantané :
compute.snapshots.useReadOnly
sur l'instantané -
Pour créer la VM à l'aide d'un modèle d'instance :
compute.instanceTemplates.useReadOnly
sur le modèle d'instance -
Pour spécifier un sous-réseau pour la VM :
compute.subnetworks.use
sur le projet ou sur le sous-réseau choisi -
Pour spécifier une adresse IP statique pour la VM :
compute.addresses.use
sur le projet -
Pour attribuer une adresse IP externe à la VM, en cas d'utilisation d'un réseau VPC :
compute.subnetworks.useExternalIp
sur le projet ou sur le sous-réseau choisi -
Pour définir les métadonnées d'instance de VM pour la VM :
compute.instances.setMetadata
sur le projet -
Pour définir des tags pour la VM :
compute.instances.setTags
sur la VM -
Pour définir des libellés pour la VM :
compute.instances.setLabels
sur la VM -
Pour définir un compte de service à utiliser avec la VM :
compute.instances.setServiceAccount
sur la VM -
Pour créer un disque pour la VM :
compute.disks.create
sur le projet -
Pour associer un disque existant en mode lecture seule ou en mode lecture-écriture :
compute.disks.use
sur le disque -
Pour associer un disque existant en mode lecture seule :
compute.disks.useReadOnly
sur le disque
Vous pouvez également obtenir ces autorisations avec des rôles personnalisés ou d'autres rôles prédéfinis.
Conditions requises
Consultez les règles suivantes pour configurer une interface réseau pour une instance :
- 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 zone que l'instance.
- 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.
Limites
- La mise en réseau Tier_1 pour la communication par adresse IP interne n'est compatible qu'avec les VM exécutant le pilote de réseau virtuel gVNIC.
- Vous ne pouvez pas utiliser la migration à chaud avec des VM qui utilisent RDMA. Vous devez configurer l'instance pour qu'elle s'arrête lors des événements de maintenance.
- Vous ne pouvez pas utiliser RDMA avec des groupes d'instances gérés (MIG) (gérés ou non gérés).
- Vous ne pouvez utiliser que les types de pile réseau
IPv4_ONLY
avec une instance compatible RDMA. - Vous ne pouvez utiliser que la série de machines H4D pour créer une instance qui utilise Cloud RDMA.
Créer une instance compatible avec Cloud RDMA
Les instances compatibles avec Cloud RDMA nécessitent au moins deux interfaces réseau (NIC) :
- 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 réseau
IRDMA
: utilise les pilotes IDPF/iRDMA pour la communication basée sur RDMA entre les instances
Une instance ne peut avoir qu'une seule interface
IRDMA
. Chaque instance peut comporter entre une et 10 interfaces réseau.Pour créer une instance qui utilise IRDMA, suivez les étapes décrites dans les sections suivantes :
Créez une stratégie d'emplacement si vous n'en avez pas déjà une qui vous convient.
Créez un réseau VPC ou utilisez un réseau VPC existant compatible avec RDMA.
Créez une instance compatible RDMA, qui dispose d'une interface réseau
IRDMA
, d'au moins une interface réseauGVNIC
et qui utilise une stratégie d'emplacement compact.
Créer une règle d'emplacement pour les instances RDMA
Les instances qui communiquent à l'aide de RDMA doivent se trouver 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 à utiliser avec vos instances RDMA, suivez les étapes décrites dans Créer une stratégie de concentration et spécifiez une valeur de distance maximale de 3 ou moins.
Créer des réseaux de cloud privé virtuel
Pour configurer les réseaux, 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 :
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. Définissez l'unité de transmission maximale (MTU) sur8896
pour le réseau RDMA.
Script
Pour créer les réseaux, vous pouvez utiliser le script suivant.
(Facultatif) Avant d'exécuter le script, listez les profils réseau RDMA pour vérifier qu'ils sont disponibles.
gcloud beta compute network-profiles list
Copiez le code suivant et exécutez-le dans une fenêtre de shell Linux.
#!/bin/bash # Create standard VPC (network and subnet) for the GVNIC interface gcloud beta compute networks create GVNIC_NAME_PREFIX-net-0 \ --subnet-mode=custom gcloud beta compute networks subnets create GVNIC_NAME_PREFIX-sub-0 \ --network=GVNIC_NAME_PREFIX-net-0 \ --region=REGION \ --range=10.0.0.0/16 gcloud beta compute firewall-rules create GVNIC_NAME_PREFIX-internal-0 \ --network=GVNIC_NAME_PREFIX-net-0 \ --action=ALLOW \ --rules=tcp:0-65535,udp:0-65535,icmp \ --source-ranges=10.0.0.0/8 # Create SSH firewall rules gcloud beta 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 an external IP for only the GVNIC interface gcloud beta 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 network for RDMA over Falcon transport gcloud beta compute networks create RDMA_NAME_PREFIX-irdma \ --network-profile=ZONE-vpc-falcon \ --subnet-mode custom # Create subnet for RDMA gcloud beta compute networks subnets create RDMA_NAME_PREFIX-irdma-sub \ --network=RDMA_NAME_PREFIX-irdma \ --region=REGION \ --range=10.1.0.0/16 # offset to avoid overlap with GVNIC network
Remplacez les éléments suivants :
GVNIC_NAME_PREFIX
: préfixe de nom à utiliser pour le réseau et le sous-réseau standards du cloud privé virtuel qui utilisent un type de carte d'interface réseau gVNIC.RDMA_NAME_PREFIX
: préfixe de nom à utiliser pour le réseau et le sous-réseau du cloud privé virtuel 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
.REGION
: région dans laquelle vous souhaitez créer les réseaux. Il doit correspondre à la zone spécifiée. Par exemple, si votre zone esteurope-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.
Créer une instance compatible avec RDMA
Les étapes suivantes montrent comment créer une instance avec la première interface réseau configurée en tant qu'interface gVNIC et la deuxième interface réseau configurée en tant qu'interface réseau IRDMA :
Console
Dans la console Google Cloud , accédez à la page Créer une instance.
Accéder à la page Créer une instance
Si vous y êtes invité(e), sélectionnez votre projet et cliquez sur Continuer.
La page Créer une instance s'affiche et le volet Configuration de la machine s'ouvre.
Dans le volet Configuration de la machine, procédez comme suit :
- Dans le champ Nom, spécifiez un nom pour votre instance. Pour en savoir plus, consultez Recommandation pour l'attribution de noms aux ressources.
Facultatif : Dans le champ Zone, sélectionnez une zone pour cette instance.
Choisissez la zone que vous avez utilisée pour configurer le profil réseau RDMA.
Choisissez la famille de machines Optimisées pour le calcul.
Dans la colonne Série, sélectionnez la série de machines H4D.
Dans la section Type de machine, sélectionnez le type de machine pour votre instance.
Dans le menu de navigation de gauche, cliquez sur OS et stockage. Dans le volet Système d'exploitation et stockage qui s'affiche, procédez comme suit :
- En bas de la section Système d'exploitation et stockage, cliquez sur Modifier.
- Dans les listes Système d'exploitation et Version, sélectionnez un type et une version d'OS compatibles avec RDMA.
- Assurez-vous que le Type de disque de démarrage est défini sur "Hyperdisk Balanced".
- Cliquez sur Sélectionner en bas du volet pour enregistrer les modifications.
Dans le menu de navigation de gauche, cliquez sur Mise en réseau. Dans le volet Mise en réseau qui s'affiche, procédez comme suit :
- Accédez à la section Interfaces réseau. Une interface réseau, intitulée
default
, doit déjà être présente. - Cliquez sur Ajouter une interface réseau. Dans la section Nouvelle interface réseau qui s'affiche, procédez comme suit :
- Dans la liste Carte d'interface réseau, sélectionnez
IRDMA
. - Dans le champ Réseau, sélectionnez le réseau VPC avec un profil réseau RDMA.
- Facultatif : Dans la liste Sous-réseau, sélectionnez le sous-réseau que l'instance doit utiliser.
- Dans le champ Type de pile IP, assurez-vous qu'il est défini sur IPv4 uniquement.
- Dans la liste Adresse IPv4 externe, sélectionnez Aucune.
- Pour confirmer les détails de l'interface réseau, cliquez sur OK.
- Dans la liste Carte d'interface réseau, sélectionnez
- Accédez à la section Interfaces réseau. Une interface réseau, intitulée
Facultatif : Spécifiez d'autres options de configuration pour l'instance. Pour en savoir plus, consultez Options de configuration lors de la création d'une instance.
Pour créer et démarrer l'instance, cliquez sur Créer.
gcloud
-
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
Utilisez la commande
gcloud compute instances create
avec au moins deux options--network-interface
, une pour l'interface GVNIC et une pour l'interface IRDMA. Vous pouvez personnaliser le reste des options de commande, si nécessaire.gcloud compute instances create INSTANCE_NAME \ --zone=ZONE \ --machine-type=MACHINE_TYPE \ --create-disk=boot=yes, \ image=projects/IMAGE_PROJECT/global/images/IMAGE, \ size=SIZE \ --maintenance-policy=TERMINATE \ --network-interface \ nic-type=GVNIC, \ network=NETWORK_NAME,subnet=SUBNET_NAME, \ stack-type=STACK_TYPE, \ private-network-ip=INTERNAL_IPV4_ADDRESS, \ address=EXTERNAL_IPV4_ADDRESS \ --network-interface \ nic-type=IRDMA, \ network=RDMA_NETWORK_NAME,subnet=RDMA_SUBNET_NAME, \ stack-type=IPV4_ONLY, \ no-address \
Remplacez les éléments suivants :
INSTANCE_NAME
: nom de l'instance de calculZONE
: zone dans laquelle l'instance est créée, par exempleeurope-west1-b
. La région de l'instance est déduite de la zone.MACHINE_TYPE
: (facultatif) type de machine à utiliser pour l'instance.IMAGE_PROJECT
: projet d'image contenant l'image (facultatif). Pendant la période de preview, utilisez une image personnalisée ou l'image de VM HPC.IMAGE
(facultatif) : spécifiez l'une des options suivantes :- Version spécifique de l'image de l'OS. Exemple :
hpc-rocky-linux-8-v20250721
- Une famille d'images, qui doit être au format
family/IMAGE_FAMILY
. Cette action crée l'instance à partir de l'image d'OS la plus récente et non obsolète. Par exemple, si vous spécifiezfamily/hpc-rocky-linux-8
, Compute Engine crée une instance à l'aide de la dernière version de l'image de l'OS dans la famille d'images HPC Rocky Linux 8. Pour en savoir plus sur l'utilisation des familles d'images, consultez la page Bonnes pratiques concernant les familles d'images.
- Version spécifique de l'image de l'OS. Exemple :
SIZE
(facultatif) : taille du nouveau disque. Cette valeur doit être un nombre entier. L'unité de mesure par défaut est le gibioctet.NETWORK_NAME
: nom du réseau (facultatif)SUBNET_NAME
: nom du sous-réseau à utiliser pour l'interface réseau. Pour afficher la liste des sous-réseaux du réseau, utilisez la commandegcloud compute networks subnets list
.Pour l'interface réseau gVNIC, vous pouvez omettre les indicateurs
network
etsubnet
, et utiliser le réseaudefault
à la place.STACK_TYPE
: (facultatif) type de pile pour l'interface réseau GVNIC.STACK_TYPE
doit être défini sur l'une des valeurs suivantes :IPV4_ONLY
,IPV4_IPV6
ouIPV6_ONLY
. La valeur par défaut estIPV4_ONLY
.INTERNAL_IPV4_ADDRESS
: facultatif : adresse IPv4 interne que vous souhaitez que l'instance de calcul utilise dans le sous-réseau cible. Omettez cette option si vous n'avez pas besoin d'une adresse IP spécifique.Pour spécifier une adresse IPv6 interne, utilisez plutôt l'option
--internal-ipv6-address
.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_NETWORK_NAME
: nom du réseau que vous avez créé avec un profil réseau RDMA.RDMA_SUBNET_NAME
: nom d'un sous-réseau dans le réseau RDMA.
REST
Pour créer une instance configurée pour utiliser RDMA, envoyez une requête
POST
à la méthodeinstances.insert
. Incluez l'objetnetworkInterfaces
avec au moins deux configurations réseau, une pour l'interface gVNIC et une pour l'interface IRDMA. Vous pouvez personnaliser le reste des propriétés de l'instance, si nécessaire.Avant d'utiliser les données de requête, effectuez les remplacements suivants :
PROJECT_ID
: ID du projet dans lequel créer l'instanceZONE
est la zone dans laquelle créer l'instance.MACHINE_TYPE
: type de machine à utiliser, par exempleh4d-highmem-192-lssd
INSTANCE_NAME
: nom de la nouvelle instanceIMAGE_PROJECT
: projet d'image contenant l'image (facultatif).IMAGE
: facultatif, spécifiez l'une des options suivantes :- Version spécifique de l'image de l'OS. Exemple :
debian-12-bookworm-v20250415
- Une famille d'images, qui doit être au format
family/IMAGE_FAMILY
. Cette action crée l'instance à partir de l'image d'OS la plus récente et non obsolète. Par exemple, si vous spécifiezfamily/debian-12
, Compute Engine crée une instance à l'aide de la dernière version de l'image de l'OS dans la famille d'images Debian 12. Pour en savoir plus sur l'utilisation des familles d'images, consultez Bonnes pratiques concernant les familles d'images.
- Version spécifique de l'image de l'OS. Exemple :
NETWORK_NAME
: nom facultatif du réseau à utiliser avec l'interface réseau gVNICSUBNET_NAME
: nom du sous-réseau à utiliser avec l'interface réseau gVNICPour l'interface réseau gVNIC, vous pouvez omettre les propriétés
network
etsubnet
et utiliser le réseaudefault
à la place.INTERNAL_IPV4_ADDRESS
: Facultatif : adresse IPv4 interne que vous souhaitez que l'instance de calcul utilise dans le sous-réseau cible. Omettez cette option si vous n'avez pas besoin d'une adresse IP spécifique.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_NETWORK_NAME
: nom du réseau que vous avez créé avec un profil réseau RDMARDMA_SUBNET_NAME
: nom d'un sous-réseau dans le réseau RDMA
Méthode HTTP et URL :
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances
Corps JSON de la requête :
{ "machineType": "zones/ZONE/machineTypes/MACHINE_TYPE", "name": "INSTANCE_NAME", "disks": [ { "initializeParams": { "sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE" }, "boot": true } ], "networkInterfaces": [ { "network": "NETWORK_NAME", "subnetwork": "SUBNET_NAME", "networkIP": "INTERNAL_IPV4_ADDRESS", "accessConfigs": [ { "type": "ONE_TO_ONE_NAT", "name": "External IP", "natIP": "EXTERNAL_IPV4_ADDRESS" } ], "stackType": "IPV4_ONLY", "nicType": "GVNIC", }, { "network": "RDMA_NETWORK_NAME", "subnetwork": "RDMA_SUBNET_NAME", "stackType": "IPV4_ONLY", "nicType": "IRDMA", } ] }
Pour envoyer votre requête, développez l'une des options suivantes :
Vous devriez recevoir une réponse JSON de ce type :
{ "kind": "compute#operation", "id": "9216044482154695709", "name": "operation-1739207409646-62dccc7d7bc58-d1350b42-64fdb7f7", "zone": "https://www.googleapis.com/compute/v1/projects/`PROJECT_ID`/zones/`ZONE`", "operationType": "insert", "targetLink": "https://www.googleapis.com/compute/v1/projects/`PROJECT_ID`/zones/`ZONE`/instances/`INSTANCE_NAME`", "targetId": "2679381553616227357", "status": "RUNNING", "user": "USER_ID", "progress": 0, "insertTime": "2025-02-10T09:10:10.551-08:00", "startTime": "2025-02-10T09:10:10.551-08:00", "selfLink": "https://www.googleapis.com/compute/v1/projects/`PROJECT_ID`/zones/`ZONE`/operations/operation-1565289606387-58f9f62f5989c-e582f586-6d22f38" "kind": "compute#operation" }
Étape suivante
- Découvrez comment vérifier l'état d'une instance pour savoir quand elle est prête à être utilisée.
- Découvrez comment vous connecter à votre instance.
- Découvrez les adresses IP qui sont attribuées lorsque vous créez une instance.
- Découvrez comment créer une instance à double pile ou IPv6 uniquement.
Sauf indication contraire, le contenu de cette page est régi par une licence Creative Commons Attribution 4.0, et les échantillons de code sont régis par une licence Apache 2.0. Pour en savoir plus, consultez les Règles du site Google Developers. Java est une marque déposée d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2025/09/19 (UTC).
-