使用 A3 Edge 大量建立 AI 最佳化執行個體

本文說明如何大量建立使用 A3 Edge 加速器最佳化機型的虛擬機器 (VM) 執行個體。如要進一步瞭解機型,請參閱 Compute Engine 說明文件中的「A3 Edge」。

如要進一步瞭解如何大量建立 VM,請參閱 Compute Engine 說明文件中的「關於大量建立 VM」。

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

事前準備

如要大量建立 VM,請先完成下列步驟 (如果尚未完成):

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

選取這個頁面上您打算如何使用範例的分頁:

控制台

使用 Google Cloud 控制台存取 Google Cloud 服務和 API 時,無須設定驗證。

gcloud

在 Google Cloud 控制台中啟用 Cloud Shell。

啟用 Cloud Shell

控制台底部會開啟 Cloud Shell 工作階段,並顯示指令列提示。 Google Cloud Cloud Shell 是已安裝 Google Cloud CLI 的殼層環境,並已針對您目前的專案設定好相關值。工作階段可能要幾秒鐘的時間才能初始化。

REST

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

    安裝 Google Cloud CLI。

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

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

必要的角色

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

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

所需權限

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

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

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

總覽

使用 A3 Edge 機型大量建立執行個體時,請按照下列步驟操作:

  1. 建立虛擬私有雲網路
  2. 選用: 建立密集配置政策
  3. 大量建立執行個體
  4. 安裝 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。

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

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

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。如果您的應用程式對延遲時間很敏感,且需要盡可能精簡,請在建立密集配置政策時,指定 maxDistance 欄位 (預覽版)。maxDistance 值越低,VM 彼此會越靠近,但也會增加無法建立部分 VM 的可能性。

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

gcloud

如要建立密集配置政策,請使用 gcloud beta compute resource-policies create group-placement 指令

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

更改下列內容:

  • POLICY_NAME:密集配置政策的名稱。
  • MAX_DISTANCE:VM 的最大距離設定,可指定 (預覽版,建議使用) 或不指定 (移除 --max-distance 旗標)。 您可以根據機型支援的項目,指定下列其中一個值:
    • 如要將 VM 放置在同一個子區塊中,請按照下列步驟操作:1
    • 如要將 VM 放在同一個區塊,請按照下列步驟操作:2
    • 如要將 VM 放置在相鄰區塊中,請按照下列步驟操作:3
    確認最大距離設定支援您打算建立的機器系列和 VM 數量。詳情請參閱 Compute Engine 說明文件中的「關於密集配置政策」。
  • REGION:要建立密集配置政策的區域。指定要建立執行個體的可用區所屬的區域,並確認您要使用的機型適用於該區域。如要瞭解地區,請參閱「各區域和可用區的 GPU 供應情形」。

REST

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

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

更改下列內容:

  • PROJECT_ID:您的專案 ID。
  • POLICY_NAME:密集配置政策的名稱。
  • MAX_DISTANCE:VM 的最大距離設定,可指定 (預覽版,建議使用) 或不指定 (移除 maxDistance 欄位)。 您可以根據機型支援的項目,指定下列其中一個值:
    • 如要將 VM 放置在同一個子區塊中,請按照下列步驟操作:1
    • 如要將 VM 放在同一個區塊,請按照下列步驟操作:2
    • 如要將 VM 放置在相鄰區塊中,請按照下列步驟操作:3
    確認最大距離設定支援您打算建立的機器系列和 VM 數量。詳情請參閱 Compute Engine 說明文件中的「關於密集配置政策」。
  • REGION:要建立密集配置政策的區域。指定要建立執行個體的可用區所屬的區域,並確認您要使用的機型適用於該區域。如要瞭解地區,請參閱「各區域和可用區的 GPU 供應情形」。

大量建立 A3 Edge VM

如要大量建立 A3 Edge VM,請使用下列其中一種方法。

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

gcloud

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

如要大量建立執行個體,請使用 gcloud compute instances bulk create 指令

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

