使用 A4 或 A3 Ultra 建立 AI 適用的執行個體

本文說明如何建立使用 A4 或 A3 Ultra 機型的獨立虛擬機器 (VM) 執行個體。如要進一步瞭解這些加速器最佳化機器類型,請參閱 A4A3 Ultra

如要瞭解建立 VM 或叢集的其他方式,請參閱「部署選項總覽」。

限制

建立獨立的 A4 或 A3 Ultra VM 時,須遵守下列限制:

A4

  • 使用 A4 機器類型的執行個體不適用續用折扣彈性承諾使用折扣。
  • A4 機型只能在特定區域和可用區使用。
  • 您無法使用永久磁碟 (區域或可用區)。只能使用 Google Cloud Hyperdisk
  • A4 機型僅適用於 Emerald Rapids CPU 平台
  • 您無法將執行個體的機型變更為 A4 機型,也無法從 A4 機型變更為其他機型。您必須使用這個機型建立新的執行個體。
  • A4 機器類型不支援單一租戶
  • 您無法在 A4 機器類型上執行 Windows 作業系統。
  • 如果是 A4 執行個體,使用 ethtool -S 監控 GPU 網路時,結尾為 _phy 的實體連接埠計數器不會更新。這是使用 MRDMA 虛擬函式 (VF) 架構的執行個體預期會發生的行為。詳情請參閱「MRDMA functions and network monitoring tools」。
  • 您無法將 2026 年 2 月 4 日前建立的 Hyperdisk ML 磁碟連結至 A4 機器類型。

A3 Ultra

  • 使用 A3 Ultra 機型的執行個體不適用續用折扣彈性承諾使用折扣
  • 您只能在特定區域和可用區使用 A3 Ultra 機器類型。
  • 您無法使用永久磁碟 (區域或可用區)。只能使用 Google Cloud Hyperdisk
  • A3 Ultra 機型僅適用於 Emerald Rapids CPU 平台
  • A3 Ultra 機型不支援變更機型。如要改用或停用這類機器類型,必須建立新的執行個體。
  • 您無法在 A3 Ultra 機型上執行 Windows 作業系統。
  • A3 Ultra 機型不支援單一租戶
  • 如果是 A3 Ultra 執行個體,使用 ethtool -S 監控 GPU 網路時,結尾為 _phy 的實體連接埠計數器不會更新。如果執行個體使用 MRDMA 虛擬函式 (VF) 架構,就會出現這種預期行為。詳情請參閱「MRDMA functions and network monitoring tools」。

事前準備

建立 VM 前,請先完成下列步驟 (如尚未完成):

  1. 選擇使用選項:您選擇的使用選項會決定取得及使用 GPU 資源的方式。

    詳情請參閱「選擇消耗量選項」。

  2. 取得容量:取得容量的程序因消費選項而異。

    如要瞭解如何取得所選用量方案的容量,請參閱容量總覽

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

In the Google Cloud console, activate Cloud Shell.

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.

REST

如要在本機開發環境中使用本頁的 REST API 範例,請使用您提供給 gcloud CLI 的憑證。

    安裝 Google Cloud CLI。 完成後,執行下列指令來初始化 Google Cloud CLI:

    gcloud init

    若您採用的是外部識別資訊提供者 (IdP),請先使用聯合身分登入 gcloud CLI

詳情請參閱 Google Cloud 驗證說明文件中的「使用 REST 進行驗證」。

必要的角色

如要取得建立 VM 所需的權限,請要求管理員授予您專案的「Compute 執行個體管理員 (v1)」 (roles/compute.instanceAdmin.v1) IAM 角色。如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和組織的存取權」。

這個預先定義的角色具備建立 VM 所需的權限。如要查看確切的必要權限,請展開「Required permissions」(必要權限) 部分:

所需權限

如要建立 VM,您必須具備下列權限:

  • 專案的 compute.instances.create
  • 如要使用自訂映像檔建立 VM: compute.images.useReadOnly 在映像檔上
  • 如要使用快照建立 VM: compute.snapshots.useReadOnly 快照
  • 如要使用執行個體範本建立 VM,請按照下列步驟操作: compute.instanceTemplates.useReadOnly 在執行個體範本上
  • 如要為 VM 指定子網路: compute.subnetworks.use 專案或所選子網路的
  • 如要為 VM 指定靜態 IP 位址: 專案的 compute.addresses.use
  • 使用虛擬私有雲網路時,如要將外部 IP 位址指派給 VM: compute.subnetworks.useExternalIp 專案或所選子網路的權限
  • 如要將舊版網路指派給 VM,請按照下列步驟操作: compute.networks.use 專案的
  • 使用舊版網路時,如要將外部 IP 位址指派給 VM,請在專案中設定 compute.networks.useExternalIp
  • 如要為 VM 設定 VM 執行個體中繼資料,請在專案中執行下列指令: compute.instances.setMetadata
  • 如要為 VM 設定標記,請按照下列步驟操作: compute.instances.setTags 在 VM 上
  • 如要為 VM 設定標籤,請按照下列步驟操作: compute.instances.setLabels 在 VM 上
  • 如要設定 VM 使用的服務帳戶,請執行下列操作: compute.instances.setServiceAccount 在 VM 上
  • 為 VM 建立新磁碟: 專案的 compute.disks.create
  • 如要以唯讀或讀寫模式附加現有磁碟: 磁碟的 compute.disks.use
  • 如要以唯讀模式附加現有磁碟: compute.disks.useReadOnly 磁碟的

