使用 H4D 機器系列建立 HPC MIG

本文說明如何建立使用 H4D 機型的代管執行個體群組 (MIG)。

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

如要瞭解 HPC VM 和 HPC 叢集建立選項,請參閱「HPC 叢集建立總覽」。

如要建立 MIG,但未使用 H4D 機型,或不需要建立密集部署的執行個體,請參閱「建立代管執行個體群組 (MIG) 的基本情境」。

事前準備

  • 選擇用量選項:如要大量建立運算執行個體,並啟用進階叢集管理功能,您可以在「日曆」模式中選擇「預約未來時間」,或選擇 Spot VM

    如果您選擇使用 Spot VM,VM 可能不會緊密共置。此外,系統會視需要先占 Spot VM,且 Spot VM 不符合管理 VM 群組主機維護事件的資格。

  • 取得容量:取得容量的程序會因各項用量選項而異。

    詳情請參閱「選擇消耗選項並取得容量」。

  • 如果尚未設定驗證,請先完成設定。 驗證可確認您的身分,以便存取 Google Cloud 服務和 API。如要從本機開發環境執行程式碼或範例,請選取下列其中一個選項,向 Compute Engine 進行驗證:

    選取這個頁面上的分頁,瞭解如何使用範例:

    控制台

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

    gcloud

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

      gcloud init

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

  • 設定預設地區和區域
  • REST

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

      安裝 Google Cloud CLI。

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

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

總覽

使用 H4D 機型建立 MIG 的步驟如下:

  1. 建立虛擬私有雲網路
  2. 選用: 建立工作負載政策
  3. 建立執行個體範本
  4. 建立 MIG

限制

使用 H4D 機器類型建立 MIG 時,須遵守下列限制:

  • 如果 MIG 要使用的執行個體範本指定了彈性啟動佈建模式,則適用下列限制:

    • 您只能使用規模調整要求,將 H4D 執行個體新增至 MIG。

    • 您必須在 MIG 中關閉修復功能。

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

  • 您無法在 MIG 中設定執行個體彈性

  • 如果將工作負載政策套用至 MIG,且群組中有 H4D 執行個體,就無法變更 MIG 中的政策。如要變更政策,請先將代管執行個體群組:MIG調整大小為零。

  • 您無法使用指定配置政策的執行個體範本,建立使用工作負載政策的 MIG。

  • 建立 MIG 調整大小要求時,須遵守下列限制:

    • 在區域性 MIG 中,您只能使用ANY_SINGLE_ZONE 目標分配型態 (搶先版)。不支援其他分配形狀。

    • 您只能將 MIG 的待命集區模式設為 manual (預設值)。

    • 您無法設定自動調度資源

    • 如果 MIG 包含已接受的規模調整要求,您就無法執行下列操作:

    • 您無法刪除或捨棄 MIG 為大小調整要求建立的「CREATING」狀態代管執行個體。如要刪除這些受管理執行個體,請取消大小調整要求

選用:建立虛擬私有雲網路

建立運算執行個體時,您可以指定虛擬私有雲網路和子網路。如果省略這項設定,系統會使用預設的網路和子網路。

如要設定 MIG 中的 H4D 執行個體使用 Cloud RDMA,請完成本節中的步驟;否則,您可以略過本節,改用預設網路。

如要搭配 H4D 執行個體使用 Cloud RDMA,您必須設定至少兩個網路,每個網路各對應一種網路介面 (NIC):

  • NIC 類型 GVNIC:使用 gve 驅動程式處理 TCP/IP 和網際網路流量,用於一般的 VM 對 VM 和 VM 對網際網路通訊。
  • NIC 類型 IRDMA:使用 IDPF/iRDMA 驅動程式,在執行個體之間進行 Cloud RDMA 網路連線。

使用 Cloud RDMA 的執行個體只能有一個 IRDMA 介面。您最多可以新增八個額外的 GVNIC 網路介面,每個執行個體總共可有 10 個 vNIC。

如要設定 Falcon 虛擬私有雲網路,以便搭配執行個體使用,您可以按照文件中的操作說明,或使用提供的指令碼。

