建立 AI 適用的 A4 或 A3 Ultra MIG

本文說明如何建立使用 A4 或 A3 Ultra 機型的代管執行個體群組 (MIG)。如要進一步瞭解這些加速器最佳化機型,請參閱 A4 或 A3 Ultra。

建立 MIG 後,您就能將多部虛擬機器 (VM) 視為單一實體來管理。MIG 中的每個 VM 都是以執行個體範本為基礎。MIG 會自動管理群組中的 VM,提供高可用性和擴充性。如要進一步瞭解 MIG,請參閱 Compute Engine 說明文件中的「代管執行個體群組」。

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

限制

使用 A4 或 A3 Ultra VM 建立 MIG 時,請考量機型和 MIG 的限制。

A4 或 A3 Ultra VM 的限制

視 MIG 中 VM 使用的機器系列而定,適用下列限制:

A4

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

A3 Ultra

  • 使用 A3 Ultra 機型的執行個體不適用續用折扣和彈性承諾使用折扣。
  • A3 Ultra 機型僅適用於特定區域和可用區。
  • 您無法使用 Persistent Disk (區域性或可用區)。您只能使用 Google Cloud Hyperdisk。
  • A3 Ultra 機型僅適用於 Emerald Rapids CPU 平台。
  • 無法變更 A3 Ultra 機型。如要切換至或切換出這個機器類型,您必須建立新的執行個體。
  • 您無法在 A3 Ultra 機型上執行 Windows 作業系統。
  • A3 Ultra 機型不支援單一租戶。
  • 如果是 A3 Ultra 執行個體,當您使用 ethtool -S 監控 GPU 網路時,以 _phy 結尾的實體通訊埠計數器不會更新。對於使用 MRDMA 虛擬函式 (VF) 架構的執行個體,這是預期行為。詳情請參閱「MRDMA 函式和網路監控工具」。

MIG 的限制

使用 A4 或 A3 Ultra VM 建立 MIG 時,須遵守下列限制:

  • 您必須按照本文說明,關閉 MIG 的修復功能。

MIG 大小調整要求的限制

MIG 大小調整要求有下列限制:

詳情請參閱大小調整要求的所有限制。

事前準備

建立 MIG 前,請先完成下列步驟 (如已完成,請略過):

  1. 選擇使用模式:您選擇的使用模式會決定如何取得及使用 GPU 資源。詳情請參閱「選擇消耗選項」。
  2. 取得容量:取得容量的程序因消費選項而異。如要瞭解如何為所選用量方案取得運算資源,請參閱「運算資源總覽」。
  3. 驗證 Google API 服務代理權限:在 MIG 中建立 VM 時,Compute Engine 會使用專案中的 Google API 服務代理 (PROJECT_NUMBER@cloudservices.gserviceaccount.com)。如果執行個體範本使用其他專案的資源,請確認這個服務代理具備必要權限:

必要的角色

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

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

所需權限

必須具備下列權限,才能建立 MIG:

  • 如要建立 MIG: compute.instanceGroupManagers.create 在專案中

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

總覽

使用 A4 或 A3 Ultra 機型建立 MIG 的步驟如下:

  1. 建立虛擬私有雲網路
  2. 選用:建立工作負載政策
  3. 建立執行個體範本
  4. 建立 MIG
  5. 安裝 GPU 驅動程式
  6. 選用:啟用 NVIDIA 多實體 GPU 模式