您或許還可透過自訂角色或其他預先定義的角色取得這些權限。

總覽

使用 A4 或 A3 Ultra 機型建立執行個體時,請按照下列步驟操作:

  1. 建立虛擬私有雲網路
  2. 選用: 建立密集配置政策
  3. 建立執行個體

建立虛擬私有雲網路

如要為 A4 或 A3 Ultra 機型設定網路,請為下列網路介面建立三個虛擬私有雲網路:

  • gVNIC 網路介面 (NIC) 適用 2 個一般虛擬私有雲網路。這些位址用於主機間的通訊。
  • CX-7 NIC 必須使用 1 個具有 RoCE 網路設定檔的虛擬私有雲網路。RoCE 虛擬私有雲網路需要有 8 個子網路,每個 CX-7 NIC 各有一個子網路。這些 NIC 使用 RDMA over Converged Ethernet (RoCE),提供 GPU 對 GPU 通訊所需的高頻寬、低延遲通訊。

如要進一步瞭解 NIC 配置,請參閱「查看網路頻寬和 NIC 配置」。

您可以按照操作說明手動建立網路,也可以使用提供的指令碼自動建立網路。

操作指南

如要建立網路,請按照下列操作說明進行:

對於這些虛擬私有雲網路,建議您將最大傳輸單元 (MTU) 設為較大的值。如果是 A4 或 A3 Ultra 機型,建議的 MTU 為 8896 位元組。 如要查看其他 GPU 機型的建議 MTU 設定,請參閱「GPU 機型的 MTU 設定」。

指令碼

如要建立網路,請按照下列步驟操作。

對於這些虛擬私有雲網路,建議您將最大傳輸單元 (MTU) 設為較大的值。如果是 A4 或 A3 Ultra 機型,建議的 MTU 為 8896 位元組。 如要查看其他 GPU 機型的建議 MTU 設定,請參閱「GPU 機型的 MTU 設定」。

  1. 使用下列指令碼為 gVNIC 和 CX-7 NIC 建立虛擬私有雲網路。

      
        #!/bin/bash
    
        # Create regular VPC networks and subnets for the gVNICs
        for N in $(seq 0 1); do
          gcloud compute networks create GVNIC_NAME_PREFIX-net-$N \
            --subnet-mode=custom \
            --mtu=8896
    
          gcloud compute networks subnets create GVNIC_NAME_PREFIX-sub-$N \
            --network=GVNIC_NAME_PREFIX-net-$N \
            --region=REGION \
            --range=10.$N.0.0/16
    
          gcloud compute firewall-rules create GVNIC_NAME_PREFIX-internal-$N \
            --network=GVNIC_NAME_PREFIX-net-$N \
            --action=ALLOW \
            --rules=tcp:0-65535,udp:0-65535,icmp \
            --source-ranges=10.0.0.0/8
        done
    
        # Create SSH firewall rules
        gcloud compute firewall-rules create GVNIC_NAME_PREFIX-ssh \
          --network=GVNIC_NAME_PREFIX-net-0 \
          --action=ALLOW \
          --rules=tcp:22 \
          --source-ranges=IP_RANGE
    
        # Assumes that an external IP is only created for vNIC 0
        gcloud 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
    
      
        # List and make sure network profiles exist in the machine type's zone
        gcloud compute network-profiles list --filter "location.name=ZONE"
    
        # Create network for CX-7
        gcloud compute networks create RDMA_NAME_PREFIX-mrdma \
          --network-profile=ZONE-vpc-roce \
          --subnet-mode custom \
          --mtu=8896
    
        # Create subnets
        for N in $(seq 0 7); do
          gcloud compute networks subnets create RDMA_NAME_PREFIX-mrdma-sub-$N \
            --network=RDMA_NAME_PREFIX-mrdma \
            --region=REGION \
            --range=10.$((N+2)).0.0/16 # offset to avoid overlap with gVNICs
        done
    
      

    更改下列內容:

    • GVNIC_NAME_PREFIX:用於 gVNIC 的一般虛擬私有雲網路和子網路的自訂名稱前置字元。
    • RDMA_NAME_PREFIX:用於 CX-7 NIC 的 RoCE 虛擬私有雲網路和子網路的自訂名稱前置字元。
    • ZONE:指定要使用的機型所在的可用區域,例如 us-central1-a。如需地區相關資訊,請參閱「各個地區和區域的 GPU 供應情形」。
    • REGION:要建立子網路的區域。這個區域必須與指定的可用區相符。舉例來說,如果可用區是 us-central1-a,則區域為 us-central1
    • IP_RANGE:用於 SSH 防火牆規則的 IP 範圍。
  2. 選用:如要確認虛擬私有雲網路資源是否建立成功,請在 Google Cloud 控制台中檢查網路設定:
    1. 前往 Google Cloud 控制台的「VPC Networks」(虛擬私有雲網路) 頁面。

      前往「VPC networks」(虛擬私有雲網路)

    2. 在清單中搜尋您在上一個步驟中建立的網路。
    3. 如要查看子網路、防火牆規則和其他網路設定,請按一下網路名稱。

