建立 AI 適用的 A3 High 或 A3 Mega MIG

本文說明如何建立代管執行個體群組 (MIG),並使用 A3 High 或 A3 Mega 加速器最佳化機型。如要進一步瞭解機器類型,請參閱「關於 GPU 加速器」一文。

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

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

限制

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

A3 Mega 或 A3 High VM 的限制

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

A3 Mega

A3 High

MIG 的限制

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

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

+ 如果您建立使用 RDMA 網路的區域性 MIG,則 MIG 只能在為 RDMA 設定網路設定檔的可用區中,建立 A3 Mega 或 A3 High 執行個體。

MIG 大小調整要求的限制

MIG 規模調整要求有以下限制:

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

事前準備

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

  1. 選擇計費方案:您選擇的計費方案會決定取得及使用 GPU 資源的方式。詳情請參閱「選擇消耗量選項」。
  2. 取得容量:取得容量的程序會因消費選項而異。如要瞭解如何為所選用量方案取得容量,請參閱「容量總覽」。

必要的角色

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

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

所需權限

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

  • 如要建立 MIG,請在專案上按一下 compute.instanceGroupManagers.create

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

總覽

使用 A3 Mega 或 A3 High (8 個 GPU) 機型建立 MIG 時,請按照下列步驟操作:

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

建立虛擬私有雲網路

如要為 GPU VM 啟用有效率的通訊功能,您需要建立管理網路和一或多個資料網路。管理網路用於外部存取 (例如 SSH) 和大多數一般網路通訊。資料網路用於不同 VM 上的 GPU 之間的高效能通訊,例如遠端直接記憶體存取 (RDMA) 流量。

對於這些虛擬私有雲網路,建議您將最大傳輸單元 (MTU) 設為較大的值。MTU 值越高,封包大小就越大,封包標頭的負擔也越小,因此酬載資料的總處理量會增加。如要進一步瞭解如何建立虛擬私有雲網路,請參閱「建立及驗證巨型封包 MTU 網路」。

建立管理網路、子網路和防火牆規則

請按照下列步驟設定管理網路:

  1. 使用 networks create 指令建立管理網路:

    gcloud compute networks create NETWORK_NAME_PREFIX-mgmt-net \
        --project=PROJECT_ID \
        --subnet-mode=custom \
        --mtu=8244
    
  2. 使用 networks subnets create 指令建立管理子網路:

    gcloud compute networks subnets create NETWORK_NAME_PREFIX-mgmt-sub \
        --project=PROJECT_ID \
        --network=NETWORK_NAME_PREFIX-mgmt-net \
        --region=REGION \
        --range=192.168.0.0/24
    
  3. 使用 firewall-rules create 指令建立防火牆規則。

    1. 為管理網路建立防火牆規則。

      gcloud compute firewall-rules create NETWORK_NAME_PREFIX-mgmt-internal \
          --project=PROJECT_ID \
          --network=NETWORK_NAME_PREFIX-mgmt-net \
          --action=ALLOW \
          --rules=tcp:0-65535,udp:0-65535,icmp \
          --source-ranges=192.168.0.0/16
      
    2. 建立 tcp:22 防火牆規則,限制哪些來源 IP 位址可透過 SSH 連線至 VM。

      gcloud compute firewall-rules create NETWORK_NAME_PREFIX-mgmt-external-ssh \
          --project=PROJECT_ID \
          --network=NETWORK_NAME_PREFIX-mgmt-net \
          --action=ALLOW \
          --rules=tcp:22 \
          --source-ranges=SSH_SOURCE_IP_RANGE
      
    3. 建立 icmp 防火牆規則,可用於檢查網路中的資料傳輸問題。

      gcloud compute firewall-rules create NETWORK_NAME_PREFIX-mgmt-external-ping \
          --project=PROJECT_ID \
          --network=NETWORK_NAME_PREFIX-mgmt-net \
          --action=ALLOW \
          --rules=icmp \
          --source-ranges=0.0.0.0/0
      

更改下列內容:

  • NETWORK_NAME_PREFIX:用於虛擬私有雲網路和子網路的名稱前置字串。
  • PROJECT_ID:您的專案 ID。
  • REGION:要建立網路的區域。
  • SSH_SOURCE_IP_RANGE:CIDR 格式的 IP 範圍。這會指定哪些來源 IP 位址可使用 SSH 連線至 VM。

建立資料網路、子網路和防火牆規則

資料網路數量取決於您建立的 GPU 機型類型。

A3 Mega

A3 Mega 需要八個資料網路。如要建立八個資料網路,每個網路都有子網路和防火牆規則,請使用下列指令。

for N in $(seq 1 8); do
gcloud compute networks create NETWORK_NAME_PREFIX-data-net-$N \
    --project=PROJECT_ID \
    --subnet-mode=custom \
    --mtu=8244

gcloud compute networks subnets create NETWORK_NAME_PREFIX-data-sub-$N \
    --project=PROJECT_ID \
    --network=NETWORK_NAME_PREFIX-data-net-$N \
    --region=REGION \
    --range=192.168.$N.0/24

gcloud compute firewall-rules create NETWORK_NAME_PREFIX-data-internal-$N \
    --project=PROJECT_ID \
    --network=NETWORK_NAME_PREFIX-data-net-$N \
    --action=ALLOW \
    --rules=tcp:0-65535,udp:0-65535,icmp \
    --source-ranges=192.168.0.0/16
done

A3 High

A3 High 需要四個資料網路。使用下列指令建立四個資料網路,每個網路都有子網路和防火牆規則。

