如要在 Confidential VM 執行個體中使用 GPU,您必須使用支援的機型和執行個體佈建模型建立 VM 執行個體。建立 VM 執行個體後,請在所連 GPU 上啟用機密運算模式。
搭載 NVIDIA GPU 的 Confidential VM 執行個體適用於下列機器類型:
A3 High 機型:搭載 Intel TDX 的 NVIDIA H100 GPU。支援 Spot 和彈性啟動佈建模式。
G4 機型 (搶先版):搭載 AMD SEV 的 NVIDIA RTX PRO 6000。支援標準 (隨選)、Spot 和彈性啟動佈建模式,以及預留項目。
建立搭載 GPU 的 Confidential VM 執行個體前,請確認您有足夠的 GPU 配額。詳情請參閱「GPU 配額規定」。
建立搭載 GPU 的機密 VM 執行個體
如要建立附加 GPU 的機密 VM 執行個體,請使用下列其中一種佈建模型:
標準 (隨選):建立標準 (隨選) 經過加速器最佳化的 VM 執行個體。這個模型僅適用於 G4 (搶先版) 機器類型。如需詳細步驟,請參閱「標準 (隨選) 或 Spot 模型」。
Spot:為 A3 High 或 G4 (搶先版) 機型建立經過加速器最佳化的 Spot VM 執行個體。如需詳細步驟,請參閱標準 (隨選) 或 Spot 模型。
彈性啟動:為 A3 High 或 G4 (預先發布版) 機型建立代管執行個體群組 (MIG)。詳細步驟請參閱彈性啟動模式。
標準 (隨選) 或 Spot 模型
gcloud
如要使用 gcloud CLI 建立加速器最佳化標準 (隨選) 或 Spot VM 執行個體,請使用 instances create 子指令和 --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
如要啟用安全啟動,您可以對 VM 執行個體啟動使用 --shielded-secure-boot 旗標。
提供以下這些值:
INSTANCE_NAME:新 VM 執行個體的名稱。PROVISIONING_MODEL:機型支援的佈建模型。選擇下列其中一個選項:A3 High 機型:適用於 Spot VM 執行個體。
SPOTG4 機型 (預先發布版):適用於標準 (隨選) VM 執行個體的
STANDARD,或適用於 Spot VM 執行個體的SPOT。如未指定,這個值預設為STANDARD。
CONFIDENTIAL_COMPUTING_TECHNOLOGY:要使用的機密運算技術類型。選擇下列其中一個選項:A3 High 機型 (
a3-highgpu-1g):TDXG4 機型 (
g4-standard-48):SEV
MACHINE_TYPE_NAME:虛擬機器機型。選擇下列其中一項:a3-highgpu-1gg4-standard-48(預先發布版)
ZONE_NAME:用於建立 VM 的支援區域。IMAGE_PROJECT:包含支援的作業系統映像檔的專案。選擇下列其中一個選項:A3 High 機型:Ubuntu 映像檔為
ubuntu-os-cloud,Container-Optimized OS 映像檔為confidential-vm-images。G4 機型 (預先發布版):Ubuntu 映像檔為
ubuntu-os-cloud,Container-Optimized OS 映像檔為cos-cloud。
IMAGE_FAMILY_NAME:支援機密 VM 的作業系統映像檔系列。 根據機型選擇映像檔系列:A3 High 機型:
ubuntu-2204-lts適用於 Ubuntu 映像檔專案。Container-Optimized OS 映像檔專案的
cos-tdx-113-lts。
G4 機型 (預先發布版):
ubuntu-2404-lts-amd64適用於 Ubuntu 映像檔專案。Container-Optimized OS 映像檔專案的
cos-125-lts。
REST
如要建立標準 (隨選) 或 Spot VM 執行個體,請傳送下列 POST 要求,並附上適當的內文內容。
請使用下列 HTTP 方法和網址:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances
使用下列 JSON 要求主體:
{
"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"
}
]
}
提供以下這些值:
PROJECT_ID:選用。要在其中建立 VM 的專案 ID。ZONE:用於建立 VM 的支援區域。INSTANCE_NAME:新 VM 執行個體的名稱。MACHINE_TYPE_NAME:虛擬機器機型。選擇下列其中一項:a3-highgpu-1gg4-standard-48(預先發布版)
CONFIDENTIAL_COMPUTING_TECHNOLOGY:要使用的機密運算技術類型。選擇下列其中一個選項:A3 High 機型 (
a3-highgpu-1g):TDXG4 機型 (
g4-standard-48):SEV
PROVISIONING_MODEL:機器系列支援的佈建模型。選擇下列其中一個選項:A3 High 機型:
SPOT適用於 Spot VM 執行個體。G4 機型 (預先發布版):適用於標準 (隨選) VM 執行個體的
STANDARD,或適用於 Spot VM 執行個體的SPOT。如未指定,這個值預設為STANDARD。
IMAGE_PROJECT:包含支援的作業系統映像檔的專案。選擇下列其中一個選項:A3 High 機型:Ubuntu 映像檔為
ubuntu-os-cloud,Container-Optimized OS 映像檔為confidential-vm-images。G4 機型 (預先發布版):Ubuntu 映像檔為
ubuntu-os-cloud,Container-Optimized OS 映像檔為cos-cloud。
IMAGE_FAMILY:支援機密 VM 的作業系統映像檔系列。 根據機型選擇映像檔系列:A3 High 機型:
ubuntu-2204-lts適用於 Ubuntu 映像檔專案。cos-tdx-113-lts,適用於 Container-Optimized OS 映像檔專案。
G4 機型 (預先發布版):
ubuntu-2404-lts-amd64適用於 Ubuntu 映像檔專案。Container-Optimized OS 映像檔專案的
cos-125-lts。
彈性啟動模式
如要使用彈性啟動模式,請先建立執行個體範本,然後使用該範本建立代管執行個體群組 (MIG)。接著,您可以使用調整大小要求,將 GPU VM 執行個體新增至 MIG。
搭配使用 MIG 規模調整要求和「彈性啟動」佈建模式,可提高 GPU VM 執行個體的取得率。詳情請參閱「關於 MIG 中的大小調整要求」。
事前準備
建立含有 GPU VM 執行個體的 MIG
如要建立執行個體範本,然後使用該範本建立 MIG,請完成下列步驟。
建立執行個體範本。
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 \ --reservation-affinity=none \ --boot-disk-size=30G \ --instance-termination-action=DELETE \ --max-run-duration=RUN_DURATION \ --project=PROJECT_ID提供以下這些值:
INSTANCE_TEMPLATE_NAME:新 VM 執行個體範本的名稱。CONFIDENTIAL_COMPUTING_TECHNOLOGY:要使用的機密運算技術類型。選擇下列其中一個選項:A3 High 機型 (
a3-highgpu-1g):TDXG4 機型 (
g4-standard-48):SEV
MACHINE_TYPE_NAME:虛擬機器機型。選擇下列其中一項:a3-highgpu-1gg4-standard-48(預先發布版)
IMAGE_PROJECT:包含支援的作業系統映像檔的專案。選擇下列其中一個選項:A3 High 機型:Ubuntu 映像檔為
ubuntu-os-cloud,Container-Optimized OS 映像檔為confidential-vm-images。G4 機型 (預先發布版):Ubuntu 映像檔為
ubuntu-os-cloud,Container-Optimized OS 映像檔為cos-cloud。
IMAGE_FAMILY_NAME:要使用的機密 VM 支援的作業系統映像檔系列。根據機型選擇映像檔系列:A3 High 機型:
ubuntu-2204-lts適用於 Ubuntu 映像檔專案。cos-tdx-113-lts,適用於 Container-Optimized OS 映像檔專案。
G4 機型 (預先發布版):
ubuntu-2404-lts-amd64適用於 Ubuntu 映像檔專案。Container-Optimized OS 映像檔專案的
cos-125-lts。
RUN_DURATION:您希望要求的 VM 執行個體執行的時間長度。您必須將值格式化為天數、時數、分鐘數或秒數,並分別加上d、h、m和s。例如:6d8h44m。PROJECT_ID:要在其中建立 VM 的專案 ID。
REST
如要建立機密 VM 執行個體範本,請傳送下列 POST 要求,並附上適當的內容。
請使用下列 HTTP 方法和網址:
POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION/instanceTemplates使用下列 JSON 要求主體:
{ "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" } ], "reservationAffinity": { "consumeReservationType": "NO_RESERVATION" }, "canIpForward": false } }如要啟用安全啟動功能,可以為 VM 執行個體啟動作業加入下列物件。
"shieldedInstanceConfig": { "enableIntegrityMonitoring": true, "enableSecureBoot": true, "enableVtpm": true }提供以下這些值:
PROJECT_ID:要在其中建立範本的專案 ID。REGION:要在哪個區域建立範本。INSTANCE_TEMPLATE_NAME:新 VM 執行個體範本的名稱。CONFIDENTIAL_COMPUTING_TECHNOLOGY:要使用的機密運算技術類型。選擇下列其中一個選項:A3 High 機型 (
a3-highgpu-1g):TDXG4 機型 (
g4-standard-48):SEV
MACHINE_TYPE_NAME:虛擬機器機型。選擇下列其中一項:a3-highgpu-1gg4-standard-48(預先發布版)
RUN_DURATION_IN_SECONDS:您希望要求的 VM 執行個體執行的時間長度 (以秒為單位)。這個值必須介於600至604800秒之間。IMAGE_PROJECT:包含支援的作業系統映像檔的專案。選擇下列其中一個選項:A3 High 機型:Ubuntu 映像檔為
ubuntu-os-cloud,Container-Optimized OS 映像檔為confidential-vm-images。G4 機型 (預先發布版):Ubuntu 映像檔為
ubuntu-os-cloud,Container-Optimized OS 映像檔為cos-cloud。
IMAGE_FAMILY_NAME:要使用的機密 VM 支援的作業系統映像檔系列。根據機型選擇映像檔系列:A3 High 機型:
ubuntu-2204-lts適用於 Ubuntu 映像檔專案。cos-tdx-113-lts,適用於 Container-Optimized OS 映像檔專案。
G4 機型 (預先發布版):
ubuntu-2404-lts-amd64適用於 Ubuntu 映像檔專案。Container-Optimized OS 映像檔專案的
cos-125-lts。
建立 MIG 和調整大小要求,一次新增多個 GPU VM 執行個體。
列出 MIG 中的執行個體。
gcloud
gcloud compute instance-groups managed list-instances INSTANCE_GROUP_NAME \ --zone=ZONE_NAME \ --project=PROJECT_ID提供以下這些值:
INSTANCE_GROUP_NAME:MIG 的名稱。ZONE_NAME:支援的可用區,可從中取得 VM 執行個體清單。PROJECT_ID:選用。要從中取得 VM 執行個體清單的專案 ID。
REST
如要列出所有範本,請傳送下列 GET 要求。
請使用下列 HTTP 方法和網址:
GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/instanceTemplates如要將執行個體清單縮小至特定區域,請傳送下列 GET 要求。
請使用下列 HTTP 方法和網址:
GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/ZONE_NAME/instanceTemplates提供以下這些值:
ZONE_NAME:支援的可用區,可從中取得 VM 執行個體清單。PROJECT_ID:要從中取得 VM 執行個體清單的專案 ID。
搭配機密 VM 執行個體使用預留項目
您可以透過預留項目,確保只有 G4 機型 (搶先版) 的機密 VM 執行個體有容量。
如要為機密 VM 執行個體使用保留項目,請按照下列步驟操作:
在支援的可用區中建立標準預留項目。 您可以在建立預留項目時使用
--require-specific-reservation標記,控制執行個體使用預留項目的方式。建立 Confidential VM 執行個體來使用預留項目。建立 VM 執行個體時,請加入
--confidential-compute-type=SEV標記,將其設為 Confidential VM 執行個體。這個執行個體如何使用預留項目,取決於預留項目的相依性設定。
以下範例說明如何搭配機密 VM 執行個體使用預留項目。預訂的取用方式取決於預訂的建立方式:
自動使用:如果建立預留項目時未指定
--require-specific-reservation旗標,您可以建立具有相符屬性 (例如機型或可用區) 的 G4 Confidential VM 執行個體,自動使用預留項目。特定用量:如果使用
--require-specific-reservation標記建立保留項目,您必須在建立執行個體時,使用--reservation-affinity=specific和--reservation=RESERVATION_NAME標記指定保留項目: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_NAME提供以下這些值:
INSTANCE_NAME:新 VM 執行個體的名稱。PROJECT_ID:選用。要在其中建立 VM 的專案 ID。ZONE_NAME:用於建立 VM 的支援區域。RESERVATION_NAME:預訂名稱。
如要瞭解 VM 執行個體如何使用預留項目,以及相依性的運作方式,請參閱「使用預留項目」。
在 GPU 上啟用機密運算模式
使用 gcloud compute ssh 指令連線至 MIG 中的 VM 執行個體。
gcloud compute ssh更新套件清單,並安裝必要的工具和程式庫。
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-12在 VM 執行個體上安裝適當的 GPU 驅動程式。如果是啟用安全啟動功能的 VM 執行個體,請參閱「安裝 GPU 驅動程式 (安全啟動 VM)」。建議使用 NVIDIA 開放式核心模組驅動程式 580 以上版本。
如要設定 GPU 與 GPU 驅動程式之間的通訊安全,請啟用 Linux Kernel Crypto API (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 -u啟用持續性模式,在 GPU 和 GPU 驅動程式之間建立安全的安全性通訊協定和資料模型 (SPDM) 連線。
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重新啟動 VM 執行個體,套用 LKCA 和持續性模式設定。
sudo reboot使用 gcloud compute ssh 指令連線至 MIG 中的 VM 執行個體。
gcloud compute ssh(選用) 安裝支援所需驅動程式版本的 CUDA 範例。
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
定價
在預先發布期間,G4 機型上機密 VM 執行個體的額外費用將免除。這些費用包括機密運算附加費用和 NVIDIA 授權費。您仍須支付基礎 Compute Engine 資源的標準費用,例如 G4 機器類型、GPU 和儲存空間。預先發布期結束後,機密運算正式推出 (GA) 時,就會開始收取這些額外費用。如要瞭解定價詳情,請參閱「機密 VM 定價」。
後續步驟
瞭解如何確認 GPU 已啟用機密模式。
進一步瞭解 GPU 配額規定。
如要瞭解配額用量,請參閱「GPU VM 和先佔分配配額」。