操作指南

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

指令碼

每個執行個體最多可建立九個 gVNIC 網路介面和一個 IRDMA 網路介面。每個網路介面都必須連接到不同的網路。如要建立網路,可以使用下列指令碼,為 gVNIC 建立兩個網路,並為 IRDMA 建立一個網路。

  1. 選用:執行指令碼前,請列出 Falcon 虛擬私有雲網路設定檔,確認有可用的設定檔。
      gcloud compute network-profiles list
      
  2. 複製下列程式碼,並在 Linux 殼層視窗中執行。

      #!/bin/bash
      # Set the number of GVNIC interfaces to create. You can create up to 9.
      NUM_GVNIC=NUMBER_OF_GVNIC
    
      # Create regular VPC networks and subnets for the GVNIC interfaces
        for N in $(seq 0 $(($NUM_GVNIC - 1))); do
          gcloud compute networks create GVNIC_NAME_PREFIX-net-$N \
              --subnet-mode=custom
    
          gcloud compute networks subnets create GVNIC_NAME_PREFIX-sub-$N \
              --network=GVNIC_NAME_PREFIX-net-$N \
              --region=REGION \
              --range=10.$N.0.0/16
    
          gcloud compute firewall-rules create GVNIC_NAME_PREFIX-internal-$N \
              --network=GVNIC_NAME_PREFIX-net-$N \
              --action=ALLOW \
              --rules=tcp:0-65535,udp:0-65535,icmp \
              --source-ranges=10.0.0.0/8
      done
    
      # Create SSH firewall rules
      gcloud compute firewall-rules create GVNIC_NAME_PREFIX-ssh \
          --network=GVNIC_NAME_PREFIX-net-0 \
          --action=ALLOW \
          --rules=tcp:22 \
          --source-ranges=IP_RANGE
    
      # Optional: Create a firewall rule for the external IP address for the
      #  first GVNIC network interface
      gcloud compute firewall-rules create GVNIC_NAME_PREFIX-allow-ping-net-0 \
          --network=GVNIC_NAME_PREFIX-net-0 \
          --action=ALLOW \
          --rules=icmp \
          --source-ranges=IP_RANGE
    
      # Create a Falcon VPC network for the Cloud RDMA network interface
      gcloud compute networks create RDMA_NAME_PREFIX-irdma \
          --network-profile=ZONE-vpc-falcon \
          --subnet-mode custom
    
      # Create a subnet in the Falcon VPC network
      gcloud compute networks subnets create RDMA_NAME_PREFIX-irdma-sub \
          --network=RDMA_NAME_PREFIX-irdma \
          --region=REGION \
          --range=10.2.0.0/16  # offset to avoid overlap with GVNIC subnet ranges
      

    更改下列內容:

    • NUMBER_OF_GVNIC:要建立的 GVNIC 介面數量。 請指定介於 1 到 9 之間的數字。
    • GVNIC_NAME_PREFIX:用於一般虛擬私有雲網路和子網路的名稱前置字元,這些網路和子網路使用 GVNIC NIC 類型。
    • REGION:要建立網路的區域。建立 Falcon 虛擬私有雲網路時,這必須對應至為 --network-profile 旗標指定的區域。舉例來說,如果您將區域指定為 europe-west4-b,則地區為 europe-west4
    • IP_RANGE:虛擬私有雲網路外部的 IP 位址範圍,用於 SSH 防火牆規則。最佳做法是指定需要允許存取的特定 IP 位址範圍,而非所有 IPv4 或 IPv6 來源。請勿使用 0.0.0.0/0::/0 做為來源範圍,因為這樣會允許來自所有 IPv4 或 IPv6 來源的流量,包括 Google Cloud以外的來源。
    • RDMA_NAME_PREFIX:用於虛擬私有雲網路和子網路的名稱前置字元,這些網路和子網路使用 IRDMA NIC 類型。
    • ZONE:要建立網路和運算執行個體的區域。使用 us-central1-aeurope-west4-b
  3. 選用:如要確認虛擬私有雲網路資源是否建立成功,請在 Google Cloud 控制台中檢查網路設定:

    1. 前往 Google Cloud 控制台的「VPC Networks」(虛擬私有雲網路) 頁面。

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

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

