分享方式:


使用簡化的計算節點通訊

Azure Batch 集區包含一或多個計算節點,這些節點會以 Batch 工作的形式執行使用者指定的工作負載。 若要啟用 Batch 功能和 Batch 集區基礎結構管理,則計算節點必須與 Azure Batch 服務通訊。

Batch 支援兩種類型的通訊模式:

  • 傳統:Batch 服務起始與計算節點的通訊。
  • 簡化:計算節點起始與 Batch 服務的通訊。

本文說明「簡化」通訊模式及其相關聯的網路設定需求。

提示

本文件中關於網路資源和規則的資訊 (例如 NSG) 不適用於沒有公用 IP 位址的 Batch 集區,這些集區使用無網際網路輸出存取的節點管理私人端點。

警告

「傳統」計算節點通訊模式將於 2026 年 3 月 31 日淘汰,取而代之的是本文件中所述的「簡化」通訊模式。 如需詳細資訊,請參閱通訊模式移轉指南

支援的區域

Azure Batch 中的簡化計算節點通訊目前適用於下列區域:

  • 公用:提供 Batch 的所有公用區域,但印度西部除外。
  • 政府:USGov 亞利桑那州、USGov 維吉尼亞州、USGov 德克薩斯州。
  • 中國:提供 Batch 的所有中國區域,但中國北部 1 和中國東部 1 除外。

傳統和簡化模式之間的差異

簡化的計算節點通訊模式可簡化 Batch 集區基礎結構代表使用者管理的方式。 此通訊模式可減少基準作業所需之輸入和輸出網路連線的複雜性和範圍。

使用「傳統」通訊模式的 Batch 集區,在虛擬網路中建立集區時,在網路安全性群組 (NSG)、使用者定義路由 (UDR) 以及防火牆中,需要有下列網路規則:

  • 輸入:

    • BatchNodeManagement.<region> 透過 TCP,目的地連接埠為 2987629877
  • 輸出:

    • 透過 TCP 到 Storage.<region>,目的地連接埠為 443
    • 若是需要通訊返回至 Batch 服務的特定工作負載,例如作業管理員工作,則是透過 TCP 到 BatchNodeManagement.<region>,目的地連接埠為 443

使用「簡化」通訊模式的 Batch 集區只需要 Batch 帳戶節點管理端點的輸出存取權 (請參閱 Batch 帳戶公用端點)。 這些集區在 NSG、UDR 和防火牆中,需要有下列網路規則:

  • 輸入:

  • 輸出:

    • 透過 ANY 到 BatchNodeManagement.<region>,目的地連接埠為 443

您可以使用列出輸出網路相依性端點 API 來探索 Batch 帳戶的輸出需求。 此 API 會根據 Batch 帳戶集區通訊模型回報基底相依性集合。 使用者特定的工作負載可能需要額外的規則,例如將流量開放給其他 Azure 資源,如適用於應用程式封裝的 Azure 儲存體、Azure Container Registry,或是開放給端點,如Microsoft 封裝存放庫,以使用虛擬檔案系統掛接功能。

簡化模式的優點

利用簡化模式的 Azure Batch 使用者可受益於簡化的網路連線和規則。 簡化的計算節點通訊可藉由移除從網際網路輸入通訊的開啟連接埠需求,協助降低安全性風險。 基準作業僅需要已知服務標籤的單一輸出規則。

由於不再需要 Storage.<region> 的輸出通訊,比起「傳統」通訊模式,「簡化」通訊還可以提供更細微的資料外流控制。 您可以視需要針對工作流程明確鎖定對 Azure 儲存體的輸出通訊。 例如,您可以將輸出通訊規則的範圍設定為 Azure 儲存體,以啟用 AppPackage 儲存體帳戶,或其他資源檔或輸出檔案的儲存體帳戶。

即使您的工作負載目前不受變更影響 (如下一節所述),仍建議您移至簡化模式。 Batch 服務未來的改善功能可能只能與簡化計算節點通訊搭配運作。

傳統和簡化通訊模式之間的潛在影響

在許多情況下,簡化通訊模式不會直接影響您的 Batch 工作負載。 不過,簡化計算節點通訊會對下列情況造成影響:

  • 使用者在建立 Batch 集區期間指定虛擬網路,並執行下列其中一項或兩項動作:
    • 明確停用與簡化的計算節點通訊不相容的輸出網路流量規則。
    • 使用與簡化的計算節點通訊不相容的 UDR 和防火牆規則。
  • 使用者在計算節點啟用軟體防火牆,並明確停用與簡化的計算節點通訊不相容的軟體防火牆規則輸出流量。

如果其中一種情況適用於您,則請遵循下一節所述的步驟,確保您的 Batch 工作負載仍可在簡化模式中運作。 強烈建議您先在開發和測試環境中測試並驗證所有變更,再將變更推送至生產環境。

簡化模式必要的網路設定變更