建立虛擬私有雲網路

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

  • 2 個一般虛擬私有雲網路,用於 gVNIC 網路介面 (NIC)。NIC 接著會使用這些虛擬私有雲網路進行主機對主機通訊。
  • 1 個虛擬私有雲網路,具有 RoCE 網路設定檔 ,適用於 CX-7 NIC。 VM 執行個體的 RoCE 虛擬私有雲網路必須有 8 個子網路,每個 CX-7 NIC 各一個子網路。這些 NIC 採用基於融合乙太網路的 RDMA (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
    
    
        #!/bin/bash
    
        # 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 RDMA NICs
        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
    
          
  2. 更改下列內容:

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

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

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

選用:建立工作負載政策

如要將 VM 放在單一或相鄰區塊,請建立工作負載政策來指定 VM 配置。不過,如果您希望 Compute Engine 將 VM 放在特定區塊,請略過這個步驟,並在建立執行個體範本時,在預留項目相似度中提供區塊名稱。

如要建立工作負載政策,請選取下列任一選項:

gcloud

如要建立工作負載政策,請使用 gcloud compute resource-policies create workload-policy 指令。

  • 如要盡可能以最合適的方式配置 A4 VM,請在指令中指定 --type=high-throughput 旗標:

    gcloud compute resource-policies create workload-policy WORKLOAD_POLICY_NAME \
        --type=high-throughput \
        --region=REGION
    
  • 如要嚴格共置 A4 或 A3 Ultra VM,請在指令中指定 --max-topology-distance 和 --type=high-throughput 旗標:

    gcloud compute resource-policies create workload-policy WORKLOAD_POLICY_NAME \
        --type=high-throughput \
        --max-topology-distance=TOPOLOGY_DISTANCE \
        --region=REGION
    

更改下列內容:

  • WORKLOAD_POLICY_NAME:工作負載政策的名稱。
  • TOPOLOGY_DISTANCE:拓撲距離上限。請指定下列其中一個值:
    • 如要將 A4 或 A3 Ultra VM 放在同一個子區塊:SUBBLOCK
    • 如要將 A4 或 A3 Ultra VM 放在同一個區塊:BLOCK
    • 如要將 A4 VM 放在同一個叢集: CLUSTER
    注意:如果縮短最大距離,VM 可用性的機率可能會降低。詳情請參閱「拓撲距離上限屬性」。
  • REGION:要建立工作負載政策的區域。指定要建立 MIG 的區域,以及要使用的可用機型。如要瞭解區域,請參閱「依區域和可用區劃分的 GPU 可用性」。

REST

如要建立工作負載政策,請向 resourcePolicies.insert 方法發出 POST 要求。

  • 如要盡可能妥善放置 A4 VM,請在要求中指定 type 欄位,如下所示:

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/resourcePolicies
      {
        "name": "WORKLOAD_POLICY_NAME"
        "workloadPolicy": {
          "type": "HIGH_THROUGHPUT"
        }
      }
    
  • 如要嚴格共置 A4 或 A3 Ultra VM,請在要求中指定 maxTopologyDistance 和 type 欄位,如下所示:

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/resourcePolicies
      {
        "name": "WORKLOAD_POLICY_NAME"
        "workloadPolicy": {
          "type": "HIGH_THROUGHPUT",
          "maxTopologyDistance": "TOPOLOGY_DISTANCE"
        }
      }
    

更改下列內容:

  • PROJECT_ID:專案 ID
  • REGION:要建立工作負載政策的區域。指定要建立 MIG 的區域,以及要使用的可用機型。如要瞭解區域,請參閱「各區域和可用區的 GPU 供應情形」。
  • WORKLOAD_POLICY_NAME:工作負載政策的名稱。
  • TOPOLOGY_DISTANCE:拓撲距離上限。請指定下列其中一個值:
    • 如要將 A4 或 A3 Ultra VM 放在同一個子區塊:SUBBLOCK
    • 如要將 A4 或 A3 Ultra VM 放在同一個區塊:BLOCK
    • 如要將 A4 VM 放在同一個叢集:CLUSTER
    注意:如果縮短最大距離,VM 可用性的機率可能會降低。詳情請參閱「拓撲距離上限屬性」。

建立執行個體範本

建立執行個體範本,指定 MIG 的 VM 屬性。

如要建立執行個體範本,請選取下列其中一個選項:

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

gcloud

如要建立區域性執行個體範本,請使用 gcloud compute instance-templates create 指令。

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

預留項目

A4 或 A3 Ultra 執行個體支援下列預留類型:

  • 預留未來容量區塊
  • 日曆模式的未來預留項目

如要使用這類預留項目,執行個體必須採用取決於預留項目的佈建模式。舉例來說,請使用下列建立參數。

gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \
    --machine-type=MACHINE_TYPE \
    --image-family=IMAGE_FAMILY \
    --image-project=IMAGE_PROJECT \
    --instance-template-region=REGION \
    --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=DELETE \
    --maintenance-policy=TERMINATE \
    --restart-on-failure

更改下列內容:

  • INSTANCE_TEMPLATE_NAME:執行個體範本的名稱。
  • MACHINE_TYPE:A4 或 A3 Ultra 執行個體要使用的機型。詳情請參閱 Compute Engine 說明文件中的「GPU 機型」。
  • IMAGE_FAMILY:要使用的 OS 映像檔系列。如需所有支援作業系統的清單,請參閱「支援的作業系統」。
  • IMAGE_PROJECT:OS 映像檔的專案 ID。
  • REGION:要建立執行個體範本的區域。指定要使用的機器類型所在的區域。如要瞭解區域,請參閱「依區域和可用區劃分的 GPU 可用性」。
  • DISK_SIZE:開機磁碟大小 (GB)。詳情請依磁碟類型參閱「Google Cloud Hyperdisk 大小限制」或「永久磁碟大小限制」。
  • GVNIC_NAME_PREFIX:建立使用 gVNIC NIC 的標準虛擬私有雲網路和子網路時,指定的名稱前置字串。
  • RDMA_NAME_PREFIX:建立使用 RDMA NIC 的虛擬私有雲網路和子網路時,指定的名稱前置字串。
  • RESERVATION:預留項目名稱或預留項目中的特定區塊。如要取得預留項目名稱或可用區塊,請參閱「查看預留容量」。請根據執行個體放置需求,選擇下列其中一項:
    • 如要在多個區塊或單一區塊建立執行個體,請按照下列步驟操作:

      projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME

      此外,如要使用單一區塊,請套用指定區塊配置 (maxTopologyDistance=BLOCK) 的工作負載政策,建立 MIG。Compute Engine 隨後會將政策套用至預留項目,並在同一個區塊上建立執行個體。

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

      projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME/reservationBlocks/RESERVATION_BLOCK_NAME

彈性啟動

gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \
    --machine-type=MACHINE_TYPE \
    --image-family=IMAGE_FAMILY \
    --image-project=IMAGE_PROJECT \
    --instance-template-region=REGION \
    --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 \
    --instance-termination-action=DELETE \
    --max-run-duration=RUN_DURATION \
    --maintenance-policy=TERMINATE \
    --provisioning-model=FLEX_START

更改下列內容:

  • INSTANCE_TEMPLATE_NAME:執行個體範本的名稱。
  • MACHINE_TYPE:A4 或 A3 Ultra 執行個體要使用的機型。詳情請參閱 Compute Engine 說明文件中的「GPU 機型」。
  • IMAGE_FAMILY:要使用的 OS 映像檔系列。如需所有支援作業系統的清單,請參閱「支援的作業系統」。
  • IMAGE_PROJECT:OS 映像檔的專案 ID。
  • REGION:要建立執行個體範本的區域。指定要使用的機器類型所在的區域。如要瞭解區域,請參閱「依區域和可用區劃分的 GPU 可用性」。
  • DISK_SIZE:開機磁碟大小 (GB)。詳情請依磁碟類型參閱「Google Cloud Hyperdisk 大小限制」或「永久磁碟大小限制」。
  • GVNIC_NAME_PREFIX:建立使用 gVNIC NIC 的標準虛擬私有雲網路和子網路時,指定的名稱前置字串。
  • RDMA_NAME_PREFIX:建立使用 RDMA NIC 的虛擬私有雲網路和子網路時,指定的名稱前置字串。
  • RUN_DURATION:要求的 VM 執行時間長度。值的格式必須是天數、小時數、分鐘數或秒數,後面分別加上 d、h、m 和 s。舉例來說,指定 30m 代表 30 分鐘,指定 1d2h3m4s 則代表一天兩小時三分四秒。值必須介於 10 分鐘至 7 天之間。

Spot

gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \
    --machine-type=MACHINE_TYPE \
    --image-family=IMAGE_FAMILY \
    --image-project=IMAGE_PROJECT \
    --instance-template-region=REGION \
    --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

更改下列內容:

  • INSTANCE_TEMPLATE_NAME:執行個體範本的名稱。
  • MACHINE_TYPE:A4 或 A3 Ultra 執行個體要使用的機型。詳情請參閱 Compute Engine 說明文件中的「GPU 機型」。
  • IMAGE_FAMILY:要使用的 OS 映像檔系列。如需所有支援作業系統的清單,請參閱「支援的作業系統」。
  • IMAGE_PROJECT:OS 映像檔的專案 ID。
  • REGION:要建立執行個體範本的區域。指定要使用的機器類型所在的區域。如要瞭解區域,請參閱「依區域和可用區劃分的 GPU 可用性」。
  • DISK_SIZE:開機磁碟大小 (GB)。詳情請依磁碟類型參閱「Google Cloud Hyperdisk 大小限制」或「永久磁碟大小限制」。
  • GVNIC_NAME_PREFIX:建立使用 gVNIC NIC 的標準虛擬私有雲網路和子網路時,指定的名稱前置字串。
  • RDMA_NAME_PREFIX:建立使用 RDMA NIC 的虛擬私有雲網路和子網路時,指定的名稱前置字串。
  • TERMINATION_ACTION:Compute Engine 搶占執行個體時要採取的動作,可以是 STOP (預設) 或 DELETE。

REST

如要建立區域執行個體範本,請向 regionInstanceTemplates.insert 方法發出 POST 要求。

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

預留項目

A4 或 A3 Ultra 執行個體支援下列預留類型:

  • 預留未來容量區塊
  • 日曆模式的未來預留項目

如要使用這類預留項目,執行個體必須採用取決於預留項目的佈建模式。舉例來說,請使用下列建立參數。

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceTemplates
{
  "name": "INSTANCE_TEMPLATE_NAME",
  "properties": {
    "machineType": "MACHINE_TYPE",
    "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/RDMA_NAME_PREFIX-mrdma",
        "nicType": "MRDMA",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-0"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
        "nicType": "MRDMA",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-1"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
        "nicType": "MRDMA",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-2"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
        "nicType": "MRDMA",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-3"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
        "nicType": "MRDMA",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-4"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
        "nicType": "MRDMA",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-5"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
        "nicType": "MRDMA",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-6"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
        "nicType": "MRDMA",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-7"
      }
    ],
    "reservationAffinity": {
        "consumeReservationType": "SPECIFIC_RESERVATION",
        "key": "compute.googleapis.com/reservation-name",
        "values": [
          "RESERVATION"
        ]
      },
    "scheduling": {
        "provisioningModel": "RESERVATION_BOUND",
        "instanceTerminationAction": "DELETE",
        "onHostMaintenance": "TERMINATE",
        "automaticRestart": true
      }
  }
}