選用:建立密集配置政策

您可以建立密集配置政策來指定 VM 配置。將密集配置政策套用至 VM 時,Compute Engine 會盡可能建立彼此靠近的 VM。如果應用程式對延遲時間很敏感,且您希望 VM 之間的位置更接近 (達到最密集狀態),請在建立密集配置政策時指定 maxDistance 欄位 (預覽版)。maxDistance 值越低,VM 的位置就越接近,但部分 VM 無法建立的機率也會提高。

如要建立緊湊配置政策,請選取下列任一選項:

gcloud

如要建立精簡的放置位置政策,請使用 gcloud beta compute resource-policies create group-placement 指令

gcloud beta compute resource-policies create group-placement POLICY_NAME \
    --collocation=collocated \
    --max-distance=MAX_DISTANCE \
    --region=REGION

更改下列內容:

  • POLICY_NAME:密集配置政策的名稱。
  • MAX_DISTANCE:VM 的最大距離設定。值必須為 3,才能將 VM 放置在相鄰區塊中;值必須為 2,才能將 VM 放置在相同區塊中。如要瞭解每個maxDistance機器系列支援的 VM 數量上限,請參閱 Compute Engine 說明文件中的「關於密集配置政策」。
  • REGION:要建立密集配置政策的區域。指定您要使用的機器類型適用的區域。如要瞭解地區,請參閱「各個地區和區域的 GPU 供應情形」。

REST

如要建立密集配置政策,請對 betaresourcePolicies.insert 方法發出 POST 要求。在要求主體中,加入設為 COLLOCATEDcollocation 欄位,以及 maxDistance 欄位。

POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION/resourcePolicies
  {
    "name": "POLICY_NAME",
    "groupPlacementPolicy": {
      "collocation": "COLLOCATED",
      "maxDistance": MAX_DISTANCE
    }
  }

更改下列內容:

  • PROJECT_ID:專案 ID
  • POLICY_NAME:密集配置政策的名稱。
  • MAX_DISTANCE:VM 的最大距離設定。值必須為 3,才能將 VM 放置在相鄰區塊中;值必須為 2,才能將 VM 放置在相同區塊中。如要瞭解每個maxDistance機器系列支援的 VM 數量上限,請參閱 Compute Engine 說明文件中的「關於密集配置政策」。
  • REGION:要建立密集配置政策的區域。指定您要使用的機器類型適用的區域。如要瞭解地區,請參閱「各個地區和區域的 GPU 供應情形」。

建立 A4 或 A3 Ultra VM

如要建立 A4 或 A3 Ultra VM,請使用下列其中一種方法。如果您選擇使用緊湊放置群組政策,則必須使用 Google Cloud CLI 或 REST 建立 VM。

下列指令也會設定執行個體的存取範圍。為簡化權限管理,Google 建議您將執行個體的存取權範圍設為 cloud-platform 存取權,然後使用 IAM 角色定義執行個體可存取的服務。詳情請參閱「範圍最佳做法」。