for N in $(seq 1 4); do
gcloud compute networks create NETWORK_NAME_PREFIX-data-net-$N \
    --project=PROJECT_ID \
    --subnet-mode=custom \
    --mtu=8244

gcloud compute networks subnets create NETWORK_NAME_PREFIX-data-sub-$N \
    --project=PROJECT_ID \
    --network=NETWORK_NAME_PREFIX-data-net-$N \
    --region=REGION \
    --range=192.168.$N.0/24

gcloud compute firewall-rules create NETWORK_NAME_PREFIX-data-internal-$N \
    --project=PROJECT_ID \
    --network=NETWORK_NAME_PREFIX-data-net-$N \
    --action=ALLOW \
    --rules=tcp:0-65535,udp:0-65535,icmp \
    --source-ranges=192.168.0.0/16
done

選用:建立工作負載政策

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

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

gcloud

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

  • 如要盡量配置 VM,請在指令中指定 --type=high-throughput 標記:

    gcloud compute resource-policies create workload-policy WORKLOAD_POLICY_NAME \
        --type=high-throughput \
        --region=REGION
    
  • 如要嚴格共置 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:拓撲距離上限。請指定下列其中一個值:
    • 如要將 VM 放在同一個區塊,請按照下列步驟操作:BLOCK
    • 如要將 VM 放在同一個叢集中: CLUSTER
    注意:如果縮短最大距離,虛擬機器可用性的機率可能會降低。詳情請參閱「 拓撲距離上限屬性」。
  • REGION:要建立工作負載政策的區域。指定要建立 MIG 的區域,以及可用的機型。如需地區相關資訊,請參閱「各區域和可用區的 GPU 供應情形」。

REST

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

  • 如要盡量將 VM 放在最近的位置,請在要求中指定 type 欄位,如下所示:

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

    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:拓撲距離上限。請指定下列其中一個值:
    • 如要將 VM 放置在同一個區塊中,請按照下列步驟操作:BLOCK
    • 如要將 VM 放在同一個叢集中,請按照下列步驟操作:CLUSTER
    注意:縮短最大距離可能會降低 VM 可用性。詳情請參閱「拓撲距離上限屬性」。

建立執行個體範本

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

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

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

A3 Mega

如要為 A3 Mega VM 建立執行個體範本,您必須為 GPUDirect-TCPXO 流量指定八個額外的網路介面。如果尚未建立虛擬私有雲網路,請按照「建立虛擬私有雲網路」一文的說明,建立八個虛擬私有雲網路。

gcloud

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

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

預留項目

A3 Mega 或 A3 High (8 個 GPU) 執行個體支援多個預訂的佈建模型。選取與要使用的預訂類型對應的分頁。

  • 使用「取決於預留項目」參數,為下列項目指定「取決於預留項目」佈建模式:

    • AI Hypercomputer 的未來預留項目
    • 日曆模式的未來預留項目
  • 使用「標準預訂」參數,指定下列項目的標準佈建模型:

    • 隨需預留項目
    • 標準未來預留項目

取決於預留項目

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=GVNIC,network=GVNIC_NAME_PREFIX-net-2,subnet=GVNIC_NAME_PREFIX-sub-2,no-address \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-3,subnet=GVNIC_NAME_PREFIX-sub-3,no-address \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-4,subnet=GVNIC_NAME_PREFIX-sub-4,no-address \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-5,subnet=GVNIC_NAME_PREFIX-sub-5,no-address \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-6,subnet=GVNIC_NAME_PREFIX-sub-6,no-address \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-7,subnet=GVNIC_NAME_PREFIX-sub-7,no-address \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-8,subnet=GVNIC_NAME_PREFIX-sub-8,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:用於 A3 Mega 或 A3 High (8 個 GPU) 執行個體的機型。詳情請參閱 Compute Engine 說明文件中的「GPU 機器類型」。
  • IMAGE_FAMILY:您要使用的 OS 映像檔系列。 如需所有支援的作業系統清單,請參閱「支援的作業系統」。
  • IMAGE_PROJECT:OS 映像檔的專案 ID。
  • REGION:要建立執行個體範本的區域。指定您要使用的機型適用的區域。如需地區相關資訊,請參閱「各區域和可用區的 GPU 供應情形」。
  • DISK_SIZE:開機磁碟的大小,單位為 GB。詳情請參閱Google Cloud Hyperdisk 大小限制永久磁碟大小限制,視磁碟類型而定。
  • GVNIC_NAME_PREFIX:建立使用 gVNIC NIC 的標準 VPC 網路和子網路時指定的名稱前置字元。
  • 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=GVNIC,network=GVNIC_NAME_PREFIX-net-2,subnet=GVNIC_NAME_PREFIX-sub-2,no-address \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-3,subnet=GVNIC_NAME_PREFIX-sub-3,no-address \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-4,subnet=GVNIC_NAME_PREFIX-sub-4,no-address \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-5,subnet=GVNIC_NAME_PREFIX-sub-5,no-address \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-6,subnet=GVNIC_NAME_PREFIX-sub-6,no-address \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-7,subnet=GVNIC_NAME_PREFIX-sub-7,no-address \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-8,subnet=GVNIC_NAME_PREFIX-sub-8,no-address \
    --provisioning-model=STANDARD \
    --maintenance-policy=TERMINATE \
    --reservation-affinity=RESERVATION_AFFINITY \
    --reservation=RESERVATION