選用:建立工作負載政策

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

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

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 放置在同一個子區塊中,請按照下列步驟操作:SUBBLOCK
    • 如要將 VM 放在同一個區塊,請按照下列步驟操作:BLOCK
    • 如要將 VM 放在同一個叢集中: CLUSTER
    注意:縮短最大距離可能會降低 VM 可用性。詳情請參閱「 拓撲距離上限屬性」。
  • REGION:要建立工作負載政策的區域。指定要建立 MIG 的區域,以及可用的機型。如要瞭解地區和區域,請參閱「適用區域及可用區」。

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 的區域,以及可用的機型。如要瞭解地區和區域,請參閱「適用區域及可用區」。
  • WORKLOAD_POLICY_NAME:工作負載政策的名稱。
  • TOPOLOGY_DISTANCE:拓撲距離上限。請指定下列其中一個值:
    • 如要將 VM 放置在同一個子區塊中,請按照下列步驟操作:SUBBLOCK
    • 如要將 VM 放在同一個區塊,請按照下列步驟操作:BLOCK
    • 如要將 VM 放在同一個叢集中,請按照下列步驟操作:CLUSTER
    注意:縮短最大距離可能會降低 VM 可用性。詳情請參閱「拓撲距離上限屬性」。

建立執行個體範本

如要為 MIG 中的每個執行個體指定執行個體和耗用屬性,請使用下列其中一種方法建立執行個體範本。

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

gcloud

您需要指定的參數取決於這項部署作業使用的耗用量選項。選取與計費方案和佈建模型對應的分頁。

彈性啟動

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

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, \
      stack-type=STACK_TYPE, \
      address=EXTERNAL_IPV4_ADDRESS \
--network-interface=nic-type=GVNIC, \
      network=GVNIC_NAME_PREFIX-net-1, \
      subnet=GVNIC_NAME_PREFIX-sub-1,no-address \
--network-interface=nic-type=IRDMA, \
      network=RDMA_NAME_PREFIX-irdma, \
      subnet=RDMA_NAME_PREFIX-irdma-sub, \
      stack-type=IPV4_ONLY,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:執行個體要使用的 H4D 機型。
  • IMAGE_FAMILY:您要使用的 OS 映像檔系列。 如需支援的作業系統清單,請參閱「支援的作業系統」。
  • IMAGE_PROJECT:OS 映像檔的專案 ID。
  • REGION:要建立執行個體範本的區域。指定您要使用的機型所在的區域。
  • DISK_SIZE:開機磁碟的大小 (以 GiB 為單位)。
  • GVNIC_NAME_PREFIX:建立 gVNIC 介面的標準虛擬私有雲網路和子網路時使用的名稱前置字元。

    如果使用預設網路,請只加入一個 --network-interface 欄位,並將 nic-type 欄位設為 GVNIC。此外,請省略這個網路介面的 networksubnetwork 設定。

  • STACK_TYPE:選用:用於 gVNIC 介面的堆疊類型。 指定 IPV4_ONLYIPV4_IPV6。如未指定值,系統會使用預設的 IPV4_ONLY
  • EXTERNAL_IPV4_ADDRESS:選用:要搭配 gVNIC 網路介面使用的靜態外部 IPv4 位址。您必須先預留外部 IPv4 位址。 執行下列其中一個步驟:

    • 從子網路指定有效的 IPv4 位址。
    • 如不希望網路介面有外部 IP 位址,請使用 no-address 旗標。
    • 如要讓網路介面接收暫時外部 IP 位址,請指定 address=''

    如要為 GVNIC 網路介面指定外部 IPv6 位址,請改用 --external-ipv6-address 標記。

  • RDMA_NAME_PREFIX:建立 IRDMA 網路介面的虛擬私有雲網路和子網路時使用的名稱前置字元。

    如果 H4D 執行個體未使用 Cloud RDMA,請省略 IRDMA 介面的 --network-interface 欄位。

  • RUN_DURATION:您希望所要求執行個體執行的時間長度。您必須將值格式化為天數、時數、分鐘數或秒數,並分別加上 dhms。例如,指定 30m 代表 30 分鐘,或指定 1d2h3m4s 代表 1 天 2 小時 3 分 4 秒。值必須介於 10 分鐘至 7 天之間。