控制台

  1. 前往 Google Cloud 控制台的「Create an instance」(建立執行個體) 頁面。

    前往「建立執行個體」

  2. 指定 VM 的「Name」(名稱)。請參閱「資源命名慣例」。

  3. 選取要預留容量的「Region」(區域) 和「Zone」(可用區)。請參閱提供 GPU 的區域和可用區清單。

  4. 按一下「GPU」分頁標籤,然後完成下列步驟:

    1. 在「GPU type」(GPU 類型) 清單中,選取 GPU 類型。
      • 如果是 A4 VM,請選取「NVIDIA B200 180GB
      • 如果是 A3 Ultra VM,請選取 NVIDIA H200 141GB
    2. 在「Number of GPUs」(GPU 數量) 清單中選取「8」。
  5. 在導覽選單中,按一下「OS and storage」(OS 和儲存空間),然後完成下列步驟:

    1. 按一下「變更」。 「開機磁碟設定」窗格隨即開啟。
    2. 在「Public images」(公開映像檔) 分頁中,選取建議的映像檔。如需建議的映像檔清單,請參閱「作業系統」。
    3. 如要確認開機磁碟選項,請按一下「Select」(選取)
  6. 請按照下列方式設定服務帳戶和存取權範圍。執行個體上執行的工作負載會使用附加的服務帳戶,授權對其他 Google Cloud 服務的要求。

    1. 按一下導覽選單中的「Security」(安全性)
    2. 在「Service account」(服務帳戶) 清單中,選取要使用的服務帳戶。
    3. 在「存取權範圍」部分,選取「允許所有 Cloud API 的完整存取權」選項。建議您採用這項最佳做法,因為您可以透過新增或移除服務帳戶的身分與存取權管理角色,管理存取權。詳情請參閱將服務帳戶附加至執行個體
  7. 如要建立多重 NIC VM,請完成下列步驟。如要建立單一 NIC VM,請略過這些步驟。

    1. 在導覽選單中,按一下「Networking」(網路)

    2. 在「Network interfaces」(網路介面) 專區中,完成下列步驟:

      1. 刪除預設網路介面。如要刪除介面,請按一下 「刪除」
      2. 按一下「新增網路介面」。使用這個選項新增網路介面,附加至您在前一節中建立的虛擬私有雲網路。新增網路介面時,請注意下列事項:
        • 如要用於主機對主機通訊的網路介面,請從「網路」和「子網路」清單中選取一般虛擬私有雲網路和子網路,並將「網路介面卡」清單設為「gVNIC」
        • 如要用於 GPU 對 GPU 通訊的網路介面,請從「網路」和「子網路」清單中選取 RoCE 虛擬私有雲網路和子網路,並將這些網路介面的「網路介面卡」清單設為「MRDMA」
  8. 在導覽選單中,按一下「進階」。接著,請根據要使用的佈建模式完成下列步驟。

    彈性啟動

    1. 在「佈建模型」部分,從「VM 佈建模型」清單中選取「彈性啟動」
    2. 在「輸入時數」中,輸入 VM 的執行時間上限。這個值必須介於 46 秒 (0.01) 和七天 (168,或 168 小時) 之間。

    3. 選取「設定建立 VM 的等待時間」

      根據工作負載的區域需求,指定下列其中一個時間長度,有助於提高 VM 建立要求成功的機率:

      • 有嚴格區域規定的工作負載:如果工作負載要求您在特定區域中建立 VM,請指定 90 秒2 小時之間的時間長度。 時間越長,獲得資源的機會就越高。
      • 對區域沒有嚴格要求的工作負載:如果 VM 可以在區域內的任何可用區執行,請指定 0 秒的持續時間,或取消勾選「設定 VM 建立等待時間」核取方塊。這項動作會指定 Compute Engine 僅在資源可立即使用時才分配資源。如果資源無法使用,導致 VM 建立要求失敗,請在其他可用區重試要求。

    4. 在「On VM termination」(在 VM 終止時) 欄位中,選取 VM 在執行時間結束時要停止還是刪除:

      • 如要刪除 VM,請選取「刪除」
      • 如要停止 VM,請選取「停止」

    取決於預留項目

    1. 按一下「選擇預留項目」。畫面上會隨即顯示窗格,列出所選區域內的可用預訂項目。在預訂清單中,完成下列步驟:

      1. 選取要用於 VM 的預訂項目。您也可以選取預訂中的特定時段。
      2. 按一下「選擇」

    Spot

    1. 在「佈建模型」部分,從「VM 佈建模型」清單中選取「Spot」
    2. 選用:如要選取 Compute Engine 預先終止 VM 時執行的終止動作,請完成下列步驟:

      1. 展開「VM 佈建模式進階設定」部分。
      2. 在「On VM termination」(在 VM 終止時) 清單中,選取下列其中一個選項:
        • 如要在搶占期間停止 VM,請選取「停止」 (預設)。
        • 如要在先占期間刪除 VM,請選取「刪除」
  9. 如要建立並啟動 VM,請按一下 [Create] (建立)

gcloud

如要建立 VM,請使用 gcloud compute instances create 指令

您需要指定的參數取決於用於這項部署作業的消耗選項。選取與用量選項的佈建模式對應的分頁。

彈性啟動

gcloud compute instances create VM_NAME  \
    --machine-type=MACHINE_TYPE \
    --image-family=IMAGE_FAMILY \
    --image-project=IMAGE_PROJECT \
    --zone=ZONE \
    --boot-disk-type=hyperdisk-balanced \
    --boot-disk-size=DISK_SIZE \
    --scopes=cloud-platform \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-0,subnet=GVNIC_NAME_PREFIX-sub-0 \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-1,subnet=GVNIC_NAME_PREFIX-sub-1,no-address \
    --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-0,no-address \
    --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-1,no-address \
    --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-2,no-address \
    --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-3,no-address \
    --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-4,no-address \
    --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-5,no-address \
    --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-6,no-address \
    --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-7,no-address \
    --reservation-affinity=none \
    --provisioning-model=FLEX_START \
    --request-valid-for-duration=REQUEST_VALID_FOR_DURATION \
    --max-run-duration=MAX_RUN_DURATION \
    --instance-termination-action=TERMINATION_ACTION \
    --maintenance-policy=TERMINATE

