Wenn Sie GPUs mit Confidential VM-Instanzen verwenden möchten, müssen Sie eine VM-Instanz mit einem unterstützten Maschinentyp und Instanz bereitstellungsmodell erstellen. Nachdem Sie die VM-Instanz erstellt haben, aktivieren Sie den Confidential Computing-Modus auf der angehängten GPU.
Confidential VM-Instanzen mit NVIDIA-GPUs sind für die folgenden Maschinentypen verfügbar:
A3 High-Maschinentyp: NVIDIA H100-GPUs mit Intel TDX. Unterstützt die Bereitstellungsmodelle „Spot“ und „Flex-Start“.
G4-Maschinentyp: NVIDIA RTX PRO 6000 mit AMD SEV. Unterstützt die Bereitstellungsmodelle „Standard“ (On-Demand), „Spot“ und „Flex-Start“ sowie Reservierungen.
Bei der Verwendung von NVIDIA RTX Pro 6000-GPUs mit Confidential G4-VM-Instanzen fallen automatisch Lizenzgebühren für NVIDIA Confidential Computing-Software und -Dienste an. Weitere Informationen finden Sie unter Preise für Confidential Computing mit GPUs.
Bevor Sie eine Confidential VM-Instanz mit GPU erstellen, prüfen Sie, ob Sie genügend GPU-Kontingent haben. Weitere Informationen finden Sie unter Kontingente.
Confidential VM-Instanz mit GPU erstellen
Verwenden Sie eines der folgenden Bereitstellungsmodelle, um eine Confidential VM-Instanz mit angehängter GPU zu erstellen:
Standard (On-Demand): Erstellen Sie eine beschleunigungsoptimierte Standard-VM-Instanz (On-Demand) . Dieses Modell ist nur für den G4-Maschinentyp verfügbar. Eine detaillierte Anleitung finden Sie unter Standardmodell (On-Demand) oder Spot-Modell.
Spot: Erstellen Sie eine beschleunigungsoptimierte Spot-VM-Instanz für den A3 High- oder G4-Maschinentyp. Eine detaillierte Anleitung finden Sie unter Standardmodell (On-Demand) oder Spot-Modell.
Flex-Start: Erstellen Sie eine verwaltete Instanzgruppe (MIG) für den A3 High- oder G4-Maschinentyp. Eine detaillierte Anleitung finden Sie unter Flex-Start-Modell.
Standardmodell (On-Demand) oder Spot-Modell
gcloud
Verwenden Sie zum Erstellen einer beschleunigungsoptimierten Standard-VM-Instanz (On-Demand) oder
Spot-VM-Instanz mit der gcloud CLI den
instances create
Unterbefehl mit dem --provisioning-model Flag.
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
Verwenden Sie das Flag --shielded-secure-boot für VM-Instanz-Starts, um Secure Boot zu aktivieren.
Geben Sie folgende Werte an:
INSTANCE_NAME: Der Name der neuen VM-Instanz.PROVISIONING_MODEL: Das vom Maschinentyp unterstützte Bereitstellungsmodell. Wählen Sie eine der folgenden Optionen aus:A3 High-Maschinentyp:
SPOTfür Spot-VM-Instanzen.G4-Maschinentyp:
STANDARDfür Standard-VM-Instanzen (On-Demand) oderSPOTfür Spot-VM-Instanzen. Wenn nicht angegeben, wird standardmäßigSTANDARDverwendet.
CONFIDENTIAL_COMPUTING_TECHNOLOGY: Der Typ der zu verwendenden Confidential Computing-Technologie. Wählen Sie eine der folgenden Optionen aus:A3 High-Maschinentyp (
a3-highgpu-1g):TDXG4-Maschinentyp (
g4-standard-48):SEV
MACHINE_TYPE_NAME: Der Maschinentyp der VM. Wählen Sie eine der folgenden Optionen aus:a3-highgpu-1gg4-standard-48
ZONE_NAME: Die unterstützte Zone in der die VM erstellt werden soll.IMAGE_PROJECT: Das Projekt, das das von Confidential VM unterstützte Betriebssystem-Image für die GPU enthält.IMAGE_FAMILY_NAME: Die Familie für das von Confidential VM unterstützte Betriebssystem-Image für die GPU.
REST
Senden Sie die folgende POST-Anfrage mit dem entsprechenden Anfragetext, um eine Standard-VM-Instanz (On-Demand) oder eine Spot-VM-Instanz zu erstellen.
Verwenden Sie die folgende HTTP-Methode und URL:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances
Verwenden Sie den folgenden JSON-Anfragetext:
{
"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"
}
]
}
Geben Sie folgende Werte an:
PROJECT_ID: Optional. Die ID des Projekts, in dem die VM erstellt werden soll.ZONE: Die unterstützte Zone in der die VM erstellt werden soll.INSTANCE_NAME: Der Name der neuen VM-Instanz.MACHINE_TYPE_NAME: Der Maschinentyp der VM. Wählen Sie eine der folgenden Optionen aus:a3-highgpu-1gg4-standard-48
CONFIDENTIAL_COMPUTING_TECHNOLOGY: Der Typ der zu verwendenden Confidential Computing-Technologie. Wählen Sie eine der folgenden Optionen aus:A3 High-Maschinentyp (
a3-highgpu-1g):TDXG4-Maschinentyp (
g4-standard-48):SEV
PROVISIONING_MODEL: Das von der Maschinenreihe unterstützte Bereitstellungsmodell. Wählen Sie eine der folgenden Optionen aus:A3 High-Maschinentyp:
SPOTfür Spot-VM Instanzen.G4-Maschinentyp:
STANDARDfür Standard-VM-Instanzen (On-Demand) oderSPOTfür Spot-VM-Instanzen. Wenn nicht angegeben, wird standardmäßigSTANDARDverwendet.
IMAGE_PROJECT: Das Projekt, das das von Confidential VM unterstützte Betriebssystem-Image für die GPU enthält.IMAGE_FAMILY: Die Familie für das von Confidential VM unterstützte Betriebssystem-Image für die GPU.
Flex-Start-Modell
Wenn Sie das Flex-Start-Modell verwenden möchten, erstellen Sie zuerst eine Instanzvorlage und dann mit dieser Vorlage eine verwaltete Instanzgruppe (MIG). Anschließend können Sie der MIG mithilfe von Anfragen zur Größenänderung GPU-VM-Instanzen hinzufügen.
Wenn Sie eine MIG-Anfrage zur Größenänderung mit dem Flex-Start-Bereitstellungsmodell verwenden, wird die Verfügbarkeit von GPU-VM-Instanzen verbessert. Weitere Informationen finden Sie unter Informationen zu Anfragen zur Größenanpassung in einer MIG.
Hinweis
- Informationen zum Erstellen einer MIG finden Sie unter den Voraussetzungen für MIGs.
- Informationen zum Erstellen einer Anfrage zur Größenanpassung in einer MIG finden Sie unter den Einschränkungen für Anfragen zur Größenanpassung.
MIG mit GPU-VM-Instanzen erstellen
Führen Sie die folgenden Schritte aus, um eine Instanzvorlage zu erstellen und dann mit dieser Vorlage eine MIG zu erstellen.
Erstellen Sie eine Instanzvorlage.
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_IDGeben Sie folgende Werte an:
INSTANCE_TEMPLATE_NAME: Der Name der neuen VM-Instanzvorlage.CONFIDENTIAL_COMPUTING_TECHNOLOGY: Der Typ der zu verwendenden Confidential Computing-Technologie. Wählen Sie eine der folgenden Optionen aus:A3 High-Maschinentyp (
a3-highgpu-1g):TDXG4-Maschinentyp (
g4-standard-48):SEV
MACHINE_TYPE_NAME: Der Maschinentyp der VM. Wählen Sie eine der folgenden Optionen aus:a3-highgpu-1gg4-standard-48
IMAGE_PROJECT: Das Projekt, das das von Confidential VM unterstützte Betriebssystem-Image für die GPUenthält.IMAGE_FAMILY_NAME: Die Familie für das von Confidential VM unterstützte Betriebssystem-Image für die GPU.RUN_DURATION: Die Dauer, für die die angeforderten VM-Instanzen ausgeführt werden sollen. Sie müssen den Wert als Anzahl der Tage, Stunden, Minuten oder Sekunden gefolgt vond,h,munds, bzw. formatieren. Beispiel:6d8h44m.PROJECT_ID: Die ID des Projekts, in dem die VM erstellt werden soll.
REST
Senden Sie die folgende POST-Anfrage mit dem entsprechenden Anfragetext, um eine Confidential VM-Instanzvorlage zu erstellen.
Verwenden Sie die folgende HTTP-Methode und URL:
POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION/instanceTemplatesVerwenden Sie den folgenden JSON-Anfragetext:
{ "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 } }Wenn Sie Secure Boot aktivieren möchten, können Sie das folgende Objekt für VM-Instanz-Starts einfügen.
"shieldedInstanceConfig": { "enableIntegrityMonitoring": true, "enableSecureBoot": true, "enableVtpm": true }Geben Sie folgende Werte an:
PROJECT_ID: Die ID des Projekts, in dem die Vorlage erstellt werden soll.REGION: Die Region, in der die Vorlage erstellt werden soll.INSTANCE_TEMPLATE_NAME: Der Name der neuen VM-Instanzvorlage.CONFIDENTIAL_COMPUTING_TECHNOLOGY: Der Typ der zu verwendenden Confidential Computing-Technologie. Wählen Sie eine der folgenden Optionen aus:A3 High-Maschinentyp (
a3-highgpu-1g):TDXG4-Maschinentyp (
g4-standard-48):SEV
MACHINE_TYPE_NAME: Der Maschinentyp der VM. Wählen Sie eine der folgenden Optionen aus:a3-highgpu-1gg4-standard-48
RUN_DURATION_IN_SECONDS: Die Dauer in Sekunden, für die die angeforderten VM-Instanzen ausgeführt werden sollen. Der Wert muss zwischen600und604800Sekunden liegen.IMAGE_PROJECT: Das Projekt, das das von Confidential VM unterstützte Betriebssystem-Image für die GPUenthält.IMAGE_FAMILY_NAME: Die Familie für das von Confidential VM unterstützte Betriebssystem-Image für die GPU.
Erstellen Sie eine MIG und eine Anfrage zur Größenanpassung um GPU-VM-Instanzen gleichzeitig hinzuzufügen.
Listen Sie die in der MIG vorhandenen Instanzen auf.
gcloud
gcloud compute instance-groups managed list-instances INSTANCE_GROUP_NAME \ --zone=ZONE_NAME \ --project=PROJECT_IDGeben Sie folgende Werte an:
INSTANCE_GROUP_NAME: Der Name der MIG.ZONE_NAME: Die unterstützte Zone aus der eine Liste von VM-Instanzen abgerufen werden soll.PROJECT_ID: Optional. Die ID des Projekts, aus dem eine Liste von VM-Instanzen abgerufen werden soll.
REST
Senden Sie die folgende GET-Anfrage, um alle Vorlagen aufzulisten.
Verwenden Sie die folgende HTTP-Methode und URL:
GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/instanceTemplatesSenden Sie die folgende GET-Anfrage, um die Liste der Instanzen auf eine bestimmte Zone zu beschränken.
Verwenden Sie die folgende HTTP-Methode und URL:
GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/ZONE_NAME/instanceTemplatesGeben Sie folgende Werte an:
ZONE_NAME: Die unterstützte Zone aus der eine Liste von VM-Instanzen abgerufen werden soll.PROJECT_ID: Die ID des Projekts, aus dem eine Liste von VM-Instanzen abgerufen werden soll.
Reservierungen mit Confidential VM-Instanzen verwenden
Sie können Reservierungen verwenden, um sicherzustellen, dass Sie nur für den G4-Maschinentyp Kapazität für Ihre Confidential VM-Instanzen haben.
So verwenden Sie eine Reservierung für Ihre Confidential VM-Instanz:
Erstellen Sie eine Standardreservierung in der unterstützten Zone. Mit dem Flag
--require-specific-reservationkönnen Sie bei der Erstellung der Reservierung festlegen, wie Instanzen diese Reservierung nutzen.Erstellen Sie eine Confidential VM-Instanz, um die Reservierung zu verwenden. Fügen Sie beim Erstellen der VM-Instanz das Flag
--confidential-compute-type=SEVhinzu, um sie zu einer Confidential VM-Instanz zu machen. Wie diese Instanz die Reservierung nutzt, hängt von den Affinitätseinstellungen der Reservierung ab.
In den folgenden Beispielen wird gezeigt, wie Sie Reservierungen mit Confidential VM-Instanzen verwenden. Die Methode zum Nutzen der Reservierung hängt davon ab, wie die Reservierung erstellt wurde:
Automatische Nutzung: Wenn eine Reservierung ohne das Flag
--require-specific-reservationerstellt wird, können Sie eine Confidential VM-Instanz vom Typ G4 erstellen mit übereinstimmenden Eigenschaften (z. B. Maschinentyp oder Zone), um die Reservierung automatisch zu nutzen.Bestimmte Nutzung: Wenn eine Reservierung mit dem
--require-specific-reservationFlag erstellt wird, müssen Sie beim Erstellen der Instanz mit den--reservation-affinity=specificund--reservation=RESERVATION_NAMEFlags auf die Reservierung verweisen: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_NAMEGeben Sie folgende Werte an:
INSTANCE_NAME: Der Name der neuen VM-Instanz.PROJECT_ID: Optional. Die ID des Projekts, in dem die VM erstellt werden soll.ZONE_NAME: Die unterstützte Zone in der die VM erstellt werden soll.RESERVATION_NAME: Der Name der Reservierung.
Informationen dazu, wie VM-Instanzen Reservierungen nutzen und wie die Affinität funktioniert, finden Sie unter Reservierungen nutzen.
Confidential Computing-Modus auf der GPU aktivieren
Stellen Sie mit dem Befehl gcloud compute ssh eine Verbindung zu einer VM-Instanz in der MIG her.
gcloud compute sshAktualisieren Sie die Paketliste und installieren Sie die erforderlichen Tools und Bibliotheken.
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-12Installieren Sie die entsprechenden GPU-Treiber auf der VM-Instanz. Informationen zu VM-Instanzen mit aktiviertem Secure Boot finden Sie unter GPU-Treiber installieren (Secure Boot-VMs). Wir empfehlen die Verwendung von Treibern für das offene Kernel-Modul von NVIDIA ab Version 580.
Aktivieren Sie die Linux Kernel Crypto API (LKCA), um die sichere Kommunikation zwischen der GPU und dem GPU-Treiber zu konfigurieren.
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 -uAktivieren Sie den Persistenzmodus, um eine sichere SPDM-Verbindung (Security Protocol and Data Model) zwischen der GPU und dem GPU-Treiber herzustellen.
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-reloadStarten Sie die VM-Instanz neu, um die LKCA- und Persistenzmoduskonfigurationen anzuwenden.
sudo rebootStellen Sie mit dem Befehl gcloud compute ssh eine Verbindung zu einer VM-Instanz in der MIG her.
gcloud compute sshOptional: Installieren Sie die CUDA-Beispiele die die erforderliche Treiberversion unterstützen.
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
Nächste Schritte
Informationen zum Prüfen, ob der Modus „Vertraulich“ auf GPUs aktiviert ist.
Weitere Informationen zum GPU-Kontingent.
Informationen zum Kontingentverbrauch finden Sie unter GPU-VMs und Zuteilungskontingente auf Abruf.