操作步驟如下:

  1. 更改下列內容:

    • INSTANCE_TEMPLATE_NAME:執行個體範本的名稱。
    • MACHINE_TYPE:用於 A3 Mega 或 A3 High (8 個 GPU) 執行個體的機型。詳情請參閱 Compute Engine 說明文件中的「GPU 機器類型」。
    • IMAGE_FAMILY:您要使用的 OS 映像檔系列。 如需所有支援的作業系統清單,請參閱「支援的作業系統」。
    • IMAGE_PROJECT:OS 映像檔的專案 ID。
    • REGION:要建立執行個體範本的區域。指定您要使用的機型適用的區域。如需地區相關資訊,請參閱「各區域和可用區的 GPU 供應情形」。
    • DISK_SIZE:開機磁碟的大小,單位為 GB。詳情請參閱Google Cloud Hyperdisk 大小限制永久磁碟大小限制,視磁碟類型而定。
    • GVNIC_NAME_PREFIX:建立使用 gVNIC NIC 的標準 VPC 網路和子網路時指定的名稱前置字元。
    • RESERVATION_AFFINITY:執行個體可使用的預留項目 (如適用)。指定下列其中一項:

      • any (預留容量為選用項目):這是預設選項。執行個體會嘗試使用自動使用預留項目的容量,但前提是必須有相符的預留容量。否則,執行個體會使用隨選容量。

      • specific (需要預留容量):要求執行個體使用明確指定的預留項目容量。 執行個體不得使用隨選容量。如果預留容量不足,執行個體建立作業就會失敗。

    • RESERVATION:要使用的預留項目。根據您為 RESERVATION_AFFINITY 指定的值,指定下列其中一個值:

      • 如果您指定 any,請將 RESERVATION 替換為空字串 ("")。或者,您也可以完全移除 --reservation 旗標。
      • 如果您指定 specific,請將 RESERVATION 替換為下列內容:

        projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME

        更改下列內容:

        • RESERVATION_OWNER_PROJECT_ID:建立預留項目的專案 ID。
        • RESERVATION_NAME:預訂名稱。
  2. 根據預設,如果執行個體當機,或 Compute Engine 因排程停止 (例如維護事件) 而停止執行個體,系統會自動重新啟動執行個體。如要停用自動重新啟動功能,請新增下列標記:

    --no-restart-on-failure
  3. 執行更改後的指令。

隨選

執行指令前,請先詳閱下列所有步驟,判斷是否要加入其他標記。

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=GVNIC,network=GVNIC_NAME_PREFIX-net-2,subnet=GVNIC_NAME_PREFIX-sub-2,no-address \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-3,subnet=GVNIC_NAME_PREFIX-sub-3,no-address \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-4,subnet=GVNIC_NAME_PREFIX-sub-4,no-address \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-5,subnet=GVNIC_NAME_PREFIX-sub-5,no-address \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-6,subnet=GVNIC_NAME_PREFIX-sub-6,no-address \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-7,subnet=GVNIC_NAME_PREFIX-sub-7,no-address \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-8,subnet=GVNIC_NAME_PREFIX-sub-8,no-address \
    --provisioning-model=STANDARD \
    --maintenance-policy=TERMINATE \
    --reservation-affinity=RESERVATION_AFFINITY

操作步驟如下:

  1. 更改下列內容:

    • INSTANCE_TEMPLATE_NAME:執行個體範本的名稱。
    • MACHINE_TYPE:用於 A3 Mega 或 A3 High (8 個 GPU) 執行個體的機型。詳情請參閱 Compute Engine 說明文件中的「GPU 機器類型」。
    • IMAGE_FAMILY:您要使用的 OS 映像檔系列。 如需所有支援的作業系統清單,請參閱「支援的作業系統」。
    • IMAGE_PROJECT:OS 映像檔的專案 ID。
    • REGION:要建立執行個體範本的區域。指定您要使用的機型適用的區域。如需地區相關資訊,請參閱「各區域和可用區的 GPU 供應情形」。
    • DISK_SIZE:開機磁碟的大小,單位為 GB。詳情請參閱Google Cloud Hyperdisk 大小限制永久磁碟大小限制,視磁碟類型而定。
    • GVNIC_NAME_PREFIX:建立使用 gVNIC NIC 的標準 VPC 網路和子網路時指定的名稱前置字元。
    • RESERVATION_AFFINITY:執行個體可使用的預留項目 (如適用)。指定下列其中一項:

      • any (預留容量為選用項目):這是預設選項。執行個體會嘗試使用自動使用預留項目的容量,但前提是必須有相符的預留容量。否則,執行個體會使用隨選容量。

      • none (必須使用隨需容量):禁止執行個體使用任何預留容量。

  2. 根據預設,如果執行個體當機,或 Compute Engine 因排程停止 (例如維護事件) 而停止執行個體,系統會自動重新啟動執行個體。如要停用自動重新啟動功能,請新增下列標記:

    --no-restart-on-failure
  3. 執行更改後的指令。

彈性啟動

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=GVNIC,network=GVNIC_NAME_PREFIX-net-2,subnet=GVNIC_NAME_PREFIX-sub-2,no-address \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-3,subnet=GVNIC_NAME_PREFIX-sub-3,no-address \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-4,subnet=GVNIC_NAME_PREFIX-sub-4,no-address \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-5,subnet=GVNIC_NAME_PREFIX-sub-5,no-address \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-6,subnet=GVNIC_NAME_PREFIX-sub-6,no-address \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-7,subnet=GVNIC_NAME_PREFIX-sub-7,no-address \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-8,subnet=GVNIC_NAME_PREFIX-sub-8,no-address \
    --reservation-affinity=none \
    --instance-termination-action=DELETE \
    --max-run-duration=RUN_DURATION \
    --maintenance-policy=TERMINATE \
    --provisioning-model=FLEX_START

