Freigeben über


Verwenden der vereinfachten Computeknotenkommunikation

Ein Azure Batch-Pool enthält einen oder mehrere Computeknoten, die benutzerdefinierte Workloads in Form von Batchaufgaben ausführen. Um die Batchfunktionalität und die Verwaltung der Batchpoolinfrastruktur zu aktivieren, müssen Computeknoten mit dem Azure Batch-Dienst kommunizieren.

Batch unterstützt zwei Arten von Kommunikationsmodi:

  • Klassisch: Der Batchdienst initiiert die Kommunikation mit den Computeknoten.
  • Vereinfacht: Die Computeknoten initiieren die Kommunikation mit dem Batchdienst.

In diesem Artikel werden der vereinfachte Kommunikationsmodus und die zugehörigen Netzwerkkonfigurationsanforderungen beschrieben.

Tipp

Informationen in diesem Dokument zu Netzwerkressourcen und Regeln wie NSGs gelten nicht für Batchpools ohne öffentliche IP-Adressen, die den privaten Knotenverwaltungsendpunkt ohne ausgehenden Internetzugriff verwenden.

Warnung

Der klassische Kommunikationsmodus für Computeknoten wird am 31. März 2026 eingestellt und durch den in diesem Dokument beschriebenen vereinfachten Kommunikationsmodus ersetzt.

Unterstützte Regionen

Die vereinfachte Computeknotenkommunikation in Azure Batch ist derzeit für die folgenden Regionen verfügbar:

  • Öffentlich: alle öffentlichen Regionen, in denen Batch vorhanden ist, mit Ausnahme von Westindien.
  • Regierung: USGov Arizona, USGov Virginia, USGov Texas.
  • China: alle Regionen China, in denen Batch vorhanden ist, mit Ausnahme von China Nord 1 und China Ost 1.

Unterschiede zwischen klassischen und vereinfachten Modi

Der vereinfachte Kommunikationsmodus für Computeknoten optimiert die Art und Weise, wie die Batchpoolinfrastruktur im Auftrag von Benutzern verwaltet wird. Dieser Kommunikationsmodus reduziert die Komplexität und den Umfang der eingehenden und ausgehenden Netzwerkverbindungen, die für grundlegende Vorgänge erforderlich sind.

Batchpools mit dem klassischen Kommunikationsmodus erfordern die folgenden Netzwerkregeln in Netzwerksicherheitsgruppen (NSGs), benutzerdefinierten Routen (UDRs) und Firewalls beim Erstellen eines Pools in einem virtuellen Netzwerk:

  • Eingehende:

    • Zielports 29876, 29877 über TCP von BatchNodeManagement.<region>
  • Ausgehende:

    • Zielport 443 über TCP zu Storage.<region>
    • Zielport 443 über TCP zu BatchNodeManagement.<region> für bestimmte Workloads, die eine Rückkommunikation mit dem Batchdienst erfordern, wie zum Beispiel Job-Manager-Aufgaben.

Batchpools mit dem vereinfachten Kommunikationsmodus benötigen nur ausgehenden Zugriff auf den Knotenverwaltungsendpunkt des Batchkontos (siehe öffentliche Batchkontoendpunkte). Sie erfordern die folgenden Netzwerkregeln in NSGs, UDRs und Firewalls:

  • Eingehender Verkehr

    • Nichts
  • Ausgehend:

    • Zielport 443 über ANY nach BatchNodeManagement.<region>

Ausgehende Anforderungen für ein Batchkonto können mithilfe der API zur Auflistung der Endpunkte ausgehender Netzwerkverbindungsabhängigkeiten ermittelt werden. Diese API gibt den Basissatz von Abhängigkeiten abhängig vom Kommunikationsmodell des Batch-Kontopools zurück. Benutzerspezifische Workloads benötigen möglicherweise zusätzliche Regeln wie das Öffnen von Datenverkehr für andere Azure-Ressourcen (z. B. Azure Storage für Anwendungspakete, Azure Container-Registrierung) oder Endpunkte wie das Microsoft-Paket-Repository für die Bereitstellung von virtuellen Dateisystemen.

Vorteile des vereinfachten Modus

Azure Batch-Benutzer, die den vereinfachten Modus nutzen, profitieren von der Vereinfachung von Netzwerkverbindungen und -regeln. Die vereinfachte Computerknotenkommunikation trägt dazu bei, Sicherheitsrisiken zu reduzieren, indem die Anforderung zum Öffnen von Ports für eingehende Kommunikation aus dem Internet entfernt wird. Für Baselinevorgänge ist nur eine einzelne Ausgangsregel für ein bekanntes Diensttag erforderlich.

Der vereinfachte Modus bietet auch eine fein abgestufte Datenexfiltrationskontrolle gegenüber dem klassischen Kommunikationsmodus, da die ausgehende Kommunikation zu Storage.<region> nicht mehr erforderlich ist. Sie können die ausgehende Kommunikation explizit an Azure Storage sperren, wenn dies für Ihren Workflow erforderlich ist. Sie können beispielsweise Ihre ausgehenden Kommunikationsregeln auf Azure Storage beschränken, um Ihre AppPackage-Speicherkonten oder andere Speicherkonten für Ressourcendateien oder Ausgabedateien zu aktivieren.