取決於預留項目

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

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, \
      stack-type=STACK_TYPE, \
      address=EXTERNAL_IPV4_ADDRESS \
--network-interface=nic-type=GVNIC, \
      network=GVNIC_NAME_PREFIX-net-1, \
      subnet=GVNIC_NAME_PREFIX-sub-1,no-address \
--network-interface=nic-type=IRDMA, \
      network=RDMA_NAME_PREFIX-irdma, \
      subnet=RDMA_NAME_PREFIX-irdma-sub, \
      stack-type=IPV4_ONLY,no-address \
    --reservation-affinity=specific \
    --reservation=RESERVATION \
    --provisioning-model=RESERVATION_BOUND \
    --instance-termination-action=DELETE \
    --maintenance-policy=TERMINATE

更改下列內容:

  • INSTANCE_TEMPLATE_NAME:執行個體範本的名稱。
  • MACHINE_TYPE:執行個體要使用的 H4D 機型。
  • IMAGE_FAMILY:您要使用的 OS 映像檔系列。 如需支援的作業系統清單,請參閱「支援的作業系統」。
  • IMAGE_PROJECT:OS 映像檔的專案 ID。
  • REGION:要建立執行個體範本的區域。指定您要使用的機型所在的區域。
  • DISK_SIZE:開機磁碟的大小 (以 GiB 為單位)。
  • GVNIC_NAME_PREFIX:建立 gVNIC 介面的標準虛擬私有雲網路和子網路時使用的名稱前置字元。

    如果使用預設網路,請只加入一個 --network-interface 欄位,並將 nic-type 欄位設為 GVNIC。此外,請省略這個網路介面的 networksubnetwork 設定。

  • STACK_TYPE:選用:用於 gVNIC 介面的堆疊類型。 指定 IPV4_ONLYIPV4_IPV6。如未指定值,系統會使用預設的 IPV4_ONLY
  • EXTERNAL_IPV4_ADDRESS:選用:要搭配 gVNIC 網路介面使用的靜態外部 IPv4 位址。您必須先預留外部 IPv4 位址。 執行下列其中一個步驟:

    • 從子網路指定有效的 IPv4 位址。
    • 如不希望網路介面有外部 IP 位址,請使用 no-address 旗標。
    • 如要讓網路介面接收暫時外部 IP 位址,請指定 address=''

    如要為 GVNIC 網路介面指定外部 IPv6 位址,請改用 --external-ipv6-address 標記。

  • RDMA_NAME_PREFIX:建立 IRDMA 網路介面的虛擬私有雲網路和子網路時使用的名稱前置字元。

    如果 H4D 執行個體未使用 Cloud RDMA,請省略 IRDMA 介面的 --network-interface 欄位。

  • RESERVATION:要使用的預訂名稱。

    RESERVATION:預留項目名稱或預留項目內的特定區塊。如要取得預留名稱或可用區塊,請參閱「查看預留容量」。根據執行個體放置位置的需求,選擇下列其中一個選項:
    • 如要在多個區塊或單一區塊中建立執行個體,請按照下列步驟操作:

      projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME

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

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

      projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME/reservationBlocks/RESERVATION_BLOCK_NAME

Spot

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

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, \
      stack-type=STACK_TYPE, \
      address=EXTERNAL_IPV4_ADDRESS \
--network-interface=nic-type=GVNIC, \
      network=GVNIC_NAME_PREFIX-net-1, \
      subnet=GVNIC_NAME_PREFIX-sub-1,no-address \