更改下列內容:

  • INSTANCE_TEMPLATE_NAME:執行個體範本的名稱。
  • MACHINE_TYPE:用於 A3 Mega 或 A3 High (8 個 GPU) 執行個體的機型。詳情請參閱 Compute Engine 說明文件中的「GPU 機器類型」。
  • IMAGE_FAMILY:您要使用的 OS 映像檔系列。 如需所有支援的作業系統清單,請參閱「支援的作業系統」。
  • IMAGE_PROJECT:OS 映像檔的專案 ID。
  • REGION:要建立執行個體範本的區域。指定您要使用的機型適用的區域。如需地區相關資訊,請參閱「各區域和可用區的 GPU 供應情形」。
  • DISK_SIZE:開機磁碟的大小,單位為 GB。詳情請參閱Google Cloud Hyperdisk 大小限制永久磁碟大小限制,視磁碟類型而定。
  • GVNIC_NAME_PREFIX:建立使用 gVNIC NIC 的標準 VPC 網路和子網路時指定的名稱前置字元。
  • RUN_DURATION:您希望要求的 VM 執行的時間長度。您必須將值格式化為天數、時數、分鐘數或秒數,並分別加上 dhms。例如,指定 30m 代表 30 分鐘,或指定 1d2h3m4s 代表 1 天 2 小時 3 分 4 秒。值必須介於 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=GVNIC,network=GVNIC_NAME_PREFIX-net-2,subnet=GVNIC_NAME_PREFIX-sub-2,no-address \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-3,subnet=GVNIC_NAME_PREFIX-sub-3,no-address \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-4,subnet=GVNIC_NAME_PREFIX-sub-4,no-address \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-5,subnet=GVNIC_NAME_PREFIX-sub-5,no-address \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-6,subnet=GVNIC_NAME_PREFIX-sub-6,no-address \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-7,subnet=GVNIC_NAME_PREFIX-sub-7,no-address \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-8,subnet=GVNIC_NAME_PREFIX-sub-8,no-address \
    --provisioning-model=SPOT \
    --instance-termination-action=TERMINATION_ACTION \
    --maintenance-policy=TERMINATE \
    --no-restart-on-failure

更改下列內容:

  • INSTANCE_TEMPLATE_NAME:執行個體範本的名稱。
  • MACHINE_TYPE:用於 A3 Mega 或 A3 High (8 個 GPU) 執行個體的機型。詳情請參閱 Compute Engine 說明文件中的「GPU 機器類型」。
  • IMAGE_FAMILY:您要使用的 OS 映像檔系列。 如需所有支援的作業系統清單,請參閱「支援的作業系統」。
  • IMAGE_PROJECT:OS 映像檔的專案 ID。
  • REGION:要建立執行個體範本的區域。指定您要使用的機型適用的區域。如需地區相關資訊,請參閱「各區域和可用區的 GPU 供應情形」。
  • DISK_SIZE:開機磁碟的大小,單位為 GB。詳情請參閱Google Cloud Hyperdisk 大小限制永久磁碟大小限制,視磁碟類型而定。
  • GVNIC_NAME_PREFIX:建立使用 gVNIC NIC 的標準 VPC 網路和子網路時指定的名稱前置字元。
  • TERMINATION_ACTION:Compute Engine 預先終止執行個體時採取的動作,可以是 STOP (預設) 或 DELETE

REST

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

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

預留項目

A3 Mega 或 A3 High (8 個 GPU) 執行個體支援多個預訂的佈建模型。選取與要使用的預訂類型對應的分頁。

  • 使用「取決於預留項目」參數,為下列項目指定「取決於預留項目」佈建模式:

    • AI Hypercomputer 的未來預留項目
    • 日曆模式的未來預留項目
  • 使用「標準預訂」參數,指定下列項目的標準佈建模型:

    • 隨需預留項目
    • 標準未來預留項目

取決於預留項目

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/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"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-5",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-5"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-6",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-6"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-7",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-7"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-8",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-8"
      }
    ],
    "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:用於 A3 Mega 或 A3 High (8 個 GPU) 執行個體的機型。詳情請參閱 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 的標準 VPC 網路和子網路時指定的名稱前置字元。
  • REGION:子網路的區域。
  • 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/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"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-5",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-5"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-6",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-6"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-7",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-7"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-8",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-8"
      }
    ],
    "scheduling": {
    "provisioningModel": "STANDARD",
    "onHostMaintenance": "TERMINATE",
    "automaticRestart": AUTOMATIC_RESTART
  },
  "reservationAffinity": {
    "consumeReservationType": "RESERVATION_AFFINITY",
    "key": "compute.googleapis.com/reservation-name",
    "values": [
      "RESERVATION"
    ]
  }
  }
}