更改下列內容:

  • VM_NAME:VM 的名稱。
  • MACHINE_TYPE:VM 要使用的機器類型。詳情請參閱「GPU 機器類型」。
  • IMAGE_FAMILY:您要使用的 OS 映像檔映像檔系列。 如需支援的作業系統清單,請參閱「作業系統詳細資料」。
  • IMAGE_PROJECT:OS 映像檔的專案 ID。
  • ZONE:您要使用的機器類型所在的可用區。如要指定密集配置政策,您必須使用與密集配置政策位於相同區域的可用區。 如需地區相關資訊,請參閱「各區域和可用區的 GPU 供應情形」。
  • DISK_SIZE:開機磁碟的大小,單位為 GB。
  • GVNIC_NAME_PREFIX:建立使用 gVNIC 的標準 VPC 網路和子網路時指定的名稱前置字元。
  • RDMA_NAME_PREFIX:建立使用 RDMA NIC 的虛擬私有雲網路和子網路時指定的名稱前置字元。
  • REQUEST_VALID_FOR_DURATION:建立 VM 的要求有效時間長度。您必須將值格式化為天數、時數、分鐘數或秒數,並分別加上 dhms。舉例來說,指定 30m 代表 30 分鐘,指定 1h2m3s 則代表 1 小時 2 分 3 秒。

    根據工作負載的區域需求,指定下列其中一個時間長度,有助於提高 VM 建立要求成功的機率:

    • 有嚴格區域需求的工作負載:如果工作負載要求您在特定區域中建立 VM,請指定 90 秒 (90s) 到兩小時 (2h) 的時間長度。時間長度越長,取得資源的機率就越高。
    • 沒有嚴格可用區需求的工作負載:如果 VM 可以在區域內的任何可用區執行,請指定零秒的持續時間 (0s)。這項動作會指定 Compute Engine 僅在資源可立即使用時分配資源。如果資源無法使用,導致 VM 建立要求失敗,請在其他可用區重試要求。
  • MAX_RUN_DURATION:要求的 VM 要執行多久。您必須將值格式化為天數、時數、分鐘數或秒數,並分別加上 dhms。值必須介於 10 分鐘至 7 天之間。

  • TERMINATION_ACTION:Compute Engine 在 VM 執行時間結束時,是停止 (STOP) 還是刪除 (DELETE) VM。

取決於預留項目

執行指令前,您可以選擇新增精簡刊登位置政策的旗標

gcloud compute instances create VM_NAME  \
    --machine-type=MACHINE_TYPE \
    --image-family=IMAGE_FAMILY \
    --image-project=IMAGE_PROJECT \
    --zone=ZONE \
    --boot-disk-type=hyperdisk-balanced \
    --boot-disk-size=DISK_SIZE \
    --scopes=cloud-platform \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-0,subnet=GVNIC_NAME_PREFIX-sub-0 \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-1,subnet=GVNIC_NAME_PREFIX-sub-1,no-address \
    --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-0,no-address \
    --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-1,no-address \
    --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-2,no-address \
    --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-3,no-address \
    --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-4,no-address \
    --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-5,no-address \
    --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-6,no-address \
    --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-7,no-address \
    --reservation-affinity=specific \
    --reservation=RESERVATION \
    --provisioning-model=RESERVATION_BOUND \
    --instance-termination-action=TERMINATION_ACTION \
    --maintenance-policy=TERMINATE \
    --restart-on-failure

操作步驟如下:

  1. 更改下列內容:

    • VM_NAME:VM 的名稱。
    • MACHINE_TYPE:VM 要使用的機器類型。詳情請參閱「GPU 機器類型」。
    • IMAGE_FAMILY:您要使用的 OS 映像檔映像檔系列。 如需支援的作業系統清單,請參閱「作業系統詳細資料」。
    • IMAGE_PROJECT:OS 映像檔的專案 ID。
    • ZONE:您要使用的機器類型所在的可用區。如要指定密集配置政策,您必須使用與密集配置政策位於相同區域的可用區。 如需地區相關資訊,請參閱「各區域和可用區的 GPU 供應情形」。
    • DISK_SIZE:開機磁碟的大小,單位為 GB。
    • GVNIC_NAME_PREFIX:建立使用 gVNIC 的標準 VPC 網路和子網路時指定的名稱前置字元。
    • RDMA_NAME_PREFIX:建立使用 RDMA NIC 的虛擬私有雲網路和子網路時指定的名稱前置字元。
    • RESERVATION:預留項目名稱或預留項目內的特定區塊。如要取得預留名稱或可用區塊,請參閱「查看預留容量」。根據執行個體放置位置的需求,選擇下列其中一個選項:
      • 如要在任何區塊建立執行個體,請按照下列步驟操作:

        projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME

        此外,如要在同一個區塊中建立多個執行個體,請在建立每個執行個體時,套用指定區塊並置 (maxDistance=2) 的相同精簡刊登位置政策。Compute Engine 隨後會將政策套用至預訂項目,並在同一個區塊中建立執行個體。

      • 如要在特定區塊上建立執行個體,請按照下列步驟操作:

        projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME/reservationBlocks/RESERVATION_BLOCK_NAME
    • TERMINATION_ACTION:Compute Engine 在預訂期間結束時,是停止 (STOP) 還是刪除 (DELETE) VM。

  2. 選用步驟:如果您選擇使用精簡刊登位置政策,請在指令中加入下列旗標:

      --resource-policies=POLICY_NAME
    

    更改下列內容:

    • POLICY_NAME:密集配置政策的名稱。
  3. 執行更改後的指令。

