Untuk menggunakan GPU dengan Confidential VM, Anda harus membuat instance Confidential VM menggunakan model penyediaan spot atau flex-start berdasarkan jenis mesin a3-highgpu-1g dan menggunakan Intel TDX. Setelah membuat instance VM, Anda kemudian mengaktifkan mode komputasi rahasia di GPU yang terpasang.
Untuk membuat instance VM menggunakan model spot atau flex-start, lakukan hal berikut:
Untuk menggunakan model fleksibel, buat grup instance terkelola (MIG). Lihat Membuat MIG.
Untuk menggunakan model spot, buat instance Spot VM yang dioptimalkan akselerator. Lihat Membuat instance Spot VM.
Membuat MIG
Sebelum memulai
- Untuk memastikan Anda memiliki kuota GPU yang cukup untuk resource yang Anda
minta, periksa kuota GPU.
Untuk instance Confidential VM dengan GPU, minta kuota GPU preemptible untuk menggunakan resource tersebut. Saat meminta kuota GPU, Anda harus meminta kuota untuk
model GPU yang ingin dibuat di setiap region, dan kuota global tambahan (
GPUs (all regions)
) untuk jumlah total semua jenis GPU di semua region. - Untuk memahami penggunaan kuota, baca VM GPU dan kuota alokasi yang dapat dihentikan.
- Lihat prasyarat untuk membuat MIG dan batasan untuk membuat permintaan perubahan ukuran di MIG.
Untuk membuat MIG yang berisi instance VM GPU, selesaikan langkah-langkah berikut:
Buat template instance, yang diperlukan untuk membuat MIG.
gcloud
gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \ --machine-type=a3-highgpu-1g \ --image-project=IMAGE_PROJECT \ --image-family=IMAGE_FAMILY_NAME \ --maintenance-policy=TERMINATE \ --reservation-affinity=none \ --boot-disk-size=30G \ --confidential-compute-type=TDX \ --project=PROJECT_ID
Untuk mengaktifkan Secure Boot, Anda dapat menggunakan flag
--shielded-secure-boot
secara opsional untuk booting instance VM.Berikan nilai berikut:
INSTANCE_TEMPLATE_NAME
: Nama template instance VM baru.IMAGE_PROJECT
: Project yang berisi image sistem operasi yang didukung. Sebaiknya gunakan project gambarubuntu-os-cloud
untuk image Ubuntu. Anda dapat menggunakan project imageconfidential-vm-images
untuk image Container-Optimized OS secara opsional.IMAGE_FAMILY_NAME
: Grup untuk image sistem operasi yang didukung Confidential VM. Saat menggunakan project imageubuntu-os-cloud
, sebaiknya gunakan kelompok imageubuntu-2204-lts
. Untuk image Container-Optimized OS dari projectconfidential-vm-images
, gunakan kelompok imagecos-tdx-113-lts
.PROJECT_ID
: Opsional. ID project tempat VM dibuat.
REST
Untuk membuat template instance Confidential VM, kirim permintaan POST berikut dengan konten isi yang sesuai.
Metode HTTP dan URL:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/ZONE_NAME/instanceTemplates
Meminta isi JSON:
{ "name": "INSTANCE_TEMPLATE_NAME", "properties": { "confidentialInstanceConfig": { "confidentialInstanceType": "TDX" }, "scheduling": { "onHostMaintenance": "TERMINATE", "provisioningModel": "STANDARD", "automaticRestart": true, "preemptible": false }, "disks": [ { "type": "PERSISTENT", "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" } } ], "networkInterfaces": [ { "name": "nic0", "network": "projects/PROJECT_ID/global/networks/default", "accessConfigs": [ { "name": "external-nat", "type": "ONE_TO_ONE_NAT", "kind": "compute#accessConfig", "networkTier": "PREMIUM" } ], "kind": "compute#networkInterface" } ], "reservationAffinity": { "consumeReservationType": "NO_RESERVATION" }, "canIpForward": false, "machineType": "a3-highgpu-1g", "metadata": { "fingerprint": "3y_uc6s9Qvs=", "kind": "compute#metadata" } } }
Untuk mengaktifkan Booting Aman, Anda dapat menyertakan objek berikut secara opsional untuk booting instance VM.
"shieldedInstanceConfig": { "enableIntegrityMonitoring": true, "enableSecureBoot": true, "enableVtpm": true }
Berikan nilai berikut:
INSTANCE_TEMPLATE_NAME
: Nama template instance VM baru.IMAGE_PROJECT
: Project yang berisi image sistem operasi yang didukung. Sebaiknya gunakan project gambarubuntu-os-cloud
untuk image Ubuntu. Anda dapat menggunakan project imageconfidential-vm-images
untuk image Container-Optimized OS secara opsional.IMAGE_FAMILY_NAME
: Grup untuk image sistem operasi yang didukung Confidential VM. Saat menggunakan project imageubuntu-os-cloud
, sebaiknya gunakan kelompok imageubuntu-2204-lts
. Untuk image Container-Optimized OS dari projectconfidential-vm-images
, gunakan kelompok imagecos-tdx-113-lts
.PROJECT_ID
: Opsional. ID project tempat VM dibuat.ZONE
: Zona yang didukung untuk membuat MIG.
Buat MIG dan permintaan pengubahan ukuran untuk menambahkan instance VM GPU sekaligus.
Cantumkan instance yang ada di MIG.
gcloud
gcloud compute instance-groups managed list-instances INSTANCE_GROUP_NAME \ --zone=ZONE \ --project=PROJECT_ID
Berikan nilai berikut:
INSTANCE_GROUP_NAME
: Nama MIG.ZONE
: Zona yang didukung untuk mendapatkan daftar instance VM.PROJECT_ID
: Opsional. ID project tempat mendapatkan daftar instance VM.
REST
Untuk membuat daftar semua instance, kirim permintaan GET berikut.
Metode HTTP dan URL:
GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/instanceTemplates
Untuk mempersempit daftar instance ke zona tertentu, kirim permintaan GET berikut.
Metode HTTP dan URL:
GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/ZONE/instanceTemplates
Berikan nilai berikut:
ZONE
: Zona yang didukung untuk mendapatkan daftar instance VM.PROJECT_ID
: ID project tempat daftar instance VM diambil.
Membuat instance Spot VM
gcloud
gcloud compute instances create VM_NAME \
--provisioning-model=SPOT \
--image-family=IMAGE_FAMILY_NAME \
--image-project=IMAGE_PROJECT \
--machine-type=a3-highgpu-1g \
--maintenance-policy=TERMINATE \
--boot-disk-size=30G \
--confidential-compute-type=TDX \
Berikan nilai berikut:
VM_NAME
: Nama instance VM baru.IMAGE_PROJECT
: Project yang berisi image sistem operasi yang didukung. Sebaiknya gunakan project gambarubuntu-os-cloud
untuk image Ubuntu. Anda dapat menggunakan project imageconfidential-vm-images
untuk image Container-Optimized OS secara opsional.IMAGE_FAMILY_NAME
: Grup untuk image sistem operasi yang didukung Confidential VM. Saat menggunakan project imageubuntu-os-cloud
, sebaiknya gunakan kelompok imageubuntu-2204-lts
. Untuk image Container-Optimized OS dari projectconfidential-vm-images
, gunakan kelompok imagecos-tdx-113-lts
.
REST
Untuk membuat instance Spot VM, kirim permintaan POST berikut dengan konten isi yang sesuai.
Metode HTTP dan URL:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances
Meminta isi JSON:
{
"name": "VM_NAME",
"confidentialInstanceConfig": {
"confidentialInstanceType": "TDX"
},
"scheduling": {
"onHostMaintenance": "TERMINATE",
"provisioningModel": "SPOT",
},
"disks": [
{
"type": "PERSISTENT",
"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"
}
}
],
"networkInterfaces": [
{
"name": "nic0",
"network": "projects/PROJECT_ID/global/networks/default",
"accessConfigs": [
{
"name": "external-nat",
"type": "ONE_TO_ONE_NAT",
"kind": "compute#accessConfig",
"networkTier": "PREMIUM"
}
],
"kind": "compute#networkInterface"
}
],
"machineType": "zones/ZONE/machineTypes/a3-highgpu-1g",
}
Berikan nilai berikut:
VM_NAME
: Nama template instance VM baru.IMAGE_PROJECT
: Project yang berisi image sistem operasi yang didukung. Sebaiknya gunakan project gambarubuntu-os-cloud
untuk image Ubuntu. Anda dapat menggunakan project imageconfidential-vm-images
untuk image Container-Optimized OS secara opsional.IMAGE_FAMILY_NAME
: Grup untuk image sistem operasi yang didukung Confidential VM. Saat menggunakan project imageubuntu-os-cloud
, sebaiknya gunakan kelompok imageubuntu-2204-lts
. Untuk image Container-Optimized OS dari projectconfidential-vm-images
, gunakan kelompok imagecos-tdx-113-lts
.PROJECT_ID
: Opsional. ID project tempat VM dibuat.ZONE
: Zona yang didukung untuk membuat VM.
Mengaktifkan mode komputasi rahasia di GPU
Hubungkan ke instance VM di MIG menggunakan perintah gcloud compute ssh.
gcloud compute ssh
Perbarui daftar paket dan instal alat dan library yang diperlukan.
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
Aktifkan Linux Kernel Crypto API (LKCA) untuk mengonfigurasi komunikasi yang aman antara GPU dan driver GPU.
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 -u
Aktifkan mode persistensi untuk memastikan koneksi Security Protocol and Data Model (SPDM) yang aman antara GPU dan driver 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-reload
Mulai ulang instance VM untuk menerapkan konfigurasi LKCA dan mode persistensi.
sudo reboot
(Opsional) Instal contoh CUDA untuk mengaktifkan mode komputasi rahasia.
wget -O cuda-samples.tar.gz https://github.com/NVIDIA/cuda-samples/archive/refs/tags/v12.5.tar.gz tar xzvf cuda-samples.tar.gz
Langkah berikutnya
- Pelajari cara memverifikasi bahwa mode rahasia diaktifkan di GPU.