使用密集配置政策來縮短延遲時間

本文說明如何建立及套用密集配置政策,以減少 Compute Engine 執行個體之間的網路延遲。如要進一步瞭解配置政策,包括支援的機器系列、限制和價格,請參閱「配置政策總覽」。

密集配置政策會指定 Compute Engine 將執行個體配置在實體上更靠近彼此的位置。執行高效能運算 (HPC)、機器學習 (ML) 或資料庫伺服器工作負載時,這有助於提升執行個體之間的效能並縮短網路延遲時間。

事前準備

  • 如果尚未設定驗證,請先完成設定。 驗證可確認您的身分,以便存取 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 進行驗證」。

必要的角色

如要取得建立及套用密集配置政策至運算執行個體所需的權限,請要求系統管理員授予您專案的下列 IAM 角色:

如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和組織的存取權」。

這些預先定義的角色具備建立及將密集配置政策套用至運算執行個體所需的權限。如要查看確切的必要權限,請展開「Required permissions」(必要權限) 部分:

所需權限

如要建立並將密集配置政策套用至運算執行個體,必須具備下列權限:

  • 如要建立刊登位置政策,請對專案具備 compute.resourcePolicies.create 權限。
  • 如要將放置政策套用至現有的運算執行個體: compute.instances.addResourcePolicies 專案
  • 如要建立運算執行個體,請按照下列步驟操作:
    • 專案的 compute.instances.create 權限
    • 如要使用自訂映像檔建立 VM,請按一下映像檔上的 compute.images.useReadOnly
    • 如要使用快照建立 VM,請按一下快照上的 compute.snapshots.useReadOnly
    • 如要使用執行個體範本建立 VM,請按一下執行個體範本上的 compute.instanceTemplates.useReadOnly
    • 如要將舊版網路指派給 VM:專案的 compute.networks.use 權限
    • 如要為 VM 指定靜態 IP 位址:專案的 compute.addresses.use 權限
    • 使用舊版網路時,如要將外部 IP 位址指派給 VM,請在專案中啟用 compute.networks.useExternalIp
    • 為 VM 指定子網路:專案或所選子網路的 compute.subnetworks.use
    • 使用虛擬私有雲網路時,如要將外部 IP 位址指派給 VM,請在專案或所選子網路上擁有 compute.subnetworks.useExternalIp 權限
    • 如要為專案中的 VM 設定 VM 執行個體中繼資料,請執行下列指令:compute.instances.setMetadata
    • 如要為 VM 設定標記:compute.instances.setTags 在 VM 上
    • 如要為 VM 設定標籤,請在 VM 上執行下列指令:compute.instances.setLabels
    • 如要設定 VM 使用的服務帳戶,請在 VM 上執行 compute.instances.setServiceAccount
    • 如要為 VM 建立新磁碟,請取得專案的 compute.disks.create 權限
    • 如要以唯讀或讀寫模式連接現有磁碟,請對磁碟擁有 compute.disks.use 權限
    • 如要以唯讀模式連接現有磁碟,請對磁碟擁有 compute.disks.useReadOnly 權限
  • 如要建立預留項目,請在專案中compute.reservations.create
  • 如要建立執行個體範本: 按一下專案的 compute.instanceTemplates.create
  • 如要建立 MIG,請按照下列步驟操作: compute.instanceGroupManagers.create 專案
  • 如要查看運算執行個體的詳細資料: 按一下專案中的 compute.instances.get

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

建立密集配置政策

建立密集配置政策前,請先考量以下事項:

  • 如要將密集配置政策套用至 M3、M2、M1、N2D 或 N2 以外的運算執行個體,請根據機型執行下列其中一項操作:

  • 如要將密集配置政策套用至 2025 年 10 月 1 日前建立的 A3 Mega、A3 High 或 A3 Edge 執行個體,請與您的帳戶團隊聯絡。

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