Spot

執行指令前,您可以選擇新增精簡刊登位置政策的旗標

gcloud compute instances create VM_NAME  \
    --machine-type=MACHINE_TYPE \
    --image-family=IMAGE_FAMILY \
    --image-project=IMAGE_PROJECT \
    --zone=ZONE \
    --boot-disk-type=hyperdisk-balanced \
    --boot-disk-size=DISK_SIZE \
    --scopes=cloud-platform \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-0,subnet=GVNIC_NAME_PREFIX-sub-0 \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-1,subnet=GVNIC_NAME_PREFIX-sub-1,no-address \
    --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-0,no-address \
    --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-1,no-address \
    --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-2,no-address \
    --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-3,no-address \
    --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-4,no-address \
    --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-5,no-address \
    --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-6,no-address \
    --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-7,no-address \
    --provisioning-model=SPOT \
    --instance-termination-action=TERMINATION_ACTION \
    --maintenance-policy=TERMINATE \
    --no-restart-on-failure

操作步驟如下:

  1. 更改下列內容:

    • VM_NAME:VM 的名稱。
    • MACHINE_TYPE:VM 要使用的機器類型。詳情請參閱「GPU 機器類型」。
    • IMAGE_FAMILY:您要使用的 OS 映像檔映像檔系列。 如需支援的作業系統清單,請參閱「作業系統詳細資料」。
    • IMAGE_PROJECT:OS 映像檔的專案 ID。
    • ZONE:您要使用的機器類型所在的可用區。如要指定密集配置政策,您必須使用與密集配置政策位於相同區域的可用區。 如需地區相關資訊,請參閱「各區域和可用區的 GPU 供應情形」。
    • DISK_SIZE:開機磁碟的大小,單位為 GB。
    • GVNIC_NAME_PREFIX:建立使用 gVNIC 的標準 VPC 網路和子網路時指定的名稱前置字元。
    • RDMA_NAME_PREFIX:建立使用 RDMA NIC 的虛擬私有雲網路和子網路時指定的名稱前置字元。
    • TERMINATION_ACTION:Compute Engine 預先終止執行個體時採取的動作,可以是 STOP (預設) 或 DELETE

  2. 選用步驟:如果您選擇使用精簡刊登位置政策,請在指令中加入下列旗標:

      --resource-policies=POLICY_NAME
    

    更改下列內容:

    • POLICY_NAME:密集配置政策的名稱。
  3. 執行更改後的指令。

REST

如要建立 VM,請對 instances.insert 方法發出 POST 要求。

您需要指定的參數取決於用於這項部署作業的消耗選項。選取與用量選項的佈建模式對應的分頁。

彈性啟動

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances
{
  "machineType": "projects/PROJECT_ID/zones/ZONE/machineTypes/MACHINE_TYPE",
  "name": "VM_NAME",
  "disks":[
    {
      "boot":true,
      "initializeParams":{
        "diskSizeGb": "DISK_SIZE",
        "diskType": "hyperdisk-balanced",
        "sourceImage": "projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY"
      },
      "mode": "READ_WRITE",
      "type": "PERSISTENT"
    }
  ],
  "serviceAccounts": [
    {
      "email": "default",
      "scopes": [
        "https://www.googleapis.com/auth/cloud-platform"
      ]
    }
  ],
  "networkInterfaces": [
    {
      "accessConfigs": [
        {
          "name": "external-nat",
          "type": "ONE_TO_ONE_NAT"
        }
      ],
      "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-0",
      "nicType": "GVNIC",
      "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-0"
    },
    {
      "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-1",
      "nicType": "GVNIC",
      "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-1"
    },
    {
      "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-2",
      "nicType": "GVNIC",
      "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-2"
    },
    {
      "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-3",
      "nicType": "GVNIC",
      "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-3"
    },
    {
      "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-4",
      "nicType": "GVNIC",
      "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-4"
    }
  ],
  "reservationAffinity":{
    "consumeReservationType": "NO_RESERVATION",
  },
  "scheduling":{
    "provisioningModel": "FLEX_START",
    "requestValidForDuration": {
      "seconds": REQUEST_VALID_FOR_DURATION
    },
    "maxRunDuration": {
      "seconds": MAX_RUN_DURATION
    },
    "instanceTerminationAction": "TERMINATION_ACTION",
    "onHostMaintenance": "TERMINATE",
  }
}