移轉至新的通訊模型需要執行下列步驟:

  1. 確定適用於 Batch 集區的網路設定 (NSG、UDR、防火牆等) 包含這些模式的聯集,也就是傳統和簡化模式的合併網路規則。 這些規則至少要為:
    • 輸入:
      • BatchNodeManagement.<region> 透過 TCP,目的地連接埠為 2987629877
    • 輸出:
      • 透過 TCP 到 Storage.<region>,目的地連接埠為 443
      • 透過 ANY 到 BatchNodeManagement.<region>,目的地連接埠為 443
  2. 如果您的工作流程需要任何其他輸入或輸出的案例,您必須確定您的規則可以反映這些需求。
  3. 使用下列其中一個選項來更新您的工作負載,以使用新的通訊模型。
    • 建立新的集區並將 targetNodeCommunicationMode 設定為「簡化」,然後確認新集區正常運作。 將您的工作負載移轉至新的集區,並刪除任何之前的集區。
    • 將現有集區的 targetNodeCommunicationMode 屬性更新為「簡化」,然後將所有現有集區的大小調整至零節點,再擴大調整回來。
  4. 使用取得集區 API、列出集區 API 或 Azure 入口網站,確認已將 currentNodeCommunicationMode 設定為所需的「簡化」通訊模式。
  5. 在最低限度的情況下,將所有適用的網路設定修改為簡化通訊規則 (請注意上述所需的任何額外規則):
    • 輸入:
    • 輸出:
      • 透過 ANY 到 BatchNodeManagement.<region>,目的地連接埠為 443

如果您遵循這些步驟,但稍後想要切換回「傳統」計算節點通訊,您必須採取下列動作:

  1. 還原單獨在「簡化」計算節點通訊模式中運作的任何網路設定。
  2. 建立新的集區,或將現有集區的 targetNodeCommunicationMode 屬性設定為「傳統」
  3. 將您的工作負載移轉至這些集區,或調整現有集區的大小並相應放大 (請參閱上述步驟 3)。
  4. 請參閱上述步驟 4,確認您的集區在「傳統」通訊模式中運作。
  5. 選擇性還原您的網路設定。

指定 Batch 集區上的通訊模式

Batch 集區的 targetNodeCommunicationMode 屬性可讓您表示 Batch 服務在 Batch 服務和計算節點之間利用的通訊模式喜好設定。 以下是此屬性的允許選項:

  • 傳統:建立使用傳統計算節點通訊的集區。
  • 簡化:建立使用簡化計算節點通訊的集區。
  • 預設:允許 Batch 服務選取適當的計算節點通訊模式。 若是沒有虛擬網路的集區,集區可能會以傳統或簡化模式建立。 若是使用虛擬網路的集區,集區一律預設為傳統,直到 2024 年 9 月 30 日為止。 如需詳細資訊,請參閱傳統計算節點通訊模式移轉指南

提示

指定目標節點通訊模式表示 Batch 服務的喜好設定,但不保證系統會接受。 集區上的特定設定可能會防止 Batch 服務接受指定的目標節點通訊模式,例如與無公用 IP 位址、虛擬網路和集區設定類型的互動。

以下是如何使用簡化計算節點通訊建立 Batch 集區的範例。

Azure 入口網站

首先,登入 Azure 入口網站。 接著瀏覽至 Batch 帳戶的 [集區] 刀鋒視窗,選取 [新增] 按鈕。 在 [選擇性設定] 底下,您可以選取 [節點通訊模式] 下拉式清單的 [簡化] 選項,如下所示:

Screenshot that shows creating a pool with simplified mode.

若要將現有集區更新為簡化通訊模式,瀏覽至 Batch 帳戶的 [集區] 刀鋒視窗,然後選取要更新的集區。 在左側導覽中,選取 [節點通訊模式]。 您可以在此選取新的目標節點通訊模式,如下所示。 選取適當的通訊模式之後,選取 [儲存] 按鈕以進行更新。 如果條件允許,您必須先將集區縮小至零節點,然後再擴大調整回來,變更才會生效。

Screenshot that shows updating a pool to simplified mode.

若要顯示集區目前的節點通訊模式,瀏覽至 Batch 帳戶的 [集區] 刀鋒視窗,然後選取要檢視的集區。 選取左側導覽的 [屬性],集區節點通訊模式會顯示在 [一般] 區段底下。

Screenshot that shows properties with a pool with simplified mode.

REST API

此範例示範如何使用 Batch 服務 REST API 建立使用簡化計算節點通訊的集區。

POST {batchURL}/pools?api-version=2022-10-01.16.0
client-request-id: 00000000-0000-0000-0000-000000000000

要求本文

"pool": {
     "id": "pool-simplified",
     "vmSize": "standard_d2s_v3",
     "virtualMachineConfiguration": {
          "imageReference": {
               "publisher": "Canonical",
               "offer": "0001-com-ubuntu-server-jammy",
               "sku": "22_04-lts"
          },
          "nodeAgentSKUId": "batch.node.ubuntu 22.04"
     },
     "resizeTimeout": "PT15M",
     "targetDedicatedNodes": 2,
     "targetLowPriorityNodes": 0,
     "taskSlotsPerNode": 1,
     "taskSchedulingPolicy": {
          "nodeFillType": "spread"
     },
     "enableAutoScale": false,
     "enableInterNodeCommunication": false,
     "targetNodeCommunicationMode": "simplified"
}

限制

以下是簡化通訊模式的已知限制:

  • 之前建立的集區若沒有公用 IP 位址,則可用的移轉支援有限。 集區僅在虛擬網路中建立時才能移轉,否則即使在集區上指定,也不會使用簡化的計算節點通訊。 如需詳細資訊,請參閱移轉指南
  • 雲端服務設定集區目前不支援簡化的計算節點通訊,而且已被取代。 不接受指定這些類型的集區通訊模式,結果會一律採用「傳統」通訊模式。 建議您對 Batch 集區使用虛擬機器設定。 如需詳細資訊,請參閱將 Batch 集區組態從雲端服務移轉至虛擬機器

下一步