Pour utiliser des GPU avec des instances Confidential VM, vous devez créer une instance de VM à l'aide d'un type de machine et d'un modèle de provisionnement d'instance compatibles. Une fois l'instance de VM créée, vous activez le mode d'informatique confidentielle sur le GPU associé.
Les instances Confidential VM avec des GPU NVIDIA sont disponibles sur les types de machines suivants :
Type de machine A3 High : GPU NVIDIA H100 avec Intel TDX. Compatible avec les modèles de provisionnement Spot et à démarrage flexible.
Type de machine G4 : NVIDIA RTX PRO 6000 avec AMD SEV. Compatible avec les modèles de provisionnement standard (à la demande), Spot et à démarrage flexible, ainsi qu'avec les réservations.
L'utilisation de GPU NVIDIA RTX Pro 6000 avec des instances Confidential VM G4 entraîne automatiquement des frais de licence pour les logiciels et services NVIDIA Confidential Computing. Pour en savoir plus, consultez Tarifs de l'informatique confidentielle avec des GPU.
Avant de créer une instance Confidential VM avec un GPU, assurez-vous de disposer d'un quota de GPU suffisant. Pour en savoir plus, consultez la page consacrée aux quotas.
Créer une instance Confidential VM avec un GPU
Pour créer une instance Confidential VM avec un GPU associé, utilisez l'un des modèles de provisionnement suivants :
Standard (à la demande) : créez une instance de VM optimisée pour les accélérateurs standard (à la demande) . Ce modèle n'est disponible que pour le type de machine G4. Pour obtenir des instructions détaillées, consultez Modèle standard (à la demande) ou Spot.
Spot : créez une instance de VM Spot optimisée pour les accélérateurs pour les types de machines A3 High ou G4. Pour obtenir des instructions détaillées, consultez Modèle standard (à la demande) ou Spot.
À démarrage flexible : créez un groupe d'instances géré (MIG) pour les types de machines A3 High ou G4. Pour obtenir des instructions détaillées, consultez Modèle à démarrage flexible.
Modèle standard (à la demande) ou Spot
gcloud
Pour créer une instance de VM optimisée pour les accélérateurs standard (à la demande) ou
Spot avec gcloud CLI, utilisez la
instances create
sous-commande avec l'option --provisioning-model.
gcloud compute instances create INSTANCE_NAME \
--provisioning-model=PROVISIONING_MODEL \
--confidential-compute-type=CONFIDENTIAL_COMPUTING_TECHNOLOGY \
--machine-type=MACHINE_TYPE_NAME \
--maintenance-policy=TERMINATE \
--zone=ZONE_NAME \
--image-project=IMAGE_PROJECT \
--image-family=IMAGE_FAMILY_NAME \
--boot-disk-size=30G
Pour activer le démarrage sécurisé,
vous pouvez utiliser l'option --shielded-secure-boot pour les démarrages d'instances de VM.
Indiquez les valeurs suivantes :
INSTANCE_NAME: nom de la nouvelle instance de VM.PROVISIONING_MODEL: modèle de provisionnement compatible avec le type de machine. Choisissez l'une des options suivantes :Type de machine A3 High :
SPOTpour les instances de VM Spot.Type de machine G4 :
STANDARDpour les instances de VM standard (à la demande) ouSPOTpour les instances de VM Spot. Si aucune valeur n'est spécifiée, la valeur par défaut estSTANDARD.
CONFIDENTIAL_COMPUTING_TECHNOLOGY: type de technologie d'informatique confidentielle à utiliser. Choisissez l'une des options suivantes :Type de machine A3 High (
a3-highgpu-1g) :TDXType de machine G4 (
g4-standard-48) :SEV
MACHINE_TYPE_NAME: type de machine de la VM. Choisissez l'une des options suivantes :a3-highgpu-1gg4-standard-48
ZONE_NAME: zone compatible dans laquelle créer la VM.IMAGE_PROJECT: projet contenant l' image de système d'exploitation compatible avec les Confidential VM pour le GPU.IMAGE_FAMILY_NAME: famille de l'image de système d'exploitation compatible avec les Confidential VM pour le GPU.
REST
Pour créer une instance de VM standard (à la demande) ou Spot, envoyez la requête POST suivante avec le contenu de corps approprié.
Utilisez la méthode HTTP et l'URL suivantes :
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances
Utilisez le corps JSON de la requête suivant :
{
"name": "INSTANCE_NAME",
"machineType": "zones/ZONE/machineTypes/MACHINE_TYPE_NAME",
"confidentialInstanceConfig": {
"confidentialInstanceType": "CONFIDENTIAL_COMPUTING_TECHNOLOGY"
},
"scheduling": {
"onHostMaintenance": "TERMINATE",
"automaticRestart": true,
"provisioningModel": "PROVISIONING_MODEL"
},
"disks": [
{
"boot": true,
"autoDelete": true,
"initializeParams": {
"sourceImage": "projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY",
"diskSizeGb": "30"
}
}
],
"networkInterfaces": [
{
"network": "global/networks/default"
}
]
}
Indiquez les valeurs suivantes :
PROJECT_ID: facultatif. ID du projet dans lequel créer la VM.ZONE: zone compatible dans laquelle créer la VM.INSTANCE_NAME: nom de la nouvelle instance de VM.MACHINE_TYPE_NAME: type de machine de la VM. Choisissez l'une des options suivantes :a3-highgpu-1gg4-standard-48
CONFIDENTIAL_COMPUTING_TECHNOLOGY: type de technologie d'informatique confidentielle à utiliser. Choisissez l'une des options suivantes :Type de machine A3 High (
a3-highgpu-1g) :TDXType de machine G4 (
g4-standard-48) :SEV
PROVISIONING_MODEL: modèle de provisionnement compatible avec la série de machines. Choisissez l'une des options suivantes :Type de machine A3 High :
SPOTpour les instances de VM Spot.Type de machine G4 :
STANDARDpour les instances de VM standard (à la demande) ouSPOTpour les instances de VM Spot. Si aucune valeur n'est spécifiée, la valeur par défaut estSTANDARD.
IMAGE_PROJECT: projet contenant l'image de système d'exploitation compatible avec les Confidential VM pour le GPU.IMAGE_FAMILY: famille de l'image de système d'exploitation compatible avec les Confidential VM pour le GPU.
Modèle à démarrage flexible
Pour utiliser le modèle à démarrage flexible, créez d'abord un modèle d'instance, puis utilisez-le pour créer un groupe d'instances géré (MIG). Vous pouvez ensuite ajouter des instances de VM avec GPU au MIG à l'aide de requêtes de redimensionnement.
L'utilisation d'une requête de redimensionnement de MIG avec le modèle de provisionnement à démarrage flexible améliore l'obtention d'instances de VM avec GPU. Pour en savoir plus, consultez À propos des requêtes de redimensionnement dans un MIG.
Avant de commencer
- Pour créer un MIG, consultez les prérequis des MIG.
- Pour créer une requête de redimensionnement dans un MIG, consultez les limites des requêtes de redimensionnement.
Créer un MIG avec des instances de VM avec GPU
Pour créer un modèle d'instance, puis l'utiliser pour créer un MIG, procédez comme suit.
Créez un modèle d'instance.
gcloud
gcloud beta compute instance-templates create INSTANCE_TEMPLATE_NAME \ --provisioning-model=FLEX_START \ --confidential-compute-type=CONFIDENTIAL_COMPUTING_TECHNOLOGY \ --machine-type=MACHINE_TYPE_NAME \ --maintenance-policy=TERMINATE \ --image-project=IMAGE_PROJECT \ --image-family=IMAGE_FAMILY_NAME \ --boot-disk-size=30G \ --instance-termination-action=DELETE \ --max-run-duration=RUN_DURATION \ --project=PROJECT_IDIndiquez les valeurs suivantes :
INSTANCE_TEMPLATE_NAME: nom du nouveau modèle d'instance de VM.CONFIDENTIAL_COMPUTING_TECHNOLOGY: type de technologie d'informatique confidentielle à utiliser. Choisissez l'une des options suivantes :Type de machine A3 High (
a3-highgpu-1g) :TDXType de machine G4 (
g4-standard-48) :SEV
MACHINE_TYPE_NAME: type de machine de la VM. Choisissez l'une des options suivantes :a3-highgpu-1gg4-standard-48
IMAGE_PROJECT: projet contenant l'image de système d'exploitation compatible avec les Confidential VM pour le GPU.IMAGE_FAMILY_NAME: famille de l'image de système d'exploitation compatible avec les Confidential VM pour le GPU à utiliser.RUN_DURATION: durée pendant laquelle vous souhaitez que les instances de VM demandées s'exécutent. Vous devez mettre en forme la valeur sous la forme du nombre de jours, d'heures, de minutes ou de secondes, suivi ded,h,m, ets, respectivement. Exemple :6d8h44m.PROJECT_ID: ID du projet dans lequel créer la VM.
REST
Pour créer un modèle d'instance Confidential VM, envoyez la requête POST suivante avec le contenu de corps approprié.
Utilisez la méthode HTTP et l'URL suivantes :
POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION/instanceTemplatesUtilisez le corps JSON de la requête suivant :
{ "name": "INSTANCE_TEMPLATE_NAME", "properties": { "confidentialInstanceConfig": { "confidentialInstanceType": "CONFIDENTIAL_COMPUTING_TECHNOLOGY" }, "machineType": "MACHINE_TYPE_NAME", "scheduling": { "instanceTerminationAction": "DELETE", "maxRunDuration": { "seconds": "RUN_DURATION_IN_SECONDS" }, "automaticRestart": true, "onHostMaintenance": "TERMINATE", "provisioningModel": "FLEX_START", "preemptible": false }, "disks": [ { "autoDelete": true, "index": 0, "boot": true, "kind": "compute#attachedDisk", "mode": "READ_WRITE", "initializeParams": { "sourceImage": "projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY_NAME", "diskSizeGb": "30" }, "type": "PERSISTENT" } ], "networkInterfaces": [ { "accessConfigs": [ { "kind": "compute#accessConfig", "name": "external-nat", "networkTier": "PREMIUM", "type": "ONE_TO_ONE_NAT" } ], "kind": "compute#networkInterface", "name": "nic0", "network": "projects/PROJECT_ID/global/networks/default" } ], "canIpForward": false } }Pour activer le démarrage sécurisé, vous pouvez inclure l'objet suivant pour les démarrages d'instances de VM.
"shieldedInstanceConfig": { "enableIntegrityMonitoring": true, "enableSecureBoot": true, "enableVtpm": true }Indiquez les valeurs suivantes :
PROJECT_ID: ID du projet dans lequel créer le modèle.REGION: région dans laquelle créer le modèle.INSTANCE_TEMPLATE_NAME: nom du nouveau modèle d'instance de VM.CONFIDENTIAL_COMPUTING_TECHNOLOGY: type de technologie d'informatique confidentielle à utiliser. Choisissez l'une des options suivantes :Type de machine A3 High (
a3-highgpu-1g) :TDXType de machine G4 (
g4-standard-48) :SEV
MACHINE_TYPE_NAME: type de machine de la VM. Choisissez l'une des options suivantes :a3-highgpu-1gg4-standard-48
RUN_DURATION_IN_SECONDS: durée, en secondes, pendant laquelle vous souhaitez que les instances de VM demandées s'exécutent. La valeur doit être comprise entre600et604800secondes.IMAGE_PROJECT: projet contenant l'image de système d'exploitation compatible avec les Confidential VM pour le GPU.IMAGE_FAMILY_NAME: famille de l'image de système d'exploitation compatible avec les Confidential VM pour le GPU à utiliser.
Créez un MIG et une requête de redimensionnement pour ajouter simultanément des instances de VM avec GPU.
Répertoriez les instances présentes dans le MIG.
gcloud
gcloud compute instance-groups managed list-instances INSTANCE_GROUP_NAME \ --zone=ZONE_NAME \ --project=PROJECT_IDIndiquez les valeurs suivantes :
INSTANCE_GROUP_NAME: nom du MIG.ZONE_NAME: zone compatible à partir de laquelle obtenir une liste d'instances de VM.PROJECT_ID: facultatif. ID du projet à partir duquel obtenir une liste d'instances de VM.
REST
Pour répertorier tous les modèles, envoyez la requête GET suivante.
Utilisez la méthode HTTP et l'URL suivantes :
GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/instanceTemplatesPour limiter la liste des instances à une zone spécifique, envoyez la requête GET suivante.
Utilisez la méthode HTTP et l'URL suivantes :
GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/ZONE_NAME/instanceTemplatesIndiquez les valeurs suivantes :
ZONE_NAME: zone compatible à partir de laquelle obtenir une liste d'instances de VM.PROJECT_ID: ID du projet à partir duquel obtenir une liste d'instances de VM.
Utiliser des réservations avec des instances Confidential VM
Vous pouvez utiliser des réservations pour vous assurer de disposer de la capacité nécessaire pour vos instances Confidential VM uniquement avec le type de machine G4.
Pour utiliser une réservation pour votre instance Confidential VM :
Créez une réservation standard dans la zone compatible. Vous pouvez contrôler la manière dont les instances consomment cette réservation à l'aide de l'option
--require-specific-reservationlors de la création de la réservation.Créez une instance Confidential VM pour utiliser la réservation. Lorsque vous créez l'instance de VM, incluez l'option
--confidential-compute-type=SEVpour en faire une instance Confidential VM. La manière dont cette instance consomme la réservation dépend des paramètres d'affinité de la réservation.
Les exemples suivants montrent comment utiliser des réservations avec des instances Confidential VM. La méthode de consommation de la réservation dépend de la manière dont elle a été créée :
Consommation automatique : si une réservation est créée sans l'option
--require-specific-reservation, vous pouvez créer une instance Confidential VM G4 avec des propriétés correspondantes (telles que le type de machine ou la zone) pour utiliser automatiquement la réservation.Consommation spécifique : si une réservation est créée avec l'option
--require-specific-reservation, vous devez cibler la réservation à l'aide des options--reservation-affinity=specificet--reservation=RESERVATION_NAMElors de la création de l'instance :gcloud compute instances create INSTANCE_NAME \ --project=PROJECT_ID \ --zone=ZONE_NAME \ --machine-type=g4-standard-48 \ --confidential-compute-type=SEV \ --image-project=ubuntu-os-cloud \ --image-family=ubuntu-2404-lts-amd64 \ --reservation-affinity=specific \ --reservation=RESERVATION_NAMEIndiquez les valeurs suivantes :
INSTANCE_NAME: nom de la nouvelle instance de VM.PROJECT_ID: facultatif. ID du projet dans lequel créer la VM.ZONE_NAME: zone compatible dans laquelle créer la VM.RESERVATION_NAME: nom de la réservation.
Pour découvrir comment les instances de VM consomment les réservations et comment fonctionne l'affinité, consultez Consommer des réservations.
Activer le mode de calcul confidentiel sur le GPU
Connectez-vous à une instance de VM dans le MIG à l'aide de la commande gcloud compute ssh.
gcloud compute sshMettez à jour la liste des packages et installez les outils et bibliothèques nécessaires.
sudo apt-get update --yes sudo apt-get install linux-headers-$(uname -r) sudo apt install -y build-essential libxml2 libncurses5-dev pkg-config libvulkan1 gcc-12Installez les pilotes de GPU appropriés sur l'instance de VM. Pour les instances de VM sur lesquelles le démarrage sécurisé est activé, consultez Installer des pilotes de GPU (VM avec démarrage sécurisé). Nous vous recommandons d'utiliser la version 580 ou ultérieure des pilotes de module de noyau ouvert NVIDIA.
Pour configurer une communication sécurisée entre le GPU et le pilote GPU, activez l'API Linux Kernel Crypto (LKCA).
echo "install nvidia /sbin/modprobe ecdsa_generic; /sbin/modprobe ecdh; /sbin/modprobe --ignore-install nvidia" | sudo tee /etc/modprobe.d/nvidia-lkca.conf sudo update-initramfs -uActivez le mode de persistance pour établir une connexion sécurisée SPDM (Security Protocol and Data Model) entre le GPU et le pilote GPU.
sudo test -f /usr/lib/systemd/system/nvidia-persistenced.service && sudo sed -i "s/no-persistence-mode/uvm-persistence-mode/g" /usr/lib/systemd/system/nvidia-persistenced.service sudo systemctl daemon-reloadRedémarrez l'instance de VM pour appliquer les configurations LKCA et du mode de persistance.
sudo rebootConnectez-vous à une instance de VM dans le MIG à l'aide de la commande gcloud compute ssh.
gcloud compute ssh(Facultatif) Installez les exemples CUDA compatibles avec la version du pilote dont vous avez besoin.
wget -O cuda-samples.tar.gz https://github.com/NVIDIA/cuda-samples/archive/refs/tags/v12.9.tar.gz tar xzvf cuda-samples.tar.gz
Étape suivante
Découvrez comment vérifier que le mode confidentiel est activé sur les GPU.
En savoir plus sur le quota de GPU.
Pour comprendre la consommation de quotas, consultez VM GPU et quotas d'allocation préemptive.