更改下列內容:

  • INSTANCE_TEMPLATE_NAME:執行個體範本的名稱。
  • MACHINE_TYPE:用於 A3 Mega 或 A3 High (8 個 GPU) 執行個體的機型。詳情請參閱 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 的標準 VPC 網路和子網路時指定的名稱前置字元。
  • REGION:子網路的區域。
  • AUTOMATIC_RESTART:如果執行個體當機,或 Compute Engine 因排定的停止作業 (例如維護事件) 而停止執行個體,則執行個體會自動重新啟動。指定 true 啟用自動重新啟動 (預設),或指定 false 停用自動重新啟動。

  • RESERVATION_AFFINITY:執行個體可使用的預留項目 (如適用)。指定下列其中一項:

    • ANY_RESERVATION (預留容量為選用項目):這是預設選項。執行個體會嘗試使用自動使用的預留項目容量,但前提是必須有相符的預留項目容量。否則,執行個體會使用隨選容量。

    • SPECIFIC_RESERVATION (需要預留容量):要求執行個體使用明確指定的預留項目容量。 執行個體不得使用隨選容量。如果預留容量不足,執行個體建立作業就會失敗。

  • RESERVATION:要使用的預留項目。根據您為 RESERVATION_AFFINITY 指定的值,指定下列其中一個值:

    • 如果您指定了 ANY_RESERVATION,請刪除 RESERVATION,讓值成為空字串 ("")。或者,您也可以完全移除 keyvalues 欄位。
    • 如果您指定 SPECIFIC_RESERVATION,請將 RESERVATION 替換為下列內容:

      projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME

      更改下列內容:

      • RESERVATION_OWNER_PROJECT_ID:建立預留項目的專案 ID。
      • RESERVATION_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/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"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-5",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-5"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-6",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-6"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-7",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-7"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-8",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-8"
      }
    ],
    "scheduling": {
    "provisioningModel": "STANDARD",
    "onHostMaintenance": "TERMINATE",
    "automaticRestart": AUTOMATIC_RESTART
  },
  "reservationAffinity": {
    "consumeReservationType": "RESERVATION_AFFINITY"
  }
  }
}

更改下列內容:

  • INSTANCE_TEMPLATE_NAME:執行個體範本的名稱。
  • MACHINE_TYPE:用於 A3 Mega 或 A3 High (8 個 GPU) 執行個體的機型。詳情請參閱 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 的標準 VPC 網路和子網路時指定的名稱前置字元。
  • REGION:子網路的區域。
  • AUTOMATIC_RESTART:如果執行個體當機,或 Compute Engine 因排定的停止作業 (例如維護事件) 而停止執行個體,則執行個體會自動重新啟動。指定 true 啟用自動重新啟動 (預設),或指定 false 停用自動重新啟動。

  • RESERVATION_AFFINITY:執行個體可使用的預留項目 (如適用)。指定下列其中一項:

    • ANY_RESERVATION (預留容量為選用項目):這是預設選項。執行個體會嘗試使用自動使用的預留項目容量,但前提是必須有相符的預留項目容量。否則,執行個體會使用隨選容量。

    • NO_RESERVATION (必須使用隨需容量):禁止執行個體使用任何預留容量。

彈性啟動

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/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"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-5",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-5"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-6",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-6"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-7",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-7"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-8",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-8"
      }
    ],
    "reservationAffinity": {
        "consumeReservationType": "NO_RESERVATION"
      },
    "scheduling": {
        "instanceTerminationAction": "DELETE",
        "maxRunDuration": {
          "seconds": RUN_DURATION
        },
        "onHostMaintenance": "TERMINATE",
        "provisioningModel": "FLEX_START"
      }

  }
}

更改下列內容:

  • INSTANCE_TEMPLATE_NAME:執行個體範本的名稱。
  • MACHINE_TYPE:用於 A3 Mega 或 A3 High (8 個 GPU) 執行個體的機型。詳情請參閱 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 的標準 VPC 網路和子網路時指定的名稱前置字元。
  • REGION:子網路的區域。
  • 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/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"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-5",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-5"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-6",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-6"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-7",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-7"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-8",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-8"
      }
    ],
    "scheduling":
    {
      "provisioningModel": "SPOT",
      "instanceTerminationAction": "TERMINATION_ACTION",
      "onHostMaintenance": "TERMINATE",
      "automaticRestart": false
    }
  }
}

更改下列內容:

  • INSTANCE_TEMPLATE_NAME:執行個體範本的名稱。
  • MACHINE_TYPE:用於 A3 Mega 或 A3 High (8 個 GPU) 執行個體的機型。詳情請參閱 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 的標準 VPC 網路和子網路時指定的名稱前置字元。
  • REGION:子網路的區域。
  • TERMINATION_ACTION:Compute Engine 預先終止執行個體時採取的動作,可以是 STOP (預設) 或 DELETE

A3 High

如要為 A3 High VM 建立執行個體範本,您必須為 GPUDirect-TCPX 流量指定四個額外的網路介面。如果尚未建立虛擬私有雲網路,請按照「建立虛擬私有雲網路」一文的說明,建立四個虛擬私有雲網路。

gcloud

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

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

預留項目

A3 Mega 或 A3 High (8 個 GPU) 執行個體支援多個預訂的佈建模型。選取與要使用的預訂類型對應的分頁。

  • 使用「取決於預留項目」參數,為下列項目指定「取決於預留項目」佈建模式:

    • AI Hypercomputer 的未來預留項目
    • 日曆模式的未來預留項目
  • 使用「標準預訂」參數,指定下列項目的標準佈建模型:

    • 隨需預留項目
    • 標準未來預留項目

