簡素化されたコンピューティング ノード通信を使用する

Azure Batch プールには、Batch タスクの形式でユーザー指定のワークロードを実行する 1 つ以上の計算ノードが含まれています。 Batch の機能と Batch プール インフラストラクチャの管理を有効にするには、計算ノードが Azure Batch サービスと通信する必要があります。

Batch では、次の 2 種類の通信モードをサポートします。

  • クラシック: Batch サービスが計算ノードとの通信を開始します。
  • シンプル: 計算ノードが Batch サービスとの通信を開始します。

このドキュメントでは、"シンプル" 通信モードおよび関連するネットワーク構成要件について説明します。

ヒント

NSG などのネットワーク リソースとルールに関するこのドキュメントの情報は、インターネット送信アクセスのないノード管理プライベート エンドポイントを使用する、パブリック IP アドレスのない Batch プールには適用されません。

警告

"クラシック" 計算ノード通信モードは、2026 年 3 月 31 日に廃止され、このドキュメントで説明されている "シンプル" 通信モードに置き換えられます。 詳細については、通信モードの移行ガイドを参照してください。

サポートされているリージョン

現在、Azure Batch での簡素化された計算ノード通信は、次のリージョンで利用できます。

  • パブリック: インド西部を除く Batch が存在するすべてのパブリック リージョン。
  • 政府: USGov アリゾナ、USGov バージニア、USGov テキサス。
  • 中国: 中国北部 1 と中国東部 1 を除く、Batch が存在するすべての中国リージョン。

クラシック モードとシンプル モードの違い

簡略化計算ノード通信モードでは、ユーザーのために Batch プール インフラストラクチャの管理方法を効率化します。 この通信モードによって、ベースライン操作に必要なインバウンドとアウトバウンドのネットワーク接続の複雑さとスコープが軽減されます。

"クラシック" 通信モードを使用する Batch プールでは、仮想ネットワークにプールを作成するときに、ネットワーク セキュリティ グループ (NSG)、ユーザー定義ルート (UDR)、ファイアウォールで次のネットワーク規則が必要です。

  • 受信

    • BatchNodeManagement.<region> からの TCP 経由での宛先ポート 2987629877
  • 送信

    • Storage.<region> への TCP 経由での宛先ポート 443
    • ジョブ マネージャーのタスクなど、Batch サービスに戻る通信を必要とする特定のワークロード用の、BatchNodeManagement.<region> への TCP 経由での宛先ポート 443

"簡易" 通信モードの Batch プールでは、Batch アカウントのノード管理エンドポイントへの送信アクセスのみが必要です (「Batch アカウントのパブリック エンドポイント」を参照)。 NSG、UDR、ファイアウォールで次のネットワーク規則が必要です。

  • 受信

    • None
  • 送信

    • BatchNodeManagement.<region> への ANY 経由での宛先ポート 443

Batch アカウントのアウトバウンドの要件は、List Outbound Network Dependencies Endpoints API を使用して検出できます。 この API により、Batch アカウント プールの通信モードに応じた、依存関係の基本セットが報告されます。 ユーザー固有のワークロードでは、他の Azure リソース (アプリケーション パッケージ用の Azure Storage、Azure Container Registry など) へのトラフィックを開くといった追加の規則や、仮想ファイル システム マウント機能用の Microsoft パッケージ リポジトリなどのエンドポイントが必要になる場合があります。

シンプル モードの利点

簡略化モードを利用する Azure Batch ユーザーは、ネットワーク接続と規則の簡素化による利点を得られます。 簡素化された計算ノード通信を使用すると、インターネットからのインバウンド通信用にポートを開く必要がなくなり、セキュリティ リスクを軽減できます。 ベースライン操作には、既知のサービス タグへの 1 つのアウトバウンド規則だけが必要です。

"シンプル" モードでは、さらに、Storage.<region> へのアウトバウンド通信が必要なくなるため、"クラシック" 通信モードよりきめ細かくデータ流出を制御できます。 ワークフローで必要な場合は、Azure Storage へのアウトバウンド通信を明示的にロックダウンできます。 たとえば、リソース ファイルまたは出力ファイルに対して AppPackage ストレージ アカウントまたはその他のストレージ アカウントを有効にするように、Azure Storage へのアウトバウンド通信規則のスコープを設定できます。

ワークロードが (次のセクションで説明するように) 現在変更の影響を受けていない場合でも、シンプル モードに移行することをお勧めします。 Batch サービスの今後の機能強化は、シンプル計算ノード通信でしか機能しない可能性があります。

クラシックと簡略化のそれぞれの通信モードで起こる可能性のある影響

多くの場合、シンプル通信モードが Batch ワークロードに直接影響することはありません。 ただし、次の場合は、簡略化計算ノード通信による影響があります。

  • Batch プールの作成の一環として仮想ネットワークを指定し、次のアクションのいずれかまたは両方を実行するユーザー。
    • 簡素化された計算ノード通信と互換性のないアウトバウンド ネットワーク トラフィック規則を明示的に無効にする。
    • 簡素化された計算ノード通信と互換性のない UDR およびファイアウォール規則を使用する。
  • 計算ノードでソフトウェア ファイアウォールを有効にし、簡略化計算ノード通信と互換性のないソフトウェア ファイアウォール規則でアウトバウンド トラフィックを明示的に無効にするユーザー。