更改下列內容:

  • INSTANCE_TEMPLATE_NAME:執行個體範本的名稱。
  • MACHINE_TYPE:A4 或 A3 Ultra 執行個體要使用的機型。詳情請參閱 Compute Engine 說明文件中的「GPU 機型」。
  • IMAGE_FAMILY:要使用的 OS 映像檔系列。如需所有支援作業系統的清單,請參閱「支援的作業系統」。
  • IMAGE_PROJECT:OS 映像檔的專案 ID。
  • REGION:要建立執行個體範本的區域。指定提供您要使用機器類型的區域。如要瞭解區域,請參閱「各區域和可用區的 GPU 供應情形」。
  • DISK_SIZE:開機磁碟大小 (GB)。詳情請依磁碟類型參閱「Google Cloud Hyperdisk 大小限制」或「永久磁碟大小限制」。
  • NETWORK_PROJECT_ID:網路的專案 ID。
  • GVNIC_NAME_PREFIX:建立使用 gVNIC NIC 的標準虛擬私有雲網路和子網路時,指定的名稱前置字串。
  • REGION:子網路的區域。
  • RDMA_NAME_PREFIX:建立使用 RDMA NIC 的虛擬私有雲網路和子網路時,指定的名稱前置字串。
  • RESERVATION:預留項目名稱或預留項目中的特定區塊。如要取得預留項目名稱或可用區塊,請參閱「查看預留容量」。請根據執行個體放置需求,選擇下列其中一項:
    • 如要在多個區塊或單一區塊建立執行個體,請按照下列步驟操作:

      projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME

      此外,如要使用單一區塊,請套用指定區塊配置 (maxTopologyDistance=BLOCK) 的工作負載政策,建立 MIG。Compute Engine 隨後會將政策套用至預留項目,並在同一個區塊上建立執行個體。

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

      projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME/reservationBlocks/RESERVATION_BLOCK_NAME

彈性啟動

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceTemplates
{
  "name": "INSTANCE_TEMPLATE_NAME",
  "properties": {
    "machineType": "MACHINE_TYPE",
    "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/RDMA_NAME_PREFIX-mrdma",
        "nicType": "MRDMA",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-0"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
        "nicType": "MRDMA",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-1"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
        "nicType": "MRDMA",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-2"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
        "nicType": "MRDMA",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-3"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
        "nicType": "MRDMA",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-4"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
        "nicType": "MRDMA",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-5"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
        "nicType": "MRDMA",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-6"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
        "nicType": "MRDMA",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-7"
      }
    ],
    "scheduling": {
        "instanceTerminationAction": "DELETE",
        "maxRunDuration": {
          "seconds": RUN_DURATION
        },
        "onHostMaintenance": "TERMINATE",
        "provisioningModel": "FLEX_START"
      }

  }
}