取決於預留項目

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=GVNIC,network=GVNIC_NAME_PREFIX-net-2,subnet=GVNIC_NAME_PREFIX-sub-2,no-address \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-3,subnet=GVNIC_NAME_PREFIX-sub-3,no-address \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-4,subnet=GVNIC_NAME_PREFIX-sub-4,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:用於 A3 Mega 或 A3 High (8 個 GPU) 執行個體的機型。詳情請參閱 Compute Engine 說明文件中的「GPU 機器類型」。
  • IMAGE_FAMILY:您要使用的 OS 映像檔系列。 如需所有支援的作業系統清單,請參閱「支援的作業系統」。
  • IMAGE_PROJECT:OS 映像檔的專案 ID。
  • REGION:要建立執行個體範本的區域。指定您要使用的機型適用的區域。如需地區相關資訊,請參閱「各區域和可用區的 GPU 供應情形」。
  • DISK_SIZE:開機磁碟的大小,單位為 GB。詳情請參閱Google Cloud Hyperdisk 大小限制永久磁碟大小限制,視磁碟類型而定。
  • GVNIC_NAME_PREFIX:建立使用 gVNIC NIC 的標準 VPC 網路和子網路時指定的名稱前置字元。
  • 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=GVNIC,network=GVNIC_NAME_PREFIX-net-2,subnet=GVNIC_NAME_PREFIX-sub-2,no-address \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-3,subnet=GVNIC_NAME_PREFIX-sub-3,no-address \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-4,subnet=GVNIC_NAME_PREFIX-sub-4,no-address \
    --provisioning-model=STANDARD \
    --maintenance-policy=TERMINATE \
    --reservation-affinity=RESERVATION_AFFINITY \
    --reservation=RESERVATION

操作步驟如下:

  1. 更改下列內容:

    • INSTANCE_TEMPLATE_NAME:執行個體範本的名稱。
    • MACHINE_TYPE:用於 A3 Mega 或 A3 High (8 個 GPU) 執行個體的機型。詳情請參閱 Compute Engine 說明文件中的「GPU 機器類型」。
    • IMAGE_FAMILY:您要使用的 OS 映像檔系列。 如需所有支援的作業系統清單,請參閱「支援的作業系統」。
    • IMAGE_PROJECT:OS 映像檔的專案 ID。
    • REGION:要建立執行個體範本的區域。指定您要使用的機型適用的區域。如需地區相關資訊,請參閱「各區域和可用區的 GPU 供應情形」。
    • DISK_SIZE:開機磁碟的大小,單位為 GB。詳情請參閱Google Cloud Hyperdisk 大小限制永久磁碟大小限制,視磁碟類型而定。
    • GVNIC_NAME_PREFIX:建立使用 gVNIC NIC 的標準 VPC 網路和子網路時指定的名稱前置字元。
    • RESERVATION_AFFINITY:執行個體可使用的預留項目 (如適用)。指定下列其中一項:

      • any (預留容量為選用項目):這是預設選項。執行個體會嘗試使用自動使用預留項目的容量,但前提是必須有相符的預留容量。否則,執行個體會使用隨選容量。

      • specific (需要預留容量):要求執行個體使用明確指定的預留項目容量。 執行個體不得使用隨選容量。如果預留容量不足,執行個體建立作業就會失敗。

    • RESERVATION:要使用的預留項目。根據您為 RESERVATION_AFFINITY 指定的值,指定下列其中一個值:

      • 如果您指定 any,請將 RESERVATION 替換為空字串 ("")。或者,您也可以完全移除 --reservation 旗標。
      • 如果您指定 specific,請將 RESERVATION 替換為下列內容:

        projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME

        更改下列內容:

        • RESERVATION_OWNER_PROJECT_ID:建立預留項目的專案 ID。
        • RESERVATION_NAME:預訂名稱。
  2. 根據預設,如果執行個體當機,或 Compute Engine 因排程停止 (例如維護事件) 而停止執行個體,系統會自動重新啟動執行個體。如要停用自動重新啟動功能,請新增下列標記:

    --no-restart-on-failure
  3. 執行更改後的指令。

隨選

執行指令前,請先詳閱下列所有步驟,判斷是否要加入其他標記。

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=GVNIC,network=GVNIC_NAME_PREFIX-net-2,subnet=GVNIC_NAME_PREFIX-sub-2,no-address \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-3,subnet=GVNIC_NAME_PREFIX-sub-3,no-address \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-4,subnet=GVNIC_NAME_PREFIX-sub-4,no-address \
    --provisioning-model=STANDARD \
    --maintenance-policy=TERMINATE \
    --reservation-affinity=RESERVATION_AFFINITY

操作步驟如下:

  1. 更改下列內容:

    • INSTANCE_TEMPLATE_NAME:執行個體範本的名稱。
    • MACHINE_TYPE:用於 A3 Mega 或 A3 High (8 個 GPU) 執行個體的機型。詳情請參閱 Compute Engine 說明文件中的「GPU 機器類型」。
    • IMAGE_FAMILY:您要使用的 OS 映像檔系列。 如需所有支援的作業系統清單,請參閱「支援的作業系統」。
    • IMAGE_PROJECT:OS 映像檔的專案 ID。
    • REGION:要建立執行個體範本的區域。指定您要使用的機型適用的區域。如需地區相關資訊,請參閱「各區域和可用區的 GPU 供應情形」。
    • DISK_SIZE:開機磁碟的大小,單位為 GB。詳情請參閱Google Cloud Hyperdisk 大小限制永久磁碟大小限制,視磁碟類型而定。
    • GVNIC_NAME_PREFIX:建立使用 gVNIC NIC 的標準 VPC 網路和子網路時指定的名稱前置字元。
    • RESERVATION_AFFINITY:執行個體可使用的預留項目 (如適用)。指定下列其中一項:

      • any (預留容量為選用項目):這是預設選項。執行個體會嘗試使用自動使用預留項目的容量,但前提是必須有相符的預留容量。否則,執行個體會使用隨選容量。

      • none (必須使用隨需容量):禁止執行個體使用任何預留容量。

  2. 根據預設,如果執行個體當機,或 Compute Engine 因排程停止 (例如維護事件) 而停止執行個體,系統會自動重新啟動執行個體。如要停用自動重新啟動功能,請新增下列標記:

    --no-restart-on-failure
  3. 執行更改後的指令。