Auch wenn Ihre Workloads derzeit nicht von den Änderungen betroffen sind (wie im folgenden Abschnitt beschrieben), empfiehlt es sich, in den vereinfachten Modus zu wechseln. Zukünftige Verbesserungen im Batchdienst sind möglicherweise nur mit einer vereinfachten Computeknotenkommunikation funktionsfähig.

Mögliche Auswirkungen zwischen klassischen und vereinfachten Kommunikationsmodi

In vielen Fällen wirkt sich der vereinfachte Kommunikationsmodus nicht direkt auf Ihre Batchworkloads aus. Die vereinfachte Kommunikation von Computeknoten hat jedoch auswirkungen auf die folgenden Fälle:

  • Benutzer, die ein virtuelles Netzwerk als Teil der Erstellung eines Batchpools angeben und eine oder beide der folgenden Aktionen ausführen:
    • Deaktivieren Sie explizit ausgehende Netzwerkdatenverkehrsregeln, die nicht mit der vereinfachten Computeknotenkommunikation kompatibel sind.
    • Verwenden Sie UDRs und Firewallregeln, die mit der vereinfachten Computeknotenkommunikation nicht kompatibel sind.
  • Benutzer, die Softwarefirewalls auf Computeknoten aktivieren und explizit ausgehenden Datenverkehr in Softwarefirewallregeln deaktivieren, die nicht mit der vereinfachten Computeknotenkommunikation kompatibel sind.

Wenn eines dieser Fälle für Sie gilt, führen Sie die im nächsten Abschnitt beschriebenen Schritte aus, um sicherzustellen, dass Ihre Batchworkloads weiterhin im vereinfachten Modus funktionieren können. Es wird dringend empfohlen, alle Änderungen in einer Entwicklungs- und Testumgebung zuerst zu testen und zu überprüfen, bevor Sie Ihre Änderungen in die Produktion übertragen.

Erforderliche Netzwerkkonfigurationsänderungen für den vereinfachten Modus

Die folgenden Schritte sind erforderlich, um zum neuen Kommunikationsmodus zu migrieren:

  1. Stellen Sie sicher, dass Ihre Netzwerkkonfiguration für Batchpools (NSGs, UDRs, Firewalls usw.) eine Vereinigung der Modi umfasst, d. h. die kombinierten Netzwerkregeln der klassischen und vereinfachten Modi. Mindestens die folgenden Regeln wären:
    • Eingehend:
      • Zielports 29876, 29877 über TCP von BatchNodeManagement.<region>
    • Ausgehende:
      • Zielport 443 über TCP zu Storage.<region>
      • Zielport 443 über ANY an BatchNodeManagement.<region>
  2. Wenn Für Ihren Workflow andere eingehende oder ausgehende Szenarien erforderlich sind, müssen Sie sicherstellen, dass Ihre Regeln diese Anforderungen widerspiegeln.
  3. Verwenden Sie eine der folgenden Optionen, um Ihre Workloads so zu aktualisieren, dass der neue Kommunikationsmodus verwendet wird.
    • Erstellen Sie neue Pools, indem Sie das targetNodeCommunicationMode Set auf vereinfacht festlegen, und überprüfen Sie, ob die neuen Pools ordnungsgemäß funktionieren. Migrieren Sie Ihre Workload zu den neuen Pools, und löschen Sie alle früheren Pools.
    • Aktualisieren Sie die Eigenschaft targetNodeCommunicationMode vorhandener Pools zu vereinfacht und ändern Sie dann die Größe aller vorhandenen Pools auf null Knoten und skalieren Sie diese zurück.
  4. Verwenden Sie die Get Pool-API, die List Pool-API oder das Azure-Portal, um zu bestätigen, dass der Kommunikationsmodus auf currentNodeCommunicationMode gesetzt ist.
  5. Ändern Sie alle anwendbaren Netzwerkkonfigurationen auf die vereinfachten Kommunikationsregeln, mindestens (beachten Sie alle zusätzlichen Regeln, die wie oben beschrieben erforderlich sind):
    • Eingehend:
      • Nichts
    • Ausgehend
      • Zielport 443 über ANY zu BatchNodeManagement.<region>

Wenn Sie diese Schritte ausführen, aber später zur klassischen Computeknotenkommunikation zurückkehren möchten, müssen Sie die folgenden Aktionen ausführen:

  1. Stellen Sie alle Netzwerkkonfigurationen zurück, die ausschließlich im vereinfachten Kommunikationsmodus für Computeknoten ausgeführt werden.
  2. Erstellen Sie neue Pools, oder aktualisieren Sie vorhandene Pools-Eigenschaft targetNodeCommunicationMode , die auf "klassisch" festgelegt ist.
  3. Migrieren Sie Ihre Workload zu diesen Pools, oder ändern Sie die Größe vorhandener Pools, und skalieren Sie sie wieder auf (siehe Schritt 3 oben).
  4. Siehe Schritt 4 oben, um zu bestätigen, dass Ihre Pools im klassischen Kommunikationsmodus ausgeführt werden.
  5. Stellen Sie optional Ihre Netzwerkkonfiguration wieder her.

Festlegen des Kommunikationsmodus für einen Batch-Pool

Mit der TargetNodeCommunicationMode-Eigenschaft in Batchpools können Sie dem Batchdienst angeben, welcher Kommunikationsmodus zwischen dem Batchdienst und den Computeknoten bevorzugt wird. Im Folgenden sind die zulässigen Optionen für diese Eigenschaft aufgeführt:

  • Klassisch: Erstellt den Pool mithilfe der klassischen Computeknotenkommunikation.
  • Vereinfacht: Erstellt den Pool mithilfe einer vereinfachten Computeknotenkommunikation.
  • Standard: Ermöglicht dem Batchdienst die Auswahl des entsprechenden Kommunikationsmodus für Computeknoten. Für Pools ohne virtuelles Netzwerk kann der Pool entweder im klassischen oder vereinfachten Modus erstellt werden. Für Pools mit einem virtuellen Netzwerk wird der Pool bis zum 30. September 2024 immer als klassisch festgelegt. Weitere Informationen finden Sie im Migrationsleitfaden zum klassischen Kommunikationsmodus von Serverknoten.

Tipp

Wenn Sie den Kommunikationsmodus für den Zielknoten angeben, wird eine Präferenz für den Batchdienst angezeigt, aber es wird nicht garantiert, dass dies berücksichtigt wird. Bestimmte Konfigurationen im Pool können verhindern, dass der Batchdienst den angegebenen Kommunikationsmodus für Zielknoten berücksichtigt, z. B. Interaktion ohne öffentliche IP-Adresse, virtuelle Netzwerke und den Poolkonfigurationstyp.

Im Folgenden finden Sie Beispiele zum Erstellen eines Batchpools mit einer vereinfachten Computeknotenkommunikation.

Azure-Portal

Melden Sie sich zuerst beim Azure-Portal an. Navigieren Sie dann zum Bereich "Pools" Ihres Batchkontos und wählen Sie die Schaltfläche "Hinzufügen" aus. Unter OPTIONALEN EINSTELLUNGEN können Sie wie gezeigt die Option " Vereinfacht " aus dem Pulldown des Knotenkommunikationsmodus auswählen:

Screenshot, der das Erstellen eines Pools mit vereinfachtem Modus zeigt.

Um einen vorhandenen Pool auf den vereinfachten Kommunikationsmodus zu aktualisieren, navigieren Sie zum Blatt "Pools " Ihres Batchkontos, und wählen Sie den zu aktualisierenden Pool aus. Wählen Sie im linken Navigationsbereich den Knotenkommunikationsmodus aus. Dort können Sie wie unten dargestellt einen neuen Kommunikationsmodus für Zielknoten auswählen. Nachdem Sie den entsprechenden Kommunikationsmodus ausgewählt haben, klicken Sie auf die Schaltfläche Speichern, um die Änderungen zu übernehmen. Sie müssen den Pool zuerst auf null Knoten skalieren und dann zurückskalieren, damit die Änderung wirksam wird, falls die Bedingungen es zulassen.

Screenshot, der das Aktualisieren eines Pools auf den vereinfachten Modus zeigt.

Um den aktuellen Knotenkommunikationsmodus für einen Pool anzuzeigen, navigieren Sie zum Blatt "Pools " Ihres Batchkontos, und wählen Sie den anzuzeigenden Pool aus. Wählen Sie "Eigenschaften " in der linken Navigation aus, und der Kommunikationsmodus des Poolknotens wird im Abschnitt "Allgemein " angezeigt.

Screenshot, das Eigenschaften eines Pools im vereinfachten Modus zeigt.

REST API

In diesem Beispiel wird gezeigt, wie Sie die Batchdienst-REST-API verwenden, um einen Pool mit vereinfachter Computeknotenkommunikation zu erstellen.

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

Anforderungstext

"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"
}

Einschränkungen

Im Folgenden werden bekannte Einschränkungen des vereinfachten Kommunikationsmodus beschrieben:

  • Eingeschränkte Migrationsunterstützung für zuvor erstellte Pools ohne öffentliche IP-Adressen. Diese Pools können nur migriert werden, wenn sie in einem virtuellen Netzwerk erstellt wurden, andernfalls wird keine vereinfachte Computeknotenkommunikation verwendet, auch wenn sie im Pool angegeben sind.
  • Cloud Service-Konfigurationspools werden für die vereinfachte Computerknotenkommunikation nicht unterstützt und sind veraltet. Die Angabe eines Kommunikationsmodus für diese Arten von Pools wird nicht berücksichtigt und führt immer zum klassischen Kommunikationsmodus. Es wird empfohlen, die Konfiguration virtueller Computer für Ihre Batchpools zu verwenden.

Nächste Schritte