更改下列內容:

  • INSTANCE_TEMPLATE_NAME:執行個體範本的名稱。
  • MACHINE_TYPE:A4 或 A3 Ultra 執行個體要使用的機型。詳情請參閱 Compute Engine 說明文件中的「GPU 機型」。
  • IMAGE_FAMILY:要使用的 OS 映像檔系列。如需所有支援作業系統的清單,請參閱「支援的作業系統」。
  • IMAGE_PROJECT:OS 映像檔的專案 ID。
  • REGION:要建立執行個體範本的區域。指定提供您要使用機器類型的區域。如要瞭解區域,請參閱「各區域和可用區的 GPU 供應情形」。
  • DISK_SIZE:開機磁碟大小 (GB)。詳情請依磁碟類型參閱「Google Cloud Hyperdisk 大小限制」或「永久磁碟大小限制」。
  • NETWORK_PROJECT_ID:網路的專案 ID。
  • GVNIC_NAME_PREFIX:建立使用 gVNIC NIC 的標準虛擬私有雲網路和子網路時,指定的名稱前置字串。
  • REGION:子網路的區域。
  • RDMA_NAME_PREFIX:建立使用 RDMA NIC 的虛擬私有雲網路和子網路時,指定的名稱前置字串。
  • RUN_DURATION:要求的 VM 應執行的時間長度,以秒為單位。值必須介於 600 (600 秒,即 10 分鐘) 和 604800 (604,800 秒,即 7 天) 之間。

Spot

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceTemplates
{
  "name": "INSTANCE_TEMPLATE_NAME",
  "properties": {
    "machineType": "MACHINE_TYPE",
    "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/RDMA_NAME_PREFIX-mrdma",
        "nicType": "MRDMA",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-0"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
        "nicType": "MRDMA",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-1"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
        "nicType": "MRDMA",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-2"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
        "nicType": "MRDMA",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-3"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
        "nicType": "MRDMA",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-4"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
        "nicType": "MRDMA",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-5"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
        "nicType": "MRDMA",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-6"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
        "nicType": "MRDMA",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-7"
      }
    ],
    "scheduling":
    {
      "provisioningModel": "SPOT",
      "instanceTerminationAction": "TERMINATION_ACTION",
      "onHostMaintenance": "TERMINATE",
      "automaticRestart": false
    }
  }
}

更改下列內容:

  • INSTANCE_TEMPLATE_NAME:執行個體範本的名稱。
  • MACHINE_TYPE:A4 或 A3 Ultra 執行個體要使用的機型。詳情請參閱 Compute Engine 說明文件中的「GPU 機型」。
  • IMAGE_FAMILY:要使用的 OS 映像檔系列。如需所有支援作業系統的清單,請參閱「支援的作業系統」。
  • IMAGE_PROJECT:OS 映像檔的專案 ID。
  • REGION:要建立執行個體範本的區域。指定提供您要使用機器類型的區域。如要瞭解區域,請參閱「各區域和可用區的 GPU 供應情形」。
  • DISK_SIZE:開機磁碟大小 (GB)。詳情請依磁碟類型參閱「Google Cloud Hyperdisk 大小限制」或「永久磁碟大小限制」。
  • NETWORK_PROJECT_ID:網路的專案 ID。
  • GVNIC_NAME_PREFIX:建立使用 gVNIC NIC 的標準虛擬私有雲網路和子網路時,指定的名稱前置字串。
  • REGION:子網路的區域。
  • RDMA_NAME_PREFIX:建立使用 RDMA NIC 的虛擬私有雲網路和子網路時,指定的名稱前置字串。
  • TERMINATION_ACTION:Compute Engine 搶占執行個體時要採取的動作,可以是 STOP (預設) 或 DELETE。

建立執行個體範本後,您可以查看範本,瞭解其 ID 並檢查執行個體屬性。

建立 MIG

完成上述所有步驟後,請根據您的情境建立 MIG,如下所示:

情境 建立 MIG 和其中 VM 的方法 範例
您有多項或並行工作,可從任意數量的 VM 開始。 建立 MIG,並使用目標大小指定群組中所需的 VM 數量。

請參閱「建立具有目標大小的 MIG」。

機器學習推論工作
您有一項工作,需要分配到特定數量的 VM。 建立不含任何 VM 的 MIG,然後在 MIG 中建立大小調整要求。大小調整要求可協助您一次取得所有 VM。

請參閱「建立 MIG 和大小調整要求」。

分散式機器學習訓練和微調工作

建立具有目標大小的 MIG

如果不必一次建立所有 VM 就能啟動工作,請建立具有目標大小的 MIG。目標大小會決定 MIG 中的 VM 數量。MIG 會根據目前的資源可用性,開始建立 VM。如有任何資源暫時無法使用,MIG 會持續嘗試建立 VM,直到達到目標大小。

如要建立具有目標大小的 MIG,請選取下列其中一個選項:

gcloud

如要建立具有指定目標大小的 MIG,請使用 instance-groups managed create 指令。

建立 MIG 的指令會使用工作負載政策指定執行個體配置。如果不想使用工作負載政策,請移除 --workload-policy 旗標。

建立可用區或區域 MIG 的步驟如下:

  • 如要建立可用區 MIG,請使用下列指令:
    gcloud compute instance-groups managed create MIG_NAME \
      --template=INSTANCE_TEMPLATE_URL \
      --size=TARGET_SIZE \
      --workload-policy=WORKLOAD_POLICY_URL \
      --zone=ZONE
    
  • 如要建立區域性 MIG,請使用下列指令:
    gcloud compute instance-groups managed create MIG_NAME \
        --template=INSTANCE_TEMPLATE_URL \
        --size=TARGET_SIZE \
        --workload-policy=WORKLOAD_POLICY_URL \
        --region=REGION
    