更改下列內容:

  • PROJECT_ID:您要在當中建立 VM 的專案 ID。
  • ZONE:您要使用的機器類型所在的可用區。如要指定密集配置政策,您必須使用與密集配置政策位於相同區域的可用區。 如需地區相關資訊,請參閱「各區域和可用區的 GPU 供應情形」。
  • MACHINE_TYPE:VM 要使用的機器類型。詳情請參閱「GPU 機器類型」。
  • VM_NAME:VM 的名稱。
  • DISK_SIZE:開機磁碟的大小,單位為 GB。
  • IMAGE_PROJECT:OS 映像檔的專案 ID。
  • IMAGE_FAMILY:您要使用的 OS 映像檔映像檔系列。 如需支援的作業系統清單,請參閱「作業系統詳細資料」。
  • NETWORK_PROJECT_ID:網路的專案 ID。
  • GVNIC_NAME_PREFIX:建立使用 gVNIC 的標準 VPC 網路和子網路時指定的名稱前置字元。
  • REGION:子網路的區域。
  • RDMA_NAME_PREFIX:建立使用 RDMA NIC 的虛擬私有雲網路和子網路時指定的名稱前置字元。
  • REQUEST_VALID_FOR_DURATION:建立 VM 的要求保持有效的時間長度 (以秒為單位)。

    根據工作負載的區域需求,指定下列其中一個時間長度,有助於提高 VM 建立要求成功的機率:

    • 有嚴格區域需求的工作負載:如果工作負載要求您在特定區域中建立 VM,請指定 90 秒 (90) 到兩小時 (7200) 的時間長度。時間長度越長,取得資源的機率就越高。
    • 沒有嚴格可用區需求的工作負載:如果 VM 可以在區域內的任何可用區執行,請指定零秒的持續時間 (0)。這項動作會指定 Compute Engine 僅在資源可立即使用時分配資源。如果資源無法使用,導致 VM 建立要求失敗,請在其他可用區重試要求。
  • MAX_RUN_DURATION:要求的 VM 執行時間長度。值必須以秒數格式表示。例如,如要指定 86,400 秒 (24 小時),請使用 86400。值必須介於 10 分鐘至 7 天之間。

  • TERMINATION_ACTION:Compute Engine 在 VM 執行時間結束時,是停止 (STOP) 還是刪除 (DELETE) VM。

取決於預留項目

提交要求前,請視需要將精簡刊登位置政策的欄位新增至要求內文。

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances
{
  "machineType": "projects/PROJECT_ID/zones/ZONE/machineTypes/MACHINE_TYPE",
  "name": "VM_NAME",
  "disks":[
    {
      "boot":true,
      "initializeParams":{
        "diskSizeGb": "DISK_SIZE",
        "diskType": "hyperdisk-balanced",
        "sourceImage": "projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY"
      },
      "mode": "READ_WRITE",
      "type": "PERSISTENT"
    }
  ],
  "serviceAccounts": [
    {
      "email": "default",
      "scopes": [
        "https://www.googleapis.com/auth/cloud-platform"
      ]
    }
  ],
  "networkInterfaces": [
    {
      "accessConfigs": [
        {
          "name": "external-nat",
          "type": "ONE_TO_ONE_NAT"
        }
      ],
      "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-0",
      "nicType": "GVNIC",
      "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-0"
    },
    {
      "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-1",
      "nicType": "GVNIC",
      "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-1"
    },
    {
      "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-2",
      "nicType": "GVNIC",
      "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-2"
    },
    {
      "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-3",
      "nicType": "GVNIC",
      "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-3"
    },
    {
      "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-4",
      "nicType": "GVNIC",
      "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-4"
    }
  ],
  "reservationAffinity":{
    "consumeReservationType": "SPECIFIC_RESERVATION",
    "key": "compute.googleapis.com/reservation-name",
    "values":[
      "RESERVATION"
    ]
  },
  "scheduling":{
    "provisioningModel": "RESERVATION_BOUND",
    "instanceTerminationAction": "TERMINATION_ACTION",
    "onHostMaintenance": "TERMINATE",
    "automaticRestart": true
  }
}