預留項目

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

gcloud compute instances bulk create \
    --name-pattern=NAME_PATTERN \
    --count=COUNT \
     --machine-type=MACHINE_TYPE \
    --image-family=IMAGE_FAMILY \
    --image-project=IMAGE_PROJECT \
    --region=REGION \
    --boot-disk-type=DISK_TYPE \
    --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=TERMINATION_ACTION \
    --maintenance-policy=TERMINATE \
    --restart-on-failure

操作步驟如下:

  1. 更改下列內容:

    • NAME_PATTERN:用於 A3 Edge 執行個體的名稱模式。舉例來說,使用 instance-# 做為名稱模式會產生 A3 Edge 執行個體,名稱如 instance-1instance-2,最多可達 --count 指定的 A3 Edge 執行個體數量。
    • COUNT:要建立的 A3 Edge 執行個體數量。
    • MACHINE_TYPE:用於 A3 Edge 執行個體的機型。詳情請參閱 Compute Engine 說明文件中的「GPU 機器類型」。
    • IMAGE_FAMILY:您要使用的 OS 映像檔系列。 如需所有支援的作業系統清單,請參閱「支援的作業系統」。 對於 A3 Edge 系列機器,我們強烈建議使用 cos-121-lts 以上版本的 Container-Optimized OS 映像檔,並停用自動更新
    • IMAGE_PROJECT:OS 映像檔的專案 ID。 舉例來說,使用 cos-cloud 適用於 cos-121-lts 以上的 Container-Optimized OS 映像檔。
    • REGION:指定要使用的機型所在的區域。如要指定密集配置政策,您必須使用與密集配置政策相同的區域。 如需地區相關資訊,請參閱「各區域和可用區的 GPU 供應情形」。
    • DISK_TYPE:開機磁碟類型。 對於這個系列的機器,我們建議使用 hyperdisk-balanced。 如要進一步瞭解機型支援的磁碟類型,請參閱 Compute Engine 說明文件中的「加速器最佳化機器家族中的 GPU 機器」。
    • DISK_SIZE:開機磁碟的大小,單位為 GB。詳情請參閱Google Cloud Hyperdisk 大小限制永久磁碟大小限制,視磁碟類型而定。
    • GVNIC_NAME_PREFIX:建立使用 gVNIC NIC 的標準虛擬私有雲網路和子網路時,您指定的前置字元名稱。
    • RESERVATION:預留項目名稱或預留項目內的特定區塊。如要取得預留名稱或可用區塊,請參閱「查看預留容量」。根據執行個體放置位置的需求,選擇下列其中一個選項:
      • 如要在多個區塊或單一區塊中建立執行個體,請按照下列步驟操作:

        projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME

        此外,針對單一區塊,請套用密集配置政策,指定區塊共置 (maxDistance=2)。Compute Engine 隨後會將政策套用至預留項目,並在相同區塊中建立執行個體。

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

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

  2. 選用步驟:如果您選擇使用密集配置政策,請在指令中加入下列旗標:

    --resource-policies=POLICY_NAME
    

    更改下列內容:

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

Spot

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

gcloud compute instances bulk create \
    --name-pattern=NAME_PATTERN \
    --count=COUNT \
     --machine-type=MACHINE_TYPE \
    --image-family=IMAGE_FAMILY \
    --image-project=IMAGE_PROJECT \
    --region=REGION \
    --boot-disk-type=DISK_TYPE \
    --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