更改下列內容:
  • MIG_NAME:MIG 的名稱。
  • INSTANCE_TEMPLATE_URL:您要用來在 MIG 中建立執行個體的執行個體範本網址。網址可以包含執行個體範本的 ID 或名稱。請指定下列其中一個值:
    • 區域性執行個體範本:projects/PROJECT_ID/regions/REGION/instanceTemplates/INSTANCE_TEMPLATE_ID
    • 全域執行個體範本:INSTANCE_TEMPLATE_ID
  • TARGET_SIZE:MIG 中要有的執行個體數量。
  • WORKLOAD_POLICY_URL:選用。工作負載政策的網址,例如 projects/example-project/regions/us-central1/resourcePolicies/example-workload-policy。如果不想使用工作負載政策,請移除 --workload-policy 旗標。
  • ZONE:要在其中建立 MIG 的可用區。如果使用工作負載政策,請指定政策區域內的可用區。
  • REGION:要建立 MIG 的區域。如果使用工作負載政策,請指定與政策相同的區域。如果是區域性 MIG,您可以使用 --zones 旗標指定該區域中的可用區,而非指定區域。

REST

如要建立指定目標大小的 MIG,請提出 POST 要求。

您用來建立 MIG 的要求會使用工作負載政策指定執行個體位置。如果不想使用工作負載政策,請移除 resourcePolicies.workloadPolicy 欄位。

建立可用區或區域 MIG 的步驟如下:

  • 如要建立可用區 MIG,請向 instanceGroupManagers.insert 方法發出 POST 要求。
    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers
    {
      "versions": [
        {
          "instanceTemplate": "INSTANCE_TEMPLATE_URL"
        }
      ],
      "name": "MIG_NAME",
      "targetSize": TARGET_SIZE,
      "resourcePolicies": {
        "workloadPolicy": "WORKLOAD_POLICY_URL"
      }
    }
    
  • 如要建立區域性 MIG,請向 regionInstanceGroupManagers.insert 方法發出 POST 要求。
      POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers
      {
        "name": "MIG_NAME",
        "instanceTemplate": "INSTANCE_TEMPLATE_URL",
        "targetSize": TARGET_SIZE,
        "resourcePolicies": {
          "workloadPolicy": "WORKLOAD_POLICY_URL"
        }
      }
    
更改下列內容:
  • PROJECT_ID:專案 ID。
  • ZONE:要在其中建立 MIG 的可用區。 如果使用工作負載政策,請指定政策區域內的可用區。
  • REGION:要建立 MIG 的區域。如果使用工作負載政策,請指定與政策相同的區域。
  • INSTANCE_TEMPLATE_URL:您要用來在 MIG 中建立執行個體的執行個體範本網址。網址可以包含執行個體範本的 ID 或名稱。請指定下列其中一個值:
    • 區域性執行個體範本:projects/PROJECT_ID/regions/REGION/instanceTemplates/INSTANCE_TEMPLATE_ID
    • 全域執行個體範本:INSTANCE_TEMPLATE_ID
  • MIG_NAME:MIG 的名稱。
  • TARGET_SIZE:MIG 中要有的執行個體數量。
  • WORKLOAD_POLICY_URL:選用。工作負載政策的網址,例如 projects/example-project/regions/us-central1/resourcePolicies/example-workload-policy。如果不想使用工作負載政策,請移除 resourcePolicies.workloadPolicy 欄位。

建立 MIG 和大小調整要求

如需一次啟動多個 VM 來執行工作,請建立 MIG,並按照本節說明在 MIG 中建立大小調整要求。

如要在 MIG 中建立大小調整要求,請選取下列其中一個選項:

gcloud

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

預留項目

建立 MIG 的指令會使用工作負載政策指定執行個體配置。如果不想使用工作負載政策,請移除 --workload-policy 旗標。

建立可用區或區域 MIG,以及大小調整要求,步驟如下:

  • 如要建立可用區 MIG 並在其中建立大小調整要求,請按照下列步驟操作:

    1. 使用 instance-groups managed create 指令建立可用區 MIG,如下所示。

      gcloud compute instance-groups managed create MIG_NAME \
          --template=INSTANCE_TEMPLATE_URL \
          --size=0 \
          --workload-policy=WORKLOAD_POLICY_URL \
          --zone=ZONE
      
    2. 使用 instance-groups managed resize-requests create 指令,在可用區 MIG 中建立大小調整要求,如下所示。這個指令會指定要建立的 VM 數量。如果工作負載需要特定 VM 名稱,請指定 VM 名稱清單來建立大小調整要求。

      gcloud compute instance-groups managed resize-requests create MIG_NAME \
          --resize-request=RESIZE_REQUEST_NAME \
          --resize-by=COUNT \
          --zone=ZONE
      
  • 如要建立區域 MIG 並在其中建立大小調整要求,請按照下列步驟操作:

    1. 使用 instance-groups managed create 指令建立區域性 MIG,如下所示。

      gcloud compute instance-groups managed create MIG_NAME \
          --template=INSTANCE_TEMPLATE_URL \
          --size=0 \
          --workload-policy=WORKLOAD_POLICY_URL \
          --zones=ZONE \
          --target-distribution-shape=any-single-zone \
          --instance-redistribution-type=none
        
    2. 使用 instance-groups managed resize-requests create 指令,在區域性 MIG 中建立大小調整要求,如下所示。這個指令會指定要建立的 VM 數量。如果工作負載需要特定 VM 名稱,請指定 VM 名稱清單來建立大小調整要求。

      gcloud compute instance-groups managed resize-requests create MIG_NAME \
          --resize-request=RESIZE_REQUEST_NAME \
          --resize-by=COUNT \
          --region=REGION
      