操作步驟如下:

  1. 更改下列內容:

    • PROJECT_ID:您要在當中建立 VM 的專案 ID。
    • ZONE:您要使用的機器類型所在的可用區。如要指定密集配置政策,您必須使用與密集配置政策位於相同區域的可用區。 如需地區相關資訊,請參閱「各區域和可用區的 GPU 供應情形」。
    • MACHINE_TYPE:VM 要使用的機器類型。詳情請參閱「GPU 機器類型」。
    • VM_NAME:VM 的名稱。
    • DISK_SIZE:開機磁碟的大小,單位為 GB。
    • IMAGE_PROJECT:OS 映像檔的專案 ID。
    • IMAGE_FAMILY:您要使用的 OS 映像檔映像檔系列。 如需支援的作業系統清單,請參閱「作業系統詳細資料」。
    • NETWORK_PROJECT_ID:網路的專案 ID。
    • GVNIC_NAME_PREFIX:建立使用 gVNIC 的標準 VPC 網路和子網路時指定的名稱前置字元。
    • REGION:子網路的區域。
    • RDMA_NAME_PREFIX:建立使用 RDMA NIC 的虛擬私有雲網路和子網路時指定的名稱前置字元。
    • RESERVATION:預留項目名稱或預留項目內的特定區塊。如要取得預留名稱或可用區塊,請參閱「查看預留容量」。根據執行個體放置位置的需求,選擇下列其中一個選項:
      • 如要在任何區塊建立執行個體,請按照下列步驟操作:

        projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME

        此外,如要在同一個區塊中建立多個執行個體,請在建立每個執行個體時,套用指定區塊並置 (maxDistance=2) 的相同精簡刊登位置政策。Compute Engine 隨後會將政策套用至預訂項目,並在同一個區塊中建立執行個體。

      • 如要在特定區塊上建立執行個體,請按照下列步驟操作:

        projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME/reservationBlocks/RESERVATION_BLOCK_NAME
    • TERMINATION_ACTION:Compute Engine 在預訂期間結束時,是停止 (STOP) 還是刪除 (DELETE) VM。

  2. 選用:如果您選擇使用精簡刊登位置政策,請在要求主體中新增下列欄位:

      "resourcePolicies": [
        "projects/PROJECT_ID/regions/REGION/resourcePolicies/POLICY_NAME"
      ]
    

    更改下列內容:

    • PROJECT_ID:精簡放置政策的專案 ID。
    • REGION:密集配置政策的區域。
    • POLICY_NAME:密集配置政策的名稱。
  3. 提交要求。

Spot

提交要求前,請視需要將精簡刊登位置政策的欄位新增至要求內文。

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances
{
  "machineType": "projects/PROJECT_ID/zones/ZONE/machineTypes/MACHINE_TYPE",
  "name": "VM_NAME",
  "disks":[
    {
      "boot":true,
      "initializeParams":{
        "diskSizeGb": "DISK_SIZE",
        "diskType": "hyperdisk-balanced",
        "sourceImage": "projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY"
      },
      "mode": "READ_WRITE",
      "type": "PERSISTENT"
    }
  ],
  "serviceAccounts": [
    {
      "email": "default",
      "scopes": [
        "https://www.googleapis.com/auth/cloud-platform"
      ]
    }
  ],
  "networkInterfaces": [
    {
      "accessConfigs": [
        {
          "name": "external-nat",
          "type": "ONE_TO_ONE_NAT"
        }
      ],
      "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-0",
      "nicType": "GVNIC",
      "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-0"
    },
    {
      "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-1",
      "nicType": "GVNIC",
      "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-1"
    },
    {
      "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-2",
      "nicType": "GVNIC",
      "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-2"
    },
    {
      "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-3",
      "nicType": "GVNIC",
      "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-3"
    },
    {
      "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-4",
      "nicType": "GVNIC",
      "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-4"
    }
  ],
  "scheduling":
  {
    "provisioningModel": "SPOT",
    "instanceTerminationAction": "TERMINATION_ACTION",
    "onHostMaintenance": "TERMINATE",
    "automaticRestart": false
  }
}

操作步驟如下:

  1. 更改下列內容:

    • PROJECT_ID:您要在當中建立 VM 的專案 ID。
    • ZONE:您要使用的機器類型所在的可用區。如要指定密集配置政策,您必須使用與密集配置政策位於相同區域的可用區。 如需地區相關資訊,請參閱「各區域和可用區的 GPU 供應情形」。
    • MACHINE_TYPE:VM 要使用的機器類型。詳情請參閱「GPU 機器類型」。
    • VM_NAME:VM 的名稱。
    • DISK_SIZE:開機磁碟的大小,單位為 GB。
    • IMAGE_PROJECT:OS 映像檔的專案 ID。
    • IMAGE_FAMILY:您要使用的 OS 映像檔映像檔系列。 如需支援的作業系統清單,請參閱「作業系統詳細資料」。
    • NETWORK_PROJECT_ID:網路的專案 ID。
    • GVNIC_NAME_PREFIX:建立使用 gVNIC 的標準 VPC 網路和子網路時指定的名稱前置字元。
    • REGION:子網路的區域。
    • RDMA_NAME_PREFIX:建立使用 RDMA NIC 的虛擬私有雲網路和子網路時指定的名稱前置字元。
    • TERMINATION_ACTION:Compute Engine 預先終止執行個體時採取的動作,可以是 STOP (預設) 或 DELETE

  2. 選用:如果您選擇使用精簡刊登位置政策,請在要求主體中新增下列欄位:

      "resourcePolicies": [
        "projects/PROJECT_ID/regions/REGION/resourcePolicies/POLICY_NAME"
      ]
    

    更改下列內容:

    • PROJECT_ID:精簡放置政策的專案 ID。
    • REGION:密集配置政策的區域。
    • POLICY_NAME:密集配置政策的名稱。
  3. 提交要求。

後續步驟