操作步驟如下:

  1. 更改下列內容:

    • NAME_PATTERN:用於 A3 Edge 執行個體的名稱模式。舉例來說,使用 instance-# 做為名稱模式會產生 A3 Edge 執行個體,名稱如 instance-1instance-2,最多可達 --count 指定的 A3 Edge 執行個體數量。
    • COUNT:要建立的 A3 Edge 執行個體數量。
    • MACHINE_TYPE:用於 A3 Edge 執行個體的機型。詳情請參閱 Compute Engine 說明文件中的「GPU 機器類型」。
    • IMAGE_FAMILY:您要使用的 OS 映像檔系列。 如需所有支援的作業系統清單,請參閱「支援的作業系統」。 對於 A3 Edge 系列機器,我們強烈建議使用 cos-121-lts 以上版本的 Container-Optimized OS 映像檔,並停用自動更新
    • IMAGE_PROJECT:OS 映像檔的專案 ID。 舉例來說,使用 cos-cloud 適用於 cos-121-lts 以上的 Container-Optimized OS 映像檔。
    • REGION:指定要使用的機型所在的區域。如要指定密集配置政策,您必須使用與密集配置政策相同的區域。 如需地區相關資訊,請參閱「各區域和可用區的 GPU 供應情形」。
    • DISK_TYPE:開機磁碟類型。 對於這個系列的機器,我們建議使用 hyperdisk-balanced。 如要進一步瞭解機型支援的磁碟類型,請參閱 Compute Engine 說明文件中的「加速器最佳化機器家族中的 GPU 機器」。
    • DISK_SIZE:開機磁碟的大小,單位為 GB。詳情請參閱Google Cloud Hyperdisk 大小限制永久磁碟大小限制,視磁碟類型而定。
    • GVNIC_NAME_PREFIX:建立使用 gVNIC NIC 的標準虛擬私有雲網路和子網路時,您指定的前置字元名稱。
    • TERMINATION_ACTION:Compute Engine 預先終止執行個體時採取的動作,可以是 STOP (預設) 或 DELETE

  2. 選用步驟:如果您選擇使用密集配置政策,請在指令中加入下列旗標:

    --resource-policies=POLICY_NAME
    

    更改下列內容:

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

REST

如要建立 A3 Edge VM,請使用 instances.bulkInsert 方法

如要大量建立執行個體,請對 instances.bulkInsert 方法發出 POST 要求

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

預留項目