--network-interface=nic-type=IRDMA, \
      network=RDMA_NAME_PREFIX-irdma, \
      subnet=RDMA_NAME_PREFIX-irdma-sub, \
      stack-type=IPV4_ONLY,no-address \
    --provisioning-model=SPOT \
    --instance-termination-action=TERMINATION_ACTION

更改下列內容:

  • INSTANCE_TEMPLATE_NAME:執行個體範本的名稱。
  • MACHINE_TYPE:執行個體要使用的 H4D 機型。
  • IMAGE_FAMILY:您要使用的 OS 映像檔系列。 如需支援的作業系統清單,請參閱「支援的作業系統」。
  • IMAGE_PROJECT:OS 映像檔的專案 ID。
  • REGION:要建立執行個體範本的區域。指定您要使用的機型所在的區域。
  • DISK_SIZE:開機磁碟的大小 (以 GiB 為單位)。
  • GVNIC_NAME_PREFIX:建立 gVNIC 介面的標準虛擬私有雲網路和子網路時使用的名稱前置字元。

    如果使用預設網路,請只加入一個 --network-interface 欄位,並將 nic-type 欄位設為 GVNIC。此外,請省略這個網路介面的 networksubnetwork 設定。

  • STACK_TYPE:選用:用於 gVNIC 介面的堆疊類型。 指定 IPV4_ONLYIPV4_IPV6。如未指定值,系統會使用預設的 IPV4_ONLY
  • EXTERNAL_IPV4_ADDRESS:選用:要搭配 gVNIC 網路介面使用的靜態外部 IPv4 位址。您必須先預留外部 IPv4 位址。 執行下列其中一個步驟:

    • 從子網路指定有效的 IPv4 位址。
    • 如不希望網路介面有外部 IP 位址,請使用 no-address 旗標。
    • 如要讓網路介面接收暫時外部 IP 位址,請指定 address=''

    如要為 GVNIC 網路介面指定外部 IPv6 位址,請改用 --external-ipv6-address 標記。

  • RDMA_NAME_PREFIX:建立 IRDMA 網路介面的虛擬私有雲網路和子網路時使用的名稱前置字元。

    如果 H4D 執行個體未使用 Cloud RDMA,請省略 IRDMA 介面的 --network-interface 欄位。

  • TERMINATION_ACTION:Compute Engine 在先占時停止 (STOP) 或刪除 (DELETE) Spot VM。

REST

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

彈性啟動

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

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceTemplates
{
  "name":"INSTANCE_TEMPLATE_NAME",
  "properties":{
    "disks":[
      {
        "boot":true,
        "initializeParams":{
          "diskSizeGb":"DISK_SIZE",
          "diskType":"hyperdisk-balanced",
          "sourceImage":"projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY"
        },
        "mode":"READ_WRITE",
        "type":"PERSISTENT"
      }
    ],
    "machineType":"MACHINE_TYPE",
    
        "networkInterfaces": [
        {
          "network": "GVNIC_NAME_PREFIX-net-0",
          "subnetwork": "GVNIC_NAME_PREFIX-sub-0",
          "accessConfigs": [
            {
                "type": "ONE_TO_ONE_NAT",
                "name": "External IP",
                "natIP": "EXTERNAL_IPV4_ADDRESS"
            }
          ],
          "stackType": "IPV4_ONLY",
          "nicType": "GVNIC",
      },
      {
          "network": "GVNIC_NAME_PREFIX-net-1",
          "subnetwork": "GVNIC_NAME_PREFIX-sub-1",
          "stackType": "IPV4_ONLY",
          "nicType": "GVNIC",
      },
      {
          "network": "RDMA_NAME_PREFIX-irdma",
          "subnetwork": "RDMA_NAME_PREFIX-irdma-sub",
          "stackType": "IPV4_ONLY",
          "nicType": "IRDMA",
      }
    ],
,
    "reservationAffinity": {
        "consumeReservationType": "NO_RESERVATION"
      },
    "scheduling": {
        "instanceTerminationAction": "DELETE",
        "maxRunDuration": {
          "seconds": RUN_DURATION
        },
        "onHostMaintenance": "TERMINATE",
        "provisioningModel": "FLEX_START"
      }

  }
}