いずれかのケースが当てはまる場合は、次のセクションで説明する手順に従って、Batch ワークロードがシンプル モードでも引き続き機能することを確認してください。 変更を運用環境にプッシュする前に、まず開発およびテストの環境ですべての変更をテストして検証することを強くお勧めします。

シンプル モードのために必要なネットワーク構成の変更

新しい通信モードに移行するには、次の手順が必要です。

  1. Batch プールに適用されるネットワーク構成 (NSG、UDR、ファイアウォールなど) に、モードを結合したもの (つまり、クラシックとシンプルの両方のモードを結合したネットワーク規則) が含まれていることを確認します。 少なくとも、これらのルールは次のようになります。
    • 受信:
      • BatchNodeManagement.<region> からの TCP 経由での宛先ポート 2987629877
    • 送信:
      • Storage.<region> への TCP 経由での宛先ポート 443
      • BatchNodeManagement.<region> への ANY 経由での宛先ポート 443
  2. ワークフローでインバウンドまたはアウトバウンドの他のシナリオが必要な場合、規則にこれらの要件が反映されているか確認する必要があります。
  3. 次のいずれかのオプションを使って、新しい通信モードを使用するようにワークロードを更新します。
    • targetNodeCommunicationModesimplified に設定して新しいプールを作成し、新しいプールが正しく動作していることを確認します。 ワークロードを新しいプールに移行し、以前のプールを削除します。
    • 既存のプールの targetNodeCommunicationMode プロパティを simplified に更新し、既存のすべてのプールのサイズを 0 ノードに変更し、スケールアウトし直します。
  4. Get Pool API、List Pool API または Azure portal を使用して、currentNodeCommunicationMode が目的の通信モードである simplified に設定されていることを確認します。
  5. 適用可能なすべてのネットワーク構成を、少なくとも簡略化された通信ルールに変更します (上記で説明したように必要な追加のルールに注意してください)。
    • 受信:
      • なし
    • 送信:
      • BatchNodeManagement.<region> への ANY 経由での宛先ポート 443

これらの手順に従った後で、"クラシック" 計算ノード通信に戻す場合は、次のアクションを実行する必要があります。

  1. "シンプル" 計算ノード通信モードでしか動作しないネットワーク構成を元に戻します。
  2. 新しいプールを作成するか、既存のプールの targetNodeCommunicationMode プロパティを classic に設定して更新します。
  3. ワークロードをこれらのプールに移行するか、既存のプールのサイズを変更してスケールアウトします (上の手順 3 を参照)。
  4. 上の手順 4 を参照して、プールが "クラシック" 通信モードで動作していることを確認します。
  5. 必要に応じて、ネットワーク構成を復元します。

Batch プールで通信モードを指定する

Batch プールの targetNodeCommunicationMode プロパティを使用すると、Batch サービスと計算ノードの間で、どの通信モードを Batch サービスに優先させるかを示すことができます。 このプロパティで使用できるオプションを次に示します。

  • クラシック: クラシック計算ノード通信を使用してプールを作成します。
  • シンプル: シンプル計算ノード通信を使用してプールを作成します。
  • 既定値: Batch サービスが適切な計算ノード通信モードを選択できるようにします。 仮想ネットワークのないプールの場合、プールはクラシックまたはシンプル モードで作成できます。 仮想ネットワークのあるプールの場合、2024 年 9 月 30 日まで、プールは既定で常にクラシックに設定されます。 詳細については、クラシック計算ノード通信モードの「移行ガイド」を参照してください。

ヒント

ターゲット ノードの通信モードの指定は、Batch サービスでの優先設定を示すものであり、それが有効になることを保証するものではありません。 プールの特定の構成によって、指定されたターゲット ノード通信モードが有効にならない場合があります。たとえば、パブリック IP アドレスなしとの対話、仮想ネットワーク、プール構成の種類などです。

次の例は、シンプル計算ノード通信を使用して Batch プールを作成する方法を示しています。

Azure portal

まず、Azure portal にサインインします。 Batch アカウントの [プール] ブレードに移動し、[追加] ボタンを選びます。 [OPTIONAL SETTINGS] (オプション設定) で、次のように[Node communication mode] (ノード通信モード) のプルダウンからオプションとして [Simplified] (シンプル) を選択できます。

Screenshot that shows creating a pool with simplified mode.

既存のプールをシンプル通信モードに更新するには、Batch アカウントの [プール] ブレードに移動し、更新するプールをクリックします。 左側のナビゲーションで、[Node communication mode] (ノード通信モード) を選択します。 そこで、以下に示されているように、新しいターゲット ノード通信モードを選択できます。 適切な通信モードを選択したら、[保存] ボタンをクリックして更新します。 最初にプールを 0 ノードにスケールダウンしてから、変更を有効にするために元に戻す必要があります (条件的に可能な場合)。

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 プールの構成を Cloud Services から仮想マシンに移行する」を参照してください。

次のステップ