彈性啟動

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=GVNIC,network=GVNIC_NAME_PREFIX-net-2,subnet=GVNIC_NAME_PREFIX-sub-2,no-address \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-3,subnet=GVNIC_NAME_PREFIX-sub-3,no-address \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-4,subnet=GVNIC_NAME_PREFIX-sub-4,no-address \
    --reservation-affinity=none \
    --instance-termination-action=DELETE \
    --max-run-duration=RUN_DURATION \
    --maintenance-policy=TERMINATE \
    --provisioning-model=FLEX_START

更改下列內容:

  • INSTANCE_TEMPLATE_NAME:執行個體範本的名稱。
  • MACHINE_TYPE:用於 A3 Mega 或 A3 High (8 個 GPU) 執行個體的機型。詳情請參閱 Compute Engine 說明文件中的「GPU 機器類型」。
  • IMAGE_FAMILY:您要使用的 OS 映像檔系列。 如需所有支援的作業系統清單,請參閱「支援的作業系統」。
  • IMAGE_PROJECT:OS 映像檔的專案 ID。
  • REGION:要建立執行個體範本的區域。指定您要使用的機型適用的區域。如需地區相關資訊,請參閱「各區域和可用區的 GPU 供應情形」。
  • DISK_SIZE:開機磁碟的大小,單位為 GB。詳情請參閱Google Cloud Hyperdisk 大小限制永久磁碟大小限制,視磁碟類型而定。
  • GVNIC_NAME_PREFIX:建立使用 gVNIC NIC 的標準 VPC 網路和子網路時指定的名稱前置字元。
  • RUN_DURATION:您希望要求的 VM 執行的時間長度。您必須將值格式化為天數、時數、分鐘數或秒數,並分別加上 dhms。例如,指定 30m 代表 30 分鐘,或指定 1d2h3m4s 代表 1 天 2 小時 3 分 4 秒。值必須介於 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=GVNIC,network=GVNIC_NAME_PREFIX-net-2,subnet=GVNIC_NAME_PREFIX-sub-2,no-address \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-3,subnet=GVNIC_NAME_PREFIX-sub-3,no-address \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-4,subnet=GVNIC_NAME_PREFIX-sub-4,no-address \
    --provisioning-model=SPOT \
    --instance-termination-action=TERMINATION_ACTION \
    --maintenance-policy=TERMINATE \
    --no-restart-on-failure

更改下列內容:

  • INSTANCE_TEMPLATE_NAME:執行個體範本的名稱。
  • MACHINE_TYPE:用於 A3 Mega 或 A3 High (8 個 GPU) 執行個體的機型。詳情請參閱 Compute Engine 說明文件中的「GPU 機器類型」。
  • IMAGE_FAMILY:您要使用的 OS 映像檔系列。 如需所有支援的作業系統清單,請參閱「支援的作業系統」。
  • IMAGE_PROJECT:OS 映像檔的專案 ID。
  • REGION:要建立執行個體範本的區域。指定您要使用的機型適用的區域。如需地區相關資訊,請參閱「各區域和可用區的 GPU 供應情形」。
  • DISK_SIZE:開機磁碟的大小,單位為 GB。詳情請參閱Google Cloud Hyperdisk 大小限制永久磁碟大小限制,視磁碟類型而定。
  • GVNIC_NAME_PREFIX:建立使用 gVNIC NIC 的標準 VPC 網路和子網路時指定的名稱前置字元。
  • TERMINATION_ACTION:Compute Engine 預先終止執行個體時採取的動作,可以是 STOP (預設) 或 DELETE

REST

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

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

預留項目

A3 Mega 或 A3 High (8 個 GPU) 執行個體支援多個預訂的佈建模型。選取與要使用的預訂類型對應的分頁。

  • 使用「取決於預留項目」參數,為下列項目指定「取決於預留項目」佈建模式:

    • AI Hypercomputer 的未來預留項目
    • 日曆模式的未來預留項目
  • 使用「標準預訂」參數,指定下列項目的標準佈建模型:

    • 隨需預留項目
    • 標準未來預留項目

取決於預留項目

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/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": "DELETE",
        "onHostMaintenance": "TERMINATE",
        "automaticRestart": true
      }
  }
}

更改下列內容:

  • INSTANCE_TEMPLATE_NAME:執行個體範本的名稱。
  • MACHINE_TYPE:用於 A3 Mega 或 A3 High (8 個 GPU) 執行個體的機型。詳情請參閱 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 的標準 VPC 網路和子網路時指定的名稱前置字元。
  • REGION:子網路的區域。
  • 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/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": "STANDARD",
    "onHostMaintenance": "TERMINATE",
    "automaticRestart": AUTOMATIC_RESTART
  },
  "reservationAffinity": {
    "consumeReservationType": "RESERVATION_AFFINITY",
    "key": "compute.googleapis.com/reservation-name",
    "values": [
      "RESERVATION"
    ]
  }
  }
}