更改下列內容:

  • INSTANCE_TEMPLATE_NAME:執行個體範本的名稱。
  • MACHINE_TYPE:執行個體使用的機型。指定 H4D 機型。詳情請參閱 H4D 機器類型
  • IMAGE_FAMILY:您要使用的 OS 映像檔映像檔系列。 如需支援的作業系統清單,請參閱「支援的作業系統」。
  • IMAGE_PROJECT:OS 映像檔的專案 ID。
  • REGION:要建立執行個體範本的區域。指定您要使用的機型適用的區域。如要瞭解區域,請參閱「區域和可用區」。
  • DISK_SIZE:開機磁碟的大小 (以 GiB 為單位)。
  • GVNIC_NAME_PREFIX:建立 gVNIC 介面的標準虛擬私有雲網路和子網路時使用的名稱前置字元。

    如果使用預設網路,請只加入一個 --network-interface 欄位,並將 nic-type 欄位設為 GVNIC。此外,請省略這個網路介面的 networksubnetwork 設定。

  • EXTERNAL_IPV4_ADDRESS:選用:要搭配 gVNIC 網路介面使用的靜態外部 IPv4 位址。您必須先預留外部 IPv4 位址

    如要為 GVNIC 網路介面指定外部 IPv6 位址,請改用 --external-ipv6-address 標記。

  • RDMA_NAME_PREFIX:建立 IRDMA 網路介面的虛擬私有雲網路和子網路時使用的名稱前置字元。

    如果 H4D 執行個體未使用 Cloud RDMA,請省略 IRDMA 介面的 --network-interface 欄位。

  • RUN_DURATION:您希望所要求執行個體執行的時間長度 (以秒為單位)。值必須介於 600 (600 秒,即 10 分鐘) 和 604800 (604,800 秒,即七天) 之間。

取決於預留項目

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

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceTemplates
{
  "name":"INSTANCE_TEMPLATE_NAME",
  "properties":{
    "disks":[
      {
        "boot":true,
        "initializeParams":{
          "diskSizeGb":"DISK_SIZE",
          "diskType":"hyperdisk-balanced",
          "sourceImage":"projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY"
        },
        "mode":"READ_WRITE",
        "type":"PERSISTENT"
      }
    ],
    "machineType":"MACHINE_TYPE",
    
        "networkInterfaces": [
        {
          "network": "GVNIC_NAME_PREFIX-net-0",
          "subnetwork": "GVNIC_NAME_PREFIX-sub-0",
          "accessConfigs": [
            {
                "type": "ONE_TO_ONE_NAT",
                "name": "External IP",
                "natIP": "EXTERNAL_IPV4_ADDRESS"
            }
          ],
          "stackType": "IPV4_ONLY",
          "nicType": "GVNIC",
      },
      {
          "network": "GVNIC_NAME_PREFIX-net-1",
          "subnetwork": "GVNIC_NAME_PREFIX-sub-1",
          "stackType": "IPV4_ONLY",
          "nicType": "GVNIC",
      },
      {
          "network": "RDMA_NAME_PREFIX-irdma",
          "subnetwork": "RDMA_NAME_PREFIX-irdma-sub",
          "stackType": "IPV4_ONLY",
          "nicType": "IRDMA",
      }
    ],
,
    "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:執行個體使用的機型。指定 H4D 機型。詳情請參閱 H4D 機器類型
  • IMAGE_FAMILY:您要使用的 OS 映像檔映像檔系列。 如需支援的作業系統清單,請參閱「支援的作業系統」。
  • IMAGE_PROJECT:OS 映像檔的專案 ID。
  • REGION:要建立執行個體範本的區域。指定您要使用的機型適用的區域。如要瞭解區域,請參閱「區域和可用區」。
  • DISK_SIZE:開機磁碟的大小 (以 GiB 為單位)。
  • GVNIC_NAME_PREFIX:建立 gVNIC 介面的標準虛擬私有雲網路和子網路時使用的名稱前置字元。

    如果使用預設網路,請只加入一個 --network-interface 欄位,並將 nic-type 欄位設為 GVNIC。此外,請省略這個網路介面的 networksubnetwork 設定。

  • EXTERNAL_IPV4_ADDRESS:選用:要搭配 gVNIC 網路介面使用的靜態外部 IPv4 位址。您必須先預留外部 IPv4 位址

    如要為 GVNIC 網路介面指定外部 IPv6 位址,請改用 --external-ipv6-address 標記。

  • RDMA_NAME_PREFIX:建立 IRDMA 網路介面的虛擬私有雲網路和子網路時使用的名稱前置字元。

    如果 H4D 執行個體未使用 Cloud RDMA,請省略 IRDMA 介面的 --network-interface 欄位。

  • RESERVATION:要使用的預訂名稱。

    RESERVATION:預留項目名稱或預留項目內的特定區塊。如要取得預留名稱或可用區塊,請參閱「查看預留容量」。根據執行個體放置位置的需求,選擇下列其中一個選項:
    • 如要在多個區塊或單一區塊中建立執行個體,請按照下列步驟操作:

      projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME

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

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

      projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME/reservationBlocks/RESERVATION_BLOCK_NAME

Spot

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

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceTemplates
{
  "name":"INSTANCE_TEMPLATE_NAME",
  "properties":{
    "disks":[
      {
        "boot":true,
        "initializeParams":{
          "diskSizeGb":"DISK_SIZE",
          "diskType":"hyperdisk-balanced",
          "sourceImage":"projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY"
        },
        "mode":"READ_WRITE",
        "type":"PERSISTENT"
      }
    ],
    "machineType":"MACHINE_TYPE",
    
        "networkInterfaces": [
        {
          "network": "GVNIC_NAME_PREFIX-net-0",
          "subnetwork": "GVNIC_NAME_PREFIX-sub-0",
          "accessConfigs": [
            {
                "type": "ONE_TO_ONE_NAT",
                "name": "External IP",
                "natIP": "EXTERNAL_IPV4_ADDRESS"
            }
          ],
          "stackType": "IPV4_ONLY",
          "nicType": "GVNIC",
      },
      {
          "network": "GVNIC_NAME_PREFIX-net-1",
          "subnetwork": "GVNIC_NAME_PREFIX-sub-1",
          "stackType": "IPV4_ONLY",
          "nicType": "GVNIC",
      },
      {
          "network": "RDMA_NAME_PREFIX-irdma",
          "subnetwork": "RDMA_NAME_PREFIX-irdma-sub",
          "stackType": "IPV4_ONLY",
          "nicType": "IRDMA",
      }
    ],
,
    "scheduling":
    {
      "provisioningModel": "SPOT",
      "instanceTerminationAction": "TERMINATION_ACTION"
    }
  }
}

更改下列內容:

  • INSTANCE_TEMPLATE_NAME:執行個體範本的名稱。
  • MACHINE_TYPE:執行個體使用的機型。指定 H4D 機型。詳情請參閱 H4D 機器類型
  • IMAGE_FAMILY:您要使用的 OS 映像檔映像檔系列。 如需支援的作業系統清單,請參閱「支援的作業系統」。
  • IMAGE_PROJECT:OS 映像檔的專案 ID。
  • REGION:要建立執行個體範本的區域。指定您要使用的機型適用的區域。如要瞭解區域,請參閱「區域和可用區」。
  • DISK_SIZE:開機磁碟的大小 (以 GiB 為單位)。
  • GVNIC_NAME_PREFIX:建立 gVNIC 介面的標準虛擬私有雲網路和子網路時使用的名稱前置字元。

    如果使用預設網路,請只加入一個 --network-interface 欄位,並將 nic-type 欄位設為 GVNIC。此外,請省略這個網路介面的 networksubnetwork 設定。

  • EXTERNAL_IPV4_ADDRESS:選用:要搭配 gVNIC 網路介面使用的靜態外部 IPv4 位址。您必須先預留外部 IPv4 位址

    如要為 GVNIC 網路介面指定外部 IPv6 位址,請改用 --external-ipv6-address 標記。

  • RDMA_NAME_PREFIX:建立 IRDMA 網路介面的虛擬私有雲網路和子網路時使用的名稱前置字元。

    如果 H4D 執行個體未使用 Cloud RDMA,請省略 IRDMA 介面的 --network-interface 欄位。

  • TERMINATION_ACTION:Compute Engine 在先占時停止 (STOP) 或刪除 (DELETE) Spot VM。

建立執行個體範本後,您可以查看範本,瞭解範本 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",
      "instanceTemplate": "INSTANCE_TEMPLATE_URL",
      "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
      {
        "versions": [
          {
            "instanceTemplate": "INSTANCE_TEMPLATE_URL"
          }
        ],
        "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,並發出規模調整要求,步驟如下:

  • 如要在可用區 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 \
          --zone=ZONE
      
    2. 使用 instance-groups managed resize-requests create 指令,在區域 MIG 中建立調整大小要求,如下所示:

      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 \
          --zones=ZONE \
          --target-distribution-shape=any-single-zone \
          --instance-redistribution-type=none
        
    2. 使用 Beta 版 instance-groups managed resize-requests create 指令,在區域性 代管執行個體群組:MIG 中建立大小調整要求,如下所示:

      gcloud beta 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 中建立調整大小要求,如下所示:

      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. 使用 Beta 版 instance-groups managed resize-requests create 指令,在區域性 代管執行個體群組:MIG 中建立大小調整要求,如下所示:

      gcloud beta 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 中建立調整大小要求,如下所示:

      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. 使用 Beta 版 instance-groups managed resize-requests create 指令,在區域性 代管執行個體群組:MIG 中建立大小調整要求,如下所示:

      gcloud beta 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 所在的區域。

如果工作負載需要特定執行個體名稱,可以使用 beta instance-groups managed resize-requests create 指令指定要建立的執行個體名稱清單。在指令中,將 --resize-request 旗標替換為 --instances 旗標

REST

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

彈性啟動

建立可用區或區域 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"
        }
      }
      
    2. 如要在區域 MIG 中建立調整大小要求,請向 instanceGroupManagerResizeRequests.insert 方法發出 POST 要求,如下所示:
      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"
        }
      }
      
    2. 在區域 MIG 中,向 beta.regionInstanceGroupManagerResizeRequests.insert 方法發出 POST 要求,建立規模調整要求,如下所示:
      POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/MIG_NAME/resizeRequests
      {
        "name": "RESIZE_REQUEST_NAME",
        "resizeBy": COUNT
      }
      

取決於預留項目

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

建立可用區或區域 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 要求,如下所示:
      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 中,向 beta.regionInstanceGroupManagerResizeRequests.insert 方法發出 POST 要求,建立規模調整要求,如下所示:
      POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/MIG_NAME/resizeRequests
      {
        "name": "RESIZE_REQUEST_NAME",
        "resizeBy": COUNT
      }
      

Spot

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

建立可用區或區域 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 要求,如下所示:
      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 中,向 beta.regionInstanceGroupManagerResizeRequests.insert 方法發出 POST 要求,建立規模調整要求,如下所示:
      POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/MIG_NAME/resizeRequests
      {
        "name": "RESIZE_REQUEST_NAME",
        "resizeBy": COUNT
      }
      
取代下列項目:
  • PROJECT_ID:專案 ID。
  • ZONE:要建立 MIG 的可用區。您也必須為區域 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 的執行個體數量

如果工作負載需要特定執行個體名稱,您可以指定要建立的執行個體名稱清單。如要這麼做,請向區域 MIG 的 beta.regionInstanceGroupManagerResizeRequests.insert 方法發出 POST 要求,或是向區域 MIG 的 beta.instanceGroupManagerResizeRequests.insert 方法發出要求。在要求主體中,將 resizeBy 欄位替換為 instanceNames 欄位

後續步驟