提交要求前,請先查看下列所有步驟,判斷是否要加入其他欄位。

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/bulkInsert
{
  "namePattern": "NAME_PATTERN",
  "count": "COUNT",
  "instanceProperties": {
    "machineType": "MACHINE_TYPE",
    "disks": [
      {
        "boot": true,
        "initializeParams": {
          "diskSizeGb": "DISK_SIZE",
          "diskType": "DISK_TYPE",
          "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
      }
  }
}

操作步驟如下:

  1. 更改下列內容:

    • PROJECT_ID:您要在當中建立 A3 Edge 執行個體的專案 ID。
    • ZONE:指定可使用所需機型的區域。如要指定密集配置政策,您必須使用與密集配置政策位於相同區域的可用區。 如需地區相關資訊,請參閱「各區域和可用區的 GPU 供應情形」。
    • NAME_PATTERN:用於 A3 Edge 執行個體的名稱模式。舉例來說,使用 instance-# 做為名稱模式會產生 A3 Edge 執行個體,名稱如 instance-1instance-2,最多可達 --count 指定的 A3 Edge 執行個體數量。
    • COUNT:要建立的 A3 Edge 執行個體數量。
    • MACHINE_TYPE:用於 A3 Edge 執行個體的機型。詳情請參閱 Compute Engine 說明文件中的「GPU 機器類型」。
    • DISK_SIZE:開機磁碟的大小,單位為 GB。詳情請參閱Google Cloud Hyperdisk 大小限制永久磁碟大小限制,視磁碟類型而定。
    • DISK_TYPE:開機磁碟類型。 對於這個系列的機器,我們建議使用 hyperdisk-balanced。 如要進一步瞭解機型支援的磁碟類型,請參閱 Compute Engine 說明文件中的「加速器最佳化機器家族中的 GPU 機器」。
    • IMAGE_PROJECT:OS 映像檔的專案 ID。 舉例來說,使用 cos-cloud 適用於 cos-121-lts 以上的 Container-Optimized OS 映像檔。
    • IMAGE_FAMILY:您要使用的 OS 映像檔系列。 如需所有支援的作業系統清單,請參閱「支援的作業系統」。 對於 A3 Edge 系列機器,我們強烈建議使用 cos-121-lts 以上版本的 Container-Optimized OS 映像檔,並停用自動更新
    • NETWORK_PROJECT_ID:網路的專案 ID。
    • GVNIC_NAME_PREFIX:建立使用 gVNIC NIC 的標準虛擬私有雲網路和子網路時,您指定的前置字元名稱。
    • REGION:子網路的區域。
    • RESERVATION:預留項目名稱或預留項目內的特定區塊。如要取得預留名稱或可用區塊,請參閱「查看預留容量」。根據執行個體放置位置的需求,選擇下列其中一個選項:
      • 如要在多個區塊或單一區塊中建立執行個體,請按照下列步驟操作:

        projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME

        此外,針對單一區塊,請套用密集配置政策,指定區塊共置 (maxDistance=2)。Compute Engine 隨後會將政策套用至預留項目,並在相同區塊中建立執行個體。

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

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

  2. 選用:如果您選擇使用密集配置政策,請在要求主體中新增下列 instanceProperties 子欄位:

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

    更改下列內容:

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

Spot

提交要求前,請先查看下列所有步驟,判斷是否要加入其他欄位。

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

操作步驟如下:

  1. 更改下列內容:

    • PROJECT_ID:您要在當中建立 A3 Edge 執行個體的專案 ID。
    • ZONE:指定可使用所需機型的區域。如要指定密集配置政策,您必須使用與密集配置政策位於相同區域的可用區。 如需地區相關資訊,請參閱「各區域和可用區的 GPU 供應情形」。
    • NAME_PATTERN:用於 A3 Edge 執行個體的名稱模式。舉例來說,使用 instance-# 做為名稱模式會產生 A3 Edge 執行個體,名稱如 instance-1instance-2,最多可達 --count 指定的 A3 Edge 執行個體數量。
    • COUNT:要建立的 A3 Edge 執行個體數量。
    • MACHINE_TYPE:用於 A3 Edge 執行個體的機型。詳情請參閱 Compute Engine 說明文件中的「GPU 機器類型」。
    • DISK_SIZE:開機磁碟的大小,單位為 GB。詳情請參閱Google Cloud Hyperdisk 大小限制永久磁碟大小限制,視磁碟類型而定。
    • DISK_TYPE:開機磁碟類型。 對於這個系列的機器,我們建議使用 hyperdisk-balanced。 如要進一步瞭解機型支援的磁碟類型,請參閱 Compute Engine 說明文件中的「加速器最佳化機器家族中的 GPU 機器」。
    • IMAGE_PROJECT:OS 映像檔的專案 ID。 舉例來說,使用 cos-cloud 適用於 cos-121-lts 以上的 Container-Optimized OS 映像檔。
    • IMAGE_FAMILY:您要使用的 OS 映像檔系列。 如需所有支援的作業系統清單,請參閱「支援的作業系統」。 對於 A3 Edge 系列機器,我們強烈建議使用 cos-121-lts 以上版本的 Container-Optimized OS 映像檔,並停用自動更新
    • NETWORK_PROJECT_ID:網路的專案 ID。
    • GVNIC_NAME_PREFIX:建立使用 gVNIC NIC 的標準虛擬私有雲網路和子網路時,您指定的前置字元名稱。
    • REGION:子網路的區域。
    • TERMINATION_ACTION:Compute Engine 預先終止執行個體時採取的動作,可以是 STOP (預設) 或 DELETE

  2. 選用:如果您選擇使用密集配置政策,請在要求主體中新增下列 instanceProperties 子欄位:

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

    更改下列內容:

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

如要進一步瞭解大量建立 VM 時的設定選項,請參閱 Compute Engine 說明文件中的「大量建立 VM」。

後續步驟