更改下列內容:

  • INSTANCE_TEMPLATE_NAME:執行個體範本的名稱。
  • MACHINE_TYPE:用於 A3 Mega 或 A3 High (8 個 GPU) 執行個體的機型。詳情請參閱 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 的標準 VPC 網路和子網路時指定的名稱前置字元。
  • REGION:子網路的區域。
  • AUTOMATIC_RESTART:如果執行個體當機,或 Compute Engine 因排定的停止作業 (例如維護事件) 而停止執行個體,則執行個體會自動重新啟動。指定 true 啟用自動重新啟動 (預設),或指定 false 停用自動重新啟動。

  • RESERVATION_AFFINITY:執行個體可使用的預留項目 (如適用)。指定下列其中一項:

    • ANY_RESERVATION (預留容量為選用項目):這是預設選項。執行個體會嘗試使用自動使用的預留項目容量,但前提是必須有相符的預留項目容量。否則,執行個體會使用隨選容量。

    • SPECIFIC_RESERVATION (需要預留容量):要求執行個體使用明確指定的預留項目容量。 執行個體不得使用隨選容量。如果預留容量不足,執行個體建立作業就會失敗。

  • RESERVATION:要使用的預留項目。根據您為 RESERVATION_AFFINITY 指定的值,指定下列其中一個值:

    • 如果您指定了 ANY_RESERVATION,請刪除 RESERVATION,讓值成為空字串 ("")。或者,您也可以完全移除 keyvalues 欄位。
    • 如果您指定 SPECIFIC_RESERVATION,請將 RESERVATION 替換為下列內容:

      projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME

      更改下列內容:

      • RESERVATION_OWNER_PROJECT_ID:建立預留項目的專案 ID。
      • RESERVATION_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/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": "STANDARD",
    "onHostMaintenance": "TERMINATE",
    "automaticRestart": AUTOMATIC_RESTART
  },
  "reservationAffinity": {
    "consumeReservationType": "RESERVATION_AFFINITY"
  }
  }
}

更改下列內容:

  • INSTANCE_TEMPLATE_NAME:執行個體範本的名稱。
  • MACHINE_TYPE:用於 A3 Mega 或 A3 High (8 個 GPU) 執行個體的機型。詳情請參閱 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 的標準 VPC 網路和子網路時指定的名稱前置字元。
  • REGION:子網路的區域。
  • AUTOMATIC_RESTART:如果執行個體當機,或 Compute Engine 因排定的停止作業 (例如維護事件) 而停止執行個體,則執行個體會自動重新啟動。指定 true 啟用自動重新啟動 (預設),或指定 false 停用自動重新啟動。

  • RESERVATION_AFFINITY:執行個體可使用的預留項目 (如適用)。指定下列其中一項:

    • ANY_RESERVATION (預留容量為選用項目):這是預設選項。執行個體會嘗試使用自動使用的預留項目容量,但前提是必須有相符的預留項目容量。否則,執行個體會使用隨選容量。

    • NO_RESERVATION (必須使用隨需容量):禁止執行個體使用任何預留容量。

彈性啟動

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/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": {
        "instanceTerminationAction": "DELETE",
        "maxRunDuration": {
          "seconds": RUN_DURATION
        },
        "onHostMaintenance": "TERMINATE",
        "provisioningModel": "FLEX_START"
      }

  }
}

更改下列內容:

  • INSTANCE_TEMPLATE_NAME:執行個體範本的名稱。
  • MACHINE_TYPE:用於 A3 Mega 或 A3 High (8 個 GPU) 執行個體的機型。詳情請參閱 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 的標準 VPC 網路和子網路時指定的名稱前置字元。
  • REGION:子網路的區域。
  • 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/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
    }
  }
}

更改下列內容:

  • INSTANCE_TEMPLATE_NAME:執行個體範本的名稱。
  • MACHINE_TYPE:用於 A3 Mega 或 A3 High (8 個 GPU) 執行個體的機型。詳情請參閱 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 的標準 VPC 網路和子網路時指定的名稱前置字元。
  • REGION:子網路的區域。
  • 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 的指令會使用工作負載政策指定執行個體放置位置。如不想使用工作負載政策,請移除 --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 中建立 MIG 和調整大小要求,請按照下列步驟操作:
    1. instanceGroupManagers.insert 方法發出 POST 要求,建立可用區 MIG,如下所示。
      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. regionInstanceGroupManagers.insert 方法發出 POST 要求,建立區域 MIG,如下所示。
      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 的要求會使用工作負載政策,指定執行個體放置位置。如果不想使用工作負載政策,請移除 resourcePolicies.workloadPolicy 欄位。

請按照下列步驟建立可用區或區域 MIG,以及規模調整要求:

  • 如要在可用區 MIG 中建立 MIG 和調整大小要求,請按照下列步驟操作:
    1. instanceGroupManagers.insert 方法發出 POST 要求,建立可用區 MIG,如下所示。
      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. regionInstanceGroupManagers.insert 方法發出 POST 要求,建立區域 MIG,如下所示。
      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 中建立 MIG 和調整大小要求,請按照下列步驟操作:
    1. instanceGroupManagers.insert 方法發出 POST 要求,建立可用區 MIG,如下所示。
      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. regionInstanceGroupManagers.insert 方法發出 POST 要求,建立區域 MIG,如下所示。
      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 中建立 MIG 和調整大小要求,請按照下列步驟操作:
    1. instanceGroupManagers.insert 方法發出 POST 要求,建立可用區 MIG,如下所示。
      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. regionInstanceGroupManagers.insert 方法發出 POST 要求,建立區域 MIG,如下所示。
      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) 使用手冊」。

後續步驟