彈性啟動

建立可用區或區域 MIG,以及大小調整要求,步驟如下:

  • 如要建立可用區 MIG 並在其中建立大小調整要求,請按照下列步驟操作:

    1. 使用 instance-groups managed create 指令建立可用區 MIG,如下所示。

      gcloud compute instance-groups managed create MIG_NAME \
          --template=INSTANCE_TEMPLATE_URL \
          --size=0 \
          --default-action-on-vm-failure=do-nothing \
          --workload-policy=WORKLOAD_POLICY_URL \
          --zone=ZONE
      
    2. 使用 instance-groups managed resize-requests create 指令,在可用區 MIG 中建立大小調整要求,如下所示。這個指令會指定要建立的 VM 數量。如果工作負載需要特定 VM 名稱,請指定 VM 名稱清單來建立大小調整要求。

      gcloud compute instance-groups managed resize-requests create MIG_NAME \
          --resize-request=RESIZE_REQUEST_NAME \
          --resize-by=COUNT \
          --zone=ZONE
      
  • 如要建立區域 MIG 並在其中建立大小調整要求,請按照下列步驟操作:

    1. 使用 instance-groups managed create 指令建立區域性 MIG,如下所示。

      gcloud compute instance-groups managed create MIG_NAME \
          --template=INSTANCE_TEMPLATE_URL \
          --size=0 \
          --default-action-on-vm-failure=do-nothing \
      
          --workload-policy=WORKLOAD_POLICY_URL \
      
          --region=REGION \
          --target-distribution-shape=any-single-zone \
          --instance-redistribution-type=none \
          --workload-policy=WORKLOAD_POLICY_URL
        
    2. 使用 instance-groups managed resize-requests create 指令,在區域性 MIG 中建立大小調整要求,如下所示。這個指令會指定要建立的 VM 數量。如果工作負載需要特定 VM 名稱,請指定 VM 名稱清單來建立大小調整要求。

      gcloud compute instance-groups managed resize-requests create MIG_NAME \
          --resize-request=RESIZE_REQUEST_NAME \
          --resize-by=COUNT \
          --region=REGION
      

Spot

建立 MIG 的指令會使用工作負載政策指定執行個體配置。如果不想使用工作負載政策,請移除 --workload-policy 旗標。

建立可用區或區域 MIG,以及大小調整要求,步驟如下:

  • 如要建立可用區 MIG 並在其中建立大小調整要求,請按照下列步驟操作:

    1. 使用 instance-groups managed create 指令建立可用區 MIG,如下所示。

      gcloud compute instance-groups managed create MIG_NAME \
          --template=INSTANCE_TEMPLATE_URL \
          --size=0 \
          --workload-policy=WORKLOAD_POLICY_URL \
          --zone=ZONE
      
    2. 使用 instance-groups managed resize-requests create 指令,在可用區 MIG 中建立大小調整要求,如下所示。這個指令會指定要建立的 VM 數量。如果工作負載需要特定 VM 名稱,請指定 VM 名稱清單來建立大小調整要求。

      gcloud compute instance-groups managed resize-requests create MIG_NAME \
          --resize-request=RESIZE_REQUEST_NAME \
          --resize-by=COUNT \
          --zone=ZONE
      
  • 如要建立區域 MIG 並在其中建立大小調整要求,請按照下列步驟操作:

    1. 使用 instance-groups managed create 指令建立區域性 MIG,如下所示。

      gcloud compute instance-groups managed create MIG_NAME \
          --template=INSTANCE_TEMPLATE_URL \
          --size=0 \
          --workload-policy=WORKLOAD_POLICY_URL \
          --zones=ZONE \
          --target-distribution-shape=any-single-zone \
          --instance-redistribution-type=none
        
    2. 使用 instance-groups managed resize-requests create 指令,在區域性 MIG 中建立大小調整要求,如下所示。這個指令會指定要建立的 VM 數量。如果工作負載需要特定 VM 名稱,請指定 VM 名稱清單來建立大小調整要求。

      gcloud compute instance-groups managed resize-requests create MIG_NAME \
          --resize-request=RESIZE_REQUEST_NAME \
          --resize-by=COUNT \
          --region=REGION
      
請替換下列項目:
  • MIG_NAME:MIG 的名稱。
  • INSTANCE_TEMPLATE_URL:您要用來在 MIG 中建立執行個體的執行個體範本網址。網址可以包含執行個體範本的 ID 或名稱。請指定下列其中一個值:
    • 區域性執行個體範本:projects/PROJECT_ID/regions/REGION/instanceTemplates/INSTANCE_TEMPLATE_ID
    • 全域執行個體範本:INSTANCE_TEMPLATE_ID
  • WORKLOAD_POLICY_URL:選用。工作負載政策的網址,例如 projects/example-project/regions/us-central1/resourcePolicies/example-workload-policy。如果不想使用工作負載政策,請移除 --workload-policy 旗標。
  • ZONE:要建立 MIG 的可用區。如果是區域 MIG,也必須指定可用區。這個可用區必須是包含虛擬私有雲網路設定檔的可用區,且必須是提供機型的可用區。詳情請參閱「限制」一節。
  • RESIZE_REQUEST_NAME:大小調整要求的名稱,在指定 MIG 中不得重複。否則,系統將無法建立大小調整要求。
  • COUNT:一次要新增至 MIG 的執行個體數量。
  • REGION:要建立 MIG 的區域。

指定 VM 名稱清單,建立大小調整要求

如果工作負載需要特定 VM 名稱,請指定名稱清單來建立 VM。您指定的名稱數量會決定 MIG 一次建立的 VM 數量。