gcloud

  • 如要將密集配置政策套用至 M3、M2、M1、N2D 或 N2 執行個體,請使用 gcloud compute resource-policies create group-placement 指令搭配 --collocation=collocated 旗標建立政策。

    gcloud compute resource-policies create group-placement POLICY_NAME \
        --collocation=collocated \
        --region=REGION
    

    更改下列內容:

    • POLICY_NAME:密集配置政策的名稱。

    • REGION:要建立放置政策的區域。

  • 如要將密集配置政策套用至獨立的 A4X Max 或 A4X 執行個體,請使用 gcloud compute resource-policies create group-placement 指令搭配 --collocation=collocated--gpu-topology=1x72 旗標建立政策。

    gcloud compute resource-policies create group-placement POLICY_NAME \
        --collocation=collocated \
        --gpu-topology=1x72 \
        --region=REGION
    
  • 如要將密集配置政策套用至任何其他支援的運算執行個體,請使用 gcloud beta compute resource-policies create group-placement 指令搭配 --collocation=collocated--max-distance 旗標建立政策。

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

更改下列內容:

  • POLICY_NAME:密集配置政策的名稱。

    • MAX_DISTANCE:運算執行個體的最大距離設定。值必須介於 1 (指定將運算執行個體放在同一個子區塊,盡可能降低網路延遲) 和 3 (指定將運算執行個體放在同一個叢集) 之間
  • REGION:要建立放置群組政策的區域。

REST

  • 如要將密集配置政策套用至 M3、M2、M1、N2D 或 N2 執行個體,請對 resourcePolicies.insert 方法發出 POST 要求,建立政策。在要求主體中加入 collocation 欄位,並將其設為 COLLOCATED

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/resourcePolicies
    
    {
      "name": "POLICY_NAME",
      "groupPlacementPolicy": {
        "collocation": "COLLOCATED"
      }
    }
    
  • 如要將密集配置政策套用至獨立的 A4X Max 或 A4X 執行個體,請對 resourcePolicies.insert 方法發出 POST 要求,藉此建立政策。在要求主體中,加入設為 COLLOCATEDcollocation 欄位,以及設為 1x72gpuTopology 欄位。

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/resourcePolicies
    
    {
      "name": "POLICY_NAME",
      "groupPlacementPolicy": {
        "collocation": "COLLOCATED",
        "gpuTopology": "1x72"
      }
    }
    
  • 如要將密集配置政策套用至任何其他支援的運算執行個體,請向 beta.resourcePolicies.insert 方法發出 POST 要求,藉此建立政策。在要求主體中加入下列內容:

    • collocation 欄位設為 COLLOCATED

    • 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。

  • REGION:要建立放置群組政策的區域。

    • MAX_DISTANCE:運算執行個體的最大距離設定。值必須介於 1 (指定將運算執行個體放在同一個子區塊,盡可能降低網路延遲) 和 3 (指定將運算執行個體放在同一個叢集) 之間

套用密集配置政策

您可以將密集配置政策套用至現有的運算執行個體或代管執行個體群組 (MIG),也可以在建立運算執行個體、執行個體範本、MIG 或運算執行個體預留項目時套用。

如要將密集配置政策套用至 Compute Engine 資源,請選取下列其中一種方法:

將密集配置政策套用至執行個體後,您可以驗證執行個體的實體位置,瞭解該執行個體與指定相同配置政策的其他執行個體之間的關係。

將政策套用至現有的執行個體

將密集配置政策套用至現有運算執行個體之前,請確認下列事項:

否則,將密集配置政策套用至運算執行個體就會失敗。 如果運算執行個體已指定刊登位置政策,且您想替換該政策,請參閱「替換運算執行個體中的刊登位置政策」。

如要將密集配置政策套用至現有的運算執行個體,請選取下列其中一個選項:

gcloud

  1. 停止運算執行個體

  2. 如要將密集配置政策套用至現有的運算執行個體,請使用 gcloud compute instances add-resource-policies 指令

    gcloud compute instances add-resource-policies INSTANCE_NAME \
        --resource-policies=POLICY_NAME \
        --zone=ZONE
    

    更改下列內容:

    • INSTANCE_NAME:現有運算執行個體的名稱。

    • POLICY_NAME:現有精簡放置政策的名稱。

    • ZONE:運算執行個體所在的可用區。

  3. 重新啟動執行個體

REST

  1. 停止運算執行個體

  2. 如要將密集配置政策套用至現有的運算執行個體,請對 instances.addResourcePolicies 方法發出 POST 要求。

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/addResourcePolicies
    
    {
      "resourcePolicies": [
        "projects/PROJECT_ID/regions/REGION/resourcePolicies/POLICY_NAME"
      ]
    }
    

    更改下列內容:

    • PROJECT_ID:密集配置政策和運算執行個體所在的專案 ID。

    • ZONE:運算執行個體所在的可用區。

    • INSTANCE_NAME:現有運算執行個體的名稱。

    • REGION:密集配置政策所在的區域。

    • POLICY_NAME:現有精簡放置政策的名稱。

  3. 重新啟動運算執行個體