如要在 MIG 中建立具有特定 VM 名稱的大小調整要求,請使用 beta gcloud compute instance-groups managed resize-requests create 指令搭配 --instances 旗標:

  • 在可用區 MIG 中執行下列指令:

    gcloud beta compute instance-groups managed resize-requests create MIG_NAME \
        --resize-request=RESIZE_REQUEST_NAME \
        --instances=INSTANCE_NAMES \
        --zone=ZONE
    
  • 在區域性 MIG 中,執行下列指令:

    gcloud beta compute instance-groups managed resize-requests create MIG_NAME \
        --resize-request=RESIZE_REQUEST_NAME \
        --instances=INSTANCE_NAMES \
        --region=REGION
    
將 INSTANCE_NAMES 替換為以半形逗號分隔的 VM 名稱清單。例如:instance-1,instance-2,instance-3。

REST

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

預留項目

您用來建立 MIG 的要求會使用工作負載政策,指定執行個體配置。如果不想使用工作負載政策,請移除 resourcePolicies.workloadPolicy 欄位。

建立可用區或區域 MIG,以及大小調整要求,步驟如下:

  • 如要建立可用區 MIG 並在其中建立大小調整要求,請按照下列步驟操作:
    1. 如要建立可用區 MIG,請向 instanceGroupManagers.insert 方法提出 POST 要求,如下所示。
      POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers
      {
        "versions": [
          {
            "instanceTemplate": "INSTANCE_TEMPLATE_URL"
          }
        ],
        "name": "MIG_NAME",
        "targetSize": 0,
        "resourcePolicies": {
          "workloadPolicy": "WORKLOAD_POLICY_URL"
        }
      }
      
    2. 如要在可用區 MIG 中建立大小調整要求,請向 instanceGroupManagerResizeRequests.insert 方法提出 POST 要求,如下所示。這項要求會指定要建立的 VM 數量。如果工作負載需要特定 VM 名稱,請指定 VM 名稱清單來建立大小調整要求。
      POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/MIG_NAME/resizeRequests
      {
        "name": "RESIZE_REQUEST_NAME",
        "resizeBy": COUNT
      }
      
  • 如要建立區域 MIG 並在其中建立大小調整要求,請按照下列步驟操作:
    1. 如要建立區域性 MIG,請向 regionInstanceGroupManagers.insert 方法提出 POST 要求,如下所示。
      POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers
      {
        "versions": [
          {
            "instanceTemplate": "INSTANCE_TEMPLATE_URL"
          }
        ],
        "name": "MIG_NAME",
        "targetSize": 0,
        "distributionPolicy": {
          "targetShape": "ANY_SINGLE_ZONE",
          "zones": [
            {
              "zone": "projects/PROJECT_ID/zones/ZONE"
            }
          ]
        },
        "updatePolicy": {
          "instanceRedistributionType": "NONE"
        },
        "resourcePolicies": {
          "workloadPolicy": "WORKLOAD_POLICY_URL"
        }
      }
      
    2. 如要建立區域 MIG 的大小調整要求,請向 regionInstanceGroupManagerResizeRequests.insert 方法提出 POST 要求,如下所示。這項要求會指定要建立的 VM 數量。如果工作負載需要特定 VM 名稱,請指定 VM 名稱清單來建立大小調整要求。
      POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/MIG_NAME/resizeRequests
      {
        "name": "RESIZE_REQUEST_NAME",
        "resizeBy": COUNT
      }
      

彈性啟動

建立可用區或區域 MIG,以及大小調整要求,步驟如下:

  • 如要建立可用區 MIG 並在其中建立大小調整要求,請按照下列步驟操作:
    1. 如要建立可用區 MIG,請向 instanceGroupManagers.insert 方法提出 POST 要求,如下所示。
      POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers
      {
        "versions": [
          {
            "instanceTemplate": "INSTANCE_TEMPLATE_URL"
          }
        ],
        "name": "MIG_NAME",
        "targetSize": 0,
        "instanceLifecyclePolicy": {
          "defaultActionOnFailure": "DO_NOTHING"
        },
        "resourcePolicies": {
          "workloadPolicy": "WORKLOAD_POLICY_URL"
        }
      }
      
    2. 如要在可用區 MIG 中建立大小調整要求,請向 instanceGroupManagerResizeRequests.insert 方法提出 POST 要求,如下所示。這項要求會指定要建立的 VM 數量。如果工作負載需要特定 VM 名稱,請指定 VM 名稱清單來建立大小調整要求。
      POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/MIG_NAME/resizeRequests
      {
        "name": "RESIZE_REQUEST_NAME",
        "resizeBy": COUNT
      }
      
  • 如要建立區域 MIG 並在其中建立大小調整要求,請按照下列步驟操作:
    1. 如要建立區域性 MIG,請向 regionInstanceGroupManagers.insert 方法提出 POST 要求,如下所示。
      POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers
      {
        "versions": [
          {
            "instanceTemplate": "INSTANCE_TEMPLATE_URL"
          }
        ],
        "name": "MIG_NAME",
        "targetSize": 0,
        "distributionPolicy": {
          "targetShape": "ANY_SINGLE_ZONE",
          "zones": [
            {
              "zone": "projects/PROJECT_ID/zones/ZONE"
            }
          ]
        },
        "updatePolicy": {
          "instanceRedistributionType": "NONE"
        },
        "instanceLifecyclePolicy": {
          "defaultActionOnFailure": "DO_NOTHING"
        },
        "resourcePolicies": {
          "workloadPolicy": "WORKLOAD_POLICY_URL"
        }
      }
      
    2. 如要建立區域 MIG 的大小調整要求,請向 regionInstanceGroupManagerResizeRequests.insert 方法提出 POST 要求,如下所示。這項要求會指定要建立的 VM 數量。如果工作負載需要特定 VM 名稱,請指定 VM 名稱清單來建立大小調整要求。
      POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/MIG_NAME/resizeRequests
      {
        "name": "RESIZE_REQUEST_NAME",
        "resizeBy": COUNT
      }
      

Spot

您用來建立 MIG 的要求會使用工作負載政策指定執行個體位置。如果不想使用工作負載政策,請移除 resourcePolicies.workloadPolicy 欄位。

建立可用區或區域 MIG,以及大小調整要求,步驟如下:

  • 如要建立可用區 MIG 並在其中建立大小調整要求,請按照下列步驟操作:
    1. 如要建立可用區 MIG,請向 instanceGroupManagers.insert 方法提出 POST 要求,如下所示。
      POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers
      {
        "versions": [
          {
            "instanceTemplate": "INSTANCE_TEMPLATE_URL"
          }
        ],
        "name": "MIG_NAME",
        "targetSize": 0,
        "resourcePolicies": {
          "workloadPolicy": "WORKLOAD_POLICY_URL"
        }
      }
      
    2. 如要在可用區 MIG 中建立大小調整要求,請向 instanceGroupManagerResizeRequests.insert 方法提出 POST 要求,如下所示。這項要求會指定要建立的 VM 數量。如果工作負載需要特定 VM 名稱,請指定 VM 名稱清單來建立大小調整要求。
      POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/MIG_NAME/resizeRequests
      {
        "name": "RESIZE_REQUEST_NAME",
        "resizeBy": COUNT
      }
      
  • 如要建立區域 MIG 並在其中建立大小調整要求,請按照下列步驟操作:
    1. 如要建立區域性 MIG,請向 regionInstanceGroupManagers.insert 方法提出 POST 要求,如下所示。
      POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers
      {
        "versions": [
          {
            "instanceTemplate": "INSTANCE_TEMPLATE_URL"
          }
        ],
        "name": "MIG_NAME",
        "targetSize": 0,
        "distributionPolicy": {
          "targetShape": "ANY_SINGLE_ZONE",
          "zones": [
            {
              "zone": "projects/PROJECT_ID/zones/ZONE"
            }
          ]
        },
        "updatePolicy": {
          "instanceRedistributionType": "NONE"
        },
        "resourcePolicies": {
          "workloadPolicy": "WORKLOAD_POLICY_URL"
        }
      }
      
    2. 如要建立區域 MIG 的大小調整要求,請向 regionInstanceGroupManagerResizeRequests.insert 方法提出 POST 要求,如下所示。這項要求會指定要建立的 VM 數量。如果工作負載需要特定 VM 名稱,請指定 VM 名稱清單來建立大小調整要求。
      POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/MIG_NAME/resizeRequests
      {
        "name": "RESIZE_REQUEST_NAME",
        "resizeBy": COUNT
      }
      
請替換下列項目:
  • PROJECT_ID:專案 ID。
  • ZONE:要建立 MIG 的可用區。這個可用區必須與包含虛擬私有雲網路設定檔的可用區相同,且必須是可使用所選機型的可用區。詳情請參閱「限制」一節。
  • REGION:要建立 MIG 的區域。這個區域必須與虛擬私有雲網路設定檔所在的區域相同,且必須包含可使用所選機型的可用區。詳情請參閱「限制」一節。
  • INSTANCE_TEMPLATE_URL:您要用來在 MIG 中建立執行個體的執行個體範本網址。網址可以包含執行個體範本的 ID 或名稱。請指定下列其中一個值:
    • 區域性執行個體範本:projects/PROJECT_ID/regions/REGION/instanceTemplates/INSTANCE_TEMPLATE_ID
    • 全域執行個體範本:INSTANCE_TEMPLATE_ID
  • MIG_NAME:MIG 的名稱。
  • WORKLOAD_POLICY_URL:選用。工作負載政策的網址,例如 projects/example-project/regions/us-central1/resourcePolicies/example-workload-policy。如果不想使用工作負載政策,請移除 resourcePolicies.workloadPolicy 欄位。
  • RESIZE_REQUEST_NAME:大小調整要求的名稱,在指定 MIG 中不得重複。否則,系統將無法建立大小調整要求。
  • COUNT:一次要新增至 MIG 的執行個體數量

指定 VM 名稱清單,建立大小調整要求

如果工作負載需要特定 VM 名稱,請指定名稱清單來建立 VM。您指定的名稱數量會決定 MIG 一次建立的 VM 數量。

如要在 MIG 中建立具有特定 VM 名稱的大小調整要求,請使用下列其中一種方法:

舉例來說,如要指定兩個 VM 名稱,請在要求主體中加入下列內容:

{
  "name": "RESIZE_REQUEST_NAME",
  "instances": [
    {
      "name": "INSTANCE_NAME_1"
    },
    {
      "name": "INSTANCE_NAME_2"
    }
  ]
}

將 INSTANCE_NAME_1, INSTANCE_NAME_2 替換為 VM 名稱。

安裝 GPU 驅動程式

建立執行個體後,必須安裝正確的 GPU 驅動程式,執行個體才能使用 GPU。 如果您未指定包含 GPU 驅動程式的 OS 映像檔,請參閱 Compute Engine 說明文件中的「安裝 GPU 驅動程式」。

選用:啟用 NVIDIA 多實體 GPU 模式

多實體 GPU (MIG) 模式是可為支援的 NVIDIA GPU 啟用的功能。建立執行個體後,您可以在連接至機器的單一 GPU 上啟用 MIG 模式。啟用 MIG 模式後,單一 GPU 會分割為最多七個獨立 GPU 執行個體。每個執行個體會同時執行,且各自擁有記憶體、快取和串流多處理器。接著,您可以在這些 GPU 執行個體上平行執行不同的工作負載。 如要進一步瞭解如何使用 MIG 模式,請參閱 NVIDIA 說明文件中的多重執行個體 GPU (MIG) 使用手冊。

後續步驟