在建立執行個體時套用政策

您只能在與配置政策相同的區域中,建立指定密集配置政策的運算執行個體。

如要建立指定密集配置政策的運算執行個體,請選取下列任一選項:

gcloud

如要建立指定密集配置政策的運算執行個體,請使用 gcloud compute instances create 指令搭配 --maintenance-policy--resource-policies 旗標。

gcloud compute instances create INSTANCE_NAME \
    --machine-type=MACHINE_TYPE \
    --maintenance-policy=MAINTENANCE_POLICY \
    --resource-policies=POLICY_NAME \
    --zone=ZONE

更改下列內容:

  • INSTANCE_NAME:要建立的運算執行個體名稱。

  • MACHINE_TYPE:適用於密集配置政策的支援機型

  • MAINTENANCE_POLICY:運算執行個體的主機維護政策。如果您指定的密集配置政策使用 12 的最大距離值,或所選機型不支援即時遷移,則只能指定 TERMINATE。否則,您可以指定 MIGRATETERMINATE

  • POLICY_NAME:現有精簡放置政策的名稱。

  • ZONE:要建立運算執行個體的可用區。

REST

如要建立指定密集配置政策的運算執行個體,請對 instances.insert 方法發出 POST 要求。在要求主體中加入 onHostMaintenanceresourcePolicies 欄位。

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances

{
  "name": "INSTANCE_NAME",
  "machineType": "zones/ZONE/machineTypes/MACHINE_TYPE",
  "disks": [
    {
      "boot": true,
      "initializeParams": {
        "sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE"
      }
    }
  ],
  "networkInterfaces": [
    {
      "network": "global/networks/default"
    }
  ],
  "resourcePolicies": [
    "projects/PROJECT_ID/regions/REGION/resourcePolicies/POLICY_NAME"
  ],
  "scheduling": {
    "onHostMaintenance": "MAINTENANCE_POLICY"
  }
}

更改下列內容:

  • PROJECT_ID:精簡放置政策所在的專案 ID。

  • ZONE:要建立運算執行個體的可用區,以及機型所在的可用區。您只能在密集配置政策的區域中指定區域。

  • INSTANCE_NAME:要建立的運算執行個體名稱。

  • MACHINE_TYPE:適用於密集配置政策的支援機型

  • IMAGE_PROJECT:包含映像檔的映像檔專案,例如 debian-cloud。如要進一步瞭解支援的映像檔專案,請參閱「公開映像檔」。

  • IMAGE:指定下列其中一項:

    • 特定版本的 OS 映像檔,例如 debian-12-bookworm-v20240617

    • 映像檔系列,格式必須為 family/IMAGE_FAMILY。這會指定最新的非已淘汰 OS 映像檔。舉例來說,如果您指定 family/debian-12,系統會使用 Debian 12 映像檔系列中的最新版本。如要進一步瞭解如何使用映像檔系列,請參閱「映像檔系列最佳做法」。

  • REGION:密集配置政策所在的區域。

  • POLICY_NAME:現有精簡放置政策的名稱。

  • MAINTENANCE_POLICY:運算執行個體的主機維護政策。如果您指定的密集配置政策使用 12 的最大距離值,或所選機型不支援即時遷移,則只能指定 TERMINATE。否則,您可以指定 MIGRATETERMINATE

如要進一步瞭解如何設定選項來建立運算執行個體,請參閱「建立及啟動運算執行個體」。

大量建立執行個體時套用政策

您只能使用與配置政策位於相同區域的密集配置政策,大量建立運算執行個體。

如要大量建立指定密集配置政策的運算執行個體,請選取下列任一選項:

gcloud

如要大量建立指定密集配置政策的運算執行個體,請使用 gcloud compute instances bulk create 指令搭配 --maintenance-policy--resource-policies 旗標。

舉例來說,如要在單一可用區中大量建立運算執行個體,並指定運算執行個體的名稱格式,請執行下列指令:

gcloud compute instances bulk create \
    --count=COUNT \
    --machine-type=MACHINE_TYPE \
    --maintenance-policy=MAINTENANCE_POLICY \
    --name-pattern=NAME_PATTERN \
    --resource-policies=POLICY_NAME \
    --zone=ZONE

更改下列內容:

  • COUNT:要建立的運算執行個體數量,不得高於指定密集配置政策支援的運算執行個體數量上限

  • MACHINE_TYPE:適用於密集配置政策的支援機型

  • MAINTENANCE_POLICY:運算執行個體的主機維護政策。如果您指定的密集配置政策使用 12 的最大距離值,或所選機型不支援即時遷移,則只能指定 TERMINATE。否則,您可以指定 MIGRATETERMINATE

  • NAME_PATTERN:運算執行個體的名稱模式。如要取代運算執行個體名稱中的一連串數字,請使用一連串井字號 (#) 字元。舉例來說,如果名稱模式使用 vm-#,產生的執行個體名稱就會以 vm-1vm-2 開頭,並持續到 COUNT 指定的運算執行個體數量。

  • POLICY_NAME:現有精簡放置政策的名稱。

  • ZONE:要大量建立運算執行個體的可用區。

REST

如要大量建立指定密集配置政策的運算執行個體,請對 instances.bulkInsert 方法發出 POST 要求。在要求主體中加入 onHostMaintenanceresourcePolicies 欄位。

舉例來說,如要在單一可用區中大量建立運算執行個體,並指定運算執行個體的名稱格式,請提出 POST 要求,如下所示:

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/bulkInsert

{
  "count": "COUNT",
  "namePattern": "NAME_PATTERN",
  "instanceProperties": {
    "machineType": "MACHINE_TYPE",
    "disks": [
      {
        "boot": true,
        "initializeParams": {
          "sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE"
        }
      }
    ],
    "networkInterfaces": [
      {
        "network": "global/networks/default"
      }
    ],
    "resourcePolicies": [
      "projects/PROJECT_ID/regions/REGION/resourcePolicies/POLICY_NAME"
    ],
    "scheduling": {
      "onHostMaintenance": "MAINTENANCE_POLICY"
    }
  }
}

更改下列內容:

  • PROJECT_ID:精簡放置政策所在的專案 ID。

  • ZONE:要大量建立運算執行個體的可用區。

  • COUNT:要建立的運算執行個體數量,不得高於指定密集配置政策的支援執行個體數量上限

  • NAME_PATTERN:運算執行個體的名稱模式。如要在執行個體名稱中取代一連串數字,請使用一連串井字號 (#) 字元。舉例來說,使用 vm-# 做為名稱模式會產生名稱開頭為 vm-1vm-2 的運算執行個體,並持續產生,直到達到 COUNT 指定的運算執行個體數量為止。

  • MACHINE_TYPE:適用於密集配置政策的支援機型

  • IMAGE_PROJECT:包含映像檔的映像檔專案,例如 debian-cloud。如要進一步瞭解支援的映像檔專案,請參閱「公開映像檔」。

  • IMAGE:指定下列其中一項:

    • 特定版本的 OS 映像檔,例如 debian-12-bookworm-v20240617

    • 映像檔系列,格式必須為 family/IMAGE_FAMILY。這會指定最新的非已淘汰 OS 映像檔。舉例來說,如果您指定 family/debian-12,系統會使用 Debian 12 映像檔系列中的最新版本。如要進一步瞭解如何使用映像檔系列,請參閱「映像檔系列最佳做法」。

  • REGION:密集配置政策所在的區域。

  • POLICY_NAME:現有精簡放置政策的名稱。

  • MAINTENANCE_POLICY:執行個體的主機維護政策。如果您指定的密集配置政策使用 12 的最大距離值,或是所選機型不支援即時遷移,則只能指定 TERMINATE。否則,您可以指定 MIGRATETERMINATE

如要進一步瞭解如何大量建立運算執行個體的設定選項,請參閱「大量建立運算執行個體」。

建立預訂時套用政策

如要建立指定密集配置政策的單一專案隨選預留項目,請建立明確指定的預留項目。建立運算執行個體來使用預留項目時,請確認下列事項:

  • 運算執行個體必須指定套用至預留項目的相同密集配置政策。

  • 運算執行個體必須明確指定保留項目,才能使用該項目。詳情請參閱「從特定預留項目使用運算執行個體」。

如要建立採用密集配置政策的單一專案預留項目,請選取下列其中一種方法:

如要直接指定屬性,並建立採用密集配置政策的單一專案預留項目,請選取下列其中一個選項:

控制台

  1. 前往 Google Cloud 控制台的「Reservations」(預留項目) 頁面。

    前往「Reservations」(預留項目) 頁面

  2. 按一下 「建立預留項目」。「Create a reservation」(建立預留項目) 頁面隨即顯示。

  3. 在「Name」(名稱) 欄位中,輸入預留項目的名稱。

  4. 在「Region」(區域) 和「Zone」(可用區) 清單中,選取要預留資源的區域和可用區。

  5. 在「Use with VM instance」(搭配 VM 執行個體使用) 部分,選取「Select specific reservation」(選取特定保留項目)

  6. 在「VM instances and GPUs」(VM 執行個體和 GPU) 專區中,執行以下操作:

    1. 在「Number of VM instances」(VM 執行個體數量) 欄位中,輸入要預留的 VM 數量。

    2. 指定支援密集配置政策的機器系列和類型。

  7. 在「群組配置政策」部分,按一下「選取或建立群組配置政策」清單,然後執行下列其中一項操作:

    • 如要建立密集配置政策,請完成下列步驟:

      1. 按一下「建立群組配置政策」。「建立群組配置政策」窗格隨即顯示。

      2. 在「Policy name」(政策名稱) 欄位中,輸入政策名稱。

      3. 點選「建立」

    • 如要選取現有的密集配置政策,請選取要預留執行個體所在的區域中現有的政策。

  8. 如要建立預留項目,請點選「Create」(建立)

gcloud

如要直接指定屬性,並使用密集配置政策建立單一專案預留項目,請使用 gcloud compute reservations create 指令搭配 --require-specific-reservation--resource-policies=policy 旗標。

gcloud compute reservations create RESERVATION_NAME \
    --machine-type=MACHINE_TYPE \
    --require-specific-reservation \
    --resource-policies=policy=POLICY_NAME \
    --vm-count=NUMBER_OF_INSTANCES \
    --zone=ZONE

更改下列內容:

  • RESERVATION_NAME:預訂名稱。

  • MACHINE_TYPE:適用於密集配置政策的支援機型

  • POLICY_NAME:現有精簡放置政策的名稱。

  • NUMBER_OF_INSTANCES:要預留的運算執行個體數量,不得高於指定密集配置政策的支援執行個體數量上限

  • ZONE:要預留運算執行個體的可用區。 您只能在指定密集配置政策的區域中,預留運算執行個體。

REST

如要直接指定屬性,並透過密集配置政策建立單一專案預留項目,請對 reservations.insert 方法發出 POST 要求。在要求主體中加入 resourcePolicies 欄位,並將 specificReservationRequired 欄位設為 true

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/reservations

{
  "name": "RESERVATION_NAME",
  "resourcePolicies": {
    "policy" : "projects/PROJECT_ID/regions/REGION/resourcePolicies/POLICY_NAME"
  },
  "specificReservation": {
    "count": "NUMBER_OF_INSTANCES",
    "instanceProperties": {
      "machineType": "MACHINE_TYPE",
    }
  },
  "specificReservationRequired": true
}

更改下列內容:

  • PROJECT_ID:精簡放置政策所在的專案 ID。

  • ZONE:要預留運算執行個體的可用區。 您只能在指定密集配置政策的區域中,預留運算執行個體。

  • RESERVATION_NAME:預訂名稱。

  • REGION:密集配置政策所在的區域。

  • POLICY_NAME:現有精簡放置政策的名稱。

  • NUMBER_OF_INSTANCES:要預留的運算執行個體數量,不得高於指定密集配置政策支援的運算執行個體數量上限

  • MACHINE_TYPE:適用於密集配置政策的支援機型

如要進一步瞭解如何設定單一專案預留項目,請參閱「為單一專案建立預留項目」。

在建立執行個體範本時套用政策

如要建立區域執行個體範本,範本和密集配置政策必須位於相同區域。否則,系統會無法建立執行個體範本。

建立指定密集配置政策的執行個體範本後,您可以使用該範本執行下列操作:

如要建立指定密集配置政策的執行個體範本,請使用下列其中一種方法:

  • 如要使用新的密集配置政策建立區域執行個體範本,請使用 Google Cloud 控制台。新政策未指定距離值上限,且最多可套用至 22 個執行個體。

  • 如要建立指定現有密集配置政策的區域或全域執行個體範本,請使用 gcloud CLI 或 REST API。

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

控制台

  1. 前往 Google Cloud 控制台的「Instance templates」(執行個體範本) 頁面。

    前往「Instance templates」(執行個體範本)

  2. 按一下「建立執行個體範本」。「建立執行個體範本」頁面隨即顯示。

  3. 在「Region」(區域) 欄位中,指定要建立密集配置政策和執行個體範本的區域。

  4. 在「Machine configuration」(機器設定) 區段中,指定支援密集配置政策的機器系列和類型。

  5. 在「Placement policy」(放置政策) 部分的「Placement policy」(放置政策) 清單中,選取「Compact」(緊密)。選取這個選項後,控制台會自動產生精簡的刊登位置政策,不含最大距離值,最多支援 22 個執行個體。Google Cloud

  6. 點選「建立」

gcloud

如要建立指定密集配置政策的執行個體範本,請使用 gcloud compute instance-templates create 指令搭配 --maintenance-policy--resource-policies 旗標。

舉例來說,如要建立指定緊密放置政策的全域執行個體範本,請執行下列指令:

gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \
    --machine-type=MACHINE_TYPE \
    --maintenance-policy=MAINTENANCE_POLICY \
    --resource-policies=POLICY_NAME

更改下列內容:

  • INSTANCE_TEMPLATE_NAME:執行個體範本的名稱。

  • MACHINE_TYPE:適用於密集配置政策的支援機型

  • MAINTENANCE_POLICY主機維護政策。如果您指定的密集配置政策使用 12 的最大距離值,或所選機型不支援即時遷移,則只能指定 TERMINATE。否則,您可以指定 MIGRATETERMINATE

  • POLICY_NAME:現有精簡放置政策的名稱。

REST

如要建立指定密集配置政策的執行個體範本,請對下列其中一種方法發出 POST 要求:

在要求主體中加入 onHostMaintenanceresourcePolicies 欄位。

舉例來說,如要建立指定緊湊放置策略的全域執行個體範本,請發出下列 POST 要求:

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/instanceTemplates

{
  "name": "INSTANCE_TEMPLATE_NAME",
  "properties": {
    "disks": [
      {
        "boot": true,
        "initializeParams": {
          "sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE"
        }
      }
    ],
    "machineType": "MACHINE_TYPE",
    "networkInterfaces": [
      {
        "network": "global/networks/default"
      }
    ],
    "resourcePolicies": [
      "POLICY_NAME"
    ],
    "scheduling": {
      "onHostMaintenance": "MAINTENANCE_POLICY"
    }
  }
}

更改下列內容:

  • PROJECT_ID:精簡放置政策所在的專案 ID。

  • INSTANCE_TEMPLATE_NAME:執行個體範本的名稱。

  • IMAGE_PROJECT:包含映像檔的映像檔專案,例如 debian-cloud。如要進一步瞭解支援的映像檔專案,請參閱「公開映像檔」。

  • IMAGE:指定下列其中一項:

    • 特定版本的 OS 映像檔,例如 debian-12-bookworm-v20240617

    • 映像檔系列,格式必須為 family/IMAGE_FAMILY。這會指定最新的非已淘汰 OS 映像檔。舉例來說,如果您指定 family/debian-12,系統會使用 Debian 12 映像檔系列中的最新版本。如要進一步瞭解如何使用映像檔系列,請參閱「映像檔系列最佳做法」。

  • MACHINE_TYPE:適用於密集配置政策的支援機型

  • POLICY_NAME:現有精簡放置政策的名稱。

  • MAINTENANCE_POLICY主機維護政策。如果您指定的密集配置政策使用 12 的最大距離值,或所選機型不支援即時遷移,則只能指定 TERMINATE。否則,您可以指定 MIGRATETERMINATE

如要進一步瞭解如何設定選項來建立執行個體範本,請參閱「建立執行個體範本」。

將政策套用至 MIG 中的執行個體

建立執行個體範本並指定密集配置政策後,您可以使用該範本執行下列操作:

在建立 MIG 時套用政策

只有當運算執行個體與配置政策位於相同區域時,您才能建立指定密集配置政策的運算執行個體。

如要使用指定密集配置政策的執行個體範本建立 MIG,請選取下列任一選項:

gcloud

如要使用指定緊密放置政策的執行個體範本建立 MIG,請使用 gcloud compute instance-groups managed create 指令

舉例來說,如要使用指定密集配置政策的全域執行個體範本建立可用區 MIG,請執行下列指令:

gcloud compute instance-groups managed create INSTANCE_GROUP_NAME \
    --size=SIZE \
    --template=INSTANCE_TEMPLATE_NAME \
    --zone=ZONE

更改下列內容:

  • INSTANCE_GROUP_NAME:要建立的 MIG 名稱。

  • SIZE:MIG 的大小。

  • INSTANCE_TEMPLATE_NAME:現有全域執行個體範本的名稱,該範本指定了密集配置政策。

  • ZONE:要建立 MIG 的可用區,必須位於密集配置政策所在的區域。

REST

如要使用指定緊湊放置政策的執行個體範本建立 MIG,請向下列其中一種方法發出 POST 要求:

舉例來說,如要使用指定密集配置政策的全域執行個體範本建立區域 MIG,請發出下列 POST 要求:

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers

{
  "name": "INSTANCE_GROUP_NAME",
  "targetSize": SIZE,
  "versions": [
    {
      "instanceTemplate": "global/instanceTemplates/INSTANCE_TEMPLATE_NAME"
    }
  ]
}

更改下列內容:

  • PROJECT_ID:精簡放置政策和指定放置政策的執行個體範本所在的專案 ID。

  • ZONE:要建立 MIG 的可用區,必須位於密集配置政策所在的區域。

  • INSTANCE_GROUP_NAME:要建立的 MIG 名稱。

  • INSTANCE_TEMPLATE_NAME:現有全域執行個體範本的名稱,該範本指定了密集配置政策。

  • SIZE:MIG 的大小。

如要進一步瞭解建立 MIG 的設定選項,請參閱「建立 MIG 的基本情境」。

將政策套用至現有 MIG

只有當現有 MIG 與配置政策位於相同區域,或區域 MIG 與配置政策位於相同區域的可用區時,您才能將密集配置政策套用至現有 MIG。

如要更新 MIG,使其使用指定密集配置政策的執行個體範本,請選取下列其中一個選項:

gcloud

如要更新 MIG,使其使用指定緊密放置政策的執行個體範本,請使用 gcloud compute instance-groups managed rolling-action start-update 指令

舉例來說,如要更新區域代管執行個體群組,以使用指定密集配置政策的執行個體範本,並將代管執行個體群組中的現有運算執行個體,替換為指定範本屬性的新運算執行個體,請執行下列指令:

gcloud compute instance-groups managed rolling-action start-update MIG_NAME \
    --version=template=INSTANCE_TEMPLATE_NAME \
    --zone=ZONE

更改下列內容:

  • MIG_NAME:現有 MIG 的名稱。

  • INSTANCE_TEMPLATE_NAME:現有全域執行個體範本的名稱,該範本指定了密集配置政策。

  • ZONE:MIG 所在的可用區。您只能將密集配置政策套用至與該政策位於同一區域的 MIG。

REST

如要更新 MIG,使其使用指定緊密放置政策的執行個體範本,並自動將範本和放置政策的屬性套用至 MIG 中的現有運算執行個體,請對下列其中一種方法發出 PATCH 要求:

舉例來說,如要更新區域代管執行個體群組,使用指定密集配置政策的全域執行個體範本,並將代管執行個體群組中的現有運算執行個體,替換為指定範本屬性的新運算執行個體,請發出下列 PATCH 要求:

PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/MIG_NAME

{
  "instanceTemplate": "global/instanceTemplates/INSTANCE_TEMPLATE_NAME"
}

更改下列內容:

  • PROJECT_ID:代管執行個體群組、密集配置政策,以及指定配置政策的執行個體範本所在的專案 ID。

  • ZONE:MIG 所在的可用區。您只能將密集配置政策套用至與該政策位於同一區域的 MIG。

  • MIG_NAME:現有 MIG 的名稱。

  • INSTANCE_TEMPLATE_NAME:現有全域執行個體範本的名稱,該範本指定了密集配置政策。

如要進一步瞭解更新 MIG 中運算執行個體的設定選項,請參閱「更新 MIG 中執行個體的設定並套用新設定」。

後續步驟