Verwenden der vereinfachten Kommunikation mit Computeknoten

Ein Azure Batch-Pool enthält einen oder mehrere Serverknoten, die benutzerseitig angegebene Workloads in Form von Batch-Tasks ausführen. Um die Batch-Funktionalität und die Verwaltung der Batch-Poolinfrastruktur zu aktivieren, müssen Serverknoten mit dem Azure Batch-Dienst kommunizieren.

Batch unterstützt zwei Arten von Knotenkommunikationsmodi:

  • Classic, in dem der Batch-Dienst die Kommunikation mit den Serverknoten initiiert
  • Simplified, in dem die Serverknoten die Kommunikation mit dem Batch-Knoten initiieren

In diesem Dokument werden der Modus für die vereinfachte Kommunikation von Serverknoten und die zugehörigen Anforderungen an die Netzwerkkonfiguration beschrieben.

Tipp

Die Informationen in diesem Dokument zu Netzwerkressourcen und -regeln wie NSGs gelten nicht für Batch-Pools ohne öffentliche IP-Adressen, die den privaten Endpunkt der Knotenverwaltung ohne ausgehenden Internetzugriff verwenden.

Unterstützte Regionen

Die vereinfachte Kommunikation von Serverknoten in Azure Batch ist zurzeit für die folgenden Regionen verfügbar:

  • Öffentlich: Alle öffentlichen Regionen, in denen Batch vorhanden ist, mit Ausnahme von „Indien, Westen“ und „Frankreich, Süden“.

  • Behörden: USGov Arizona, USGov Virginia, USGov Texas.

  • China: China, Norden 3.

Unterschiede zwischen der klassischen und der vereinfachten Computeknotenkommunikation

Der Modus für die vereinfachte Kommunikation von Serverknoten optimiert die Verwaltung der Batch-Poolinfrastruktur im Auftrag von Benutzern. Mit diesem Kommunikationsmodus reduzieren sich die Komplexität und der Umfang ein- und ausgehender Netzwerkverbindungen, die für Baselinevorgänge erforderlich sind.

Batch-Pools mit dem Kommunikationsmodus classic erfordern beim Erstellen eines Pools in einem virtuellen Netzwerk die folgenden Netzwerkregeln in Netzwerksicherheitsgruppen (NSGs), benutzerdefinierten Routen (User-Defined Routes, UDRs) und Firewalls:

  • Eingehend:

    • Zielports 29876 und 29877 über TCP von BatchNodeManagement.Region
  • Ausgehend:

    • Zielport 443 über TCP an Storage.Region
    • Zielport 443 über TCP an BatchNodeManagement.Region für bestimmte Workloads, die Kommunikation mit dem Batch-Dienst erfordern, z. B. Auftrags-Manager-Tasks

Batch-Pools mit dem Kommunikationsmodus simplified erfordern die folgenden Netzwerkregeln in NSGs, UDRs und Firewalls:

  • Eingehend:

    • Ohne
  • Ausgehend:

    • Zielport 443 über ANY an BatchNodeManagement.region

Anforderungen ausgehende Verbindungen für ein Batch-Konto können mithilfe der API zum Auflisten der Endpunkte ausgehender Netzwerkabhängigkeiten ermittelt werden. Diese API gibt den Basissatz von Abhängigkeiten abhängig vom Kommunikationsmodell des Batch-Kontopools zurück. Benutzerspezifische Workloads erfordern möglicherweise zusätzliche Regeln, z. B. das Öffnen von Datenverkehr an andere Azure-Ressourcen (z. B. Azure Storage für Anwendungspakete, Azure Container Registry usw.) oder Endpunkte wie das Microsoft-Paketrepository für die Bereitstellungsfunktionalität für virtuelle Dateisysteme.

Vorteile des vereinfachten Kommunikationsmodus

Azure Batch-Benutzer, die den vereinfachten Modus verwenden, profitieren von der Vereinfachung von Netzwerkverbindungen und -regeln. Die vereinfachte Kommunikation von Serverknoten trägt zur Verringerung von Sicherheitsrisiken bei, indem die Anforderung zum Öffnen von Ports für die eingehende Kommunikation aus dem Internet aufgehoben wird. Für den Basisbetrieb ist nur eine einzelne Ausgangsregel für ein bekanntes Diensttag erforderlich.

Der Modus simplified bietet gegenüber dem Kommunikationsmodus classic auch eine differenzierte Steuerung der Datenexfiltration, da die ausgehende Kommunikation an Storage.region nicht mehr erforderlich ist. Sie können die ausgehende Kommunikation mit Azure Storage bei Bedarf für Ihren Workflow explizit sperren. Beispielsweise können Sie den Bereich Ihrer Regeln für die ausgehende Kommunikation auf Azure Storage festlegen, 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 nächsten Abschnitt beschrieben), wird empfohlen, in den Modus simplified zu wechseln. Dadurch wird sichergestellt, dass Ihre Batch-Workloads für alle zukünftigen durch diesen Modus aktivierten Verbesserungen bereit sind, und auch für den Zeitpunkt, ab dem dieser Kommunikationsmodus zur Standardeinstellung wird.

Potenzielle Auswirkungen zwischen klassischen und vereinfachten Kommunikationsmodi

In vielen Fällen wird sich der vereinfachte (simplified) Kommunikationsmodus auf Ihre Batch-Workloads nicht direkt auswirken. Die vereinfachte Kommunikation von Serverknoten hat jedoch in den folgenden Fällen Auswirkungen:

  • Benutzer, die bei der Erstellung eines Batch-Pools ein virtuelles Netzwerk angeben und führen einen oder beide der folgenden Aktionen ausführen:
    • Deaktivieren Sie explizit Regeln für ausgehenden Netzwerkdatenverkehr, die mit der vereinfachten Kommunikation von Serverknoten nicht kompatibel sind.
    • Verwenden Sie UDRs und Firewallregeln, die mit der vereinfachten Kommunikation von Serverknoten nicht kompatibel sind.
  • Benutzer, die Softwarefirewalls auf Serverknoten aktivieren und ausgehenden Datenverkehr explizit in Softwarefirewallregeln deaktivieren, die mit der vereinfachten Kommunikation von Serverknoten nicht kompatibel sind.

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

Erforderliche Netzwerkkonfigurationsänderungen für den vereinfachten Kommunikationsmodus

Für die Migration zum neuen Kommunikationsmodus müssen die folgenden Schritte ausgeführt werden:

  1. Stellen Sie sicher, dass Ihre Netzwerkkonfiguration für Batch-Pools (NSGs, UDRs, Firewalls usw.) eine Vereinigung der Modi umfasst (d. h. die kombinierten Netzwerkregeln der Modi classic und simplified). Diese Regeln sind mindestens erforderlich:
    • Eingehend:
      • Zielports 29876 und 29877 über TCP von BatchNodeManagement.Region
    • Ausgehend:
      • Zielport 443 über TCP an Storage.Region
      • Zielport 443 über ANY an BatchNodeManagement.region
  2. Wenn bei Ihrem Workflow andere Szenarien für ein- oder ausgehenden Datenverkehr erforderlich sind, müssen Sie sicherstellen, dass Ihre Regeln diese Anforderungen erfüllen.
  3. Verwenden Sie eine der folgenden Optionen, um Ihre Workloads für die Verwendung des neuen Kommunikationsmodus zu aktualisieren.
    • Erstellen Sie neue Pools, bei denen targetNodeCommunicationMode auf simplified festgelegt ist, und überprüfen Sie, ob die neuen Pools ordnungsgemäß funktionieren. Migrieren Sie Ihre Workload zu den neuen Pools, und löschen Sie alle älteren Pools.
    • Aktualisieren Sie die targetNodeCommunicationMode-Eigenschaft vorhandene Pool auf simplified, skalieren Sie die Größe aller vorhandenen Pools auf null Knoten herunter, und skalieren Sie sie dann wieder auf.
  4. Verwenden Sie die Get Pool- oder die List Pool-API oder das Portal, um zu bestätigen, dass currentNodeCommunicationMode auf den gewünschten Kommunikationsmodus simplified festgelegt ist.
  5. Ändern Sie alle anwendbaren Netzwerkkonfigurationen mindestens auf die Regeln für die vereinfachte Kommunikation von Serverknoten (beachten Sie eventuelle zusätzlich erforderliche Regeln, wie oben beschrieben):
    • Eingehend:
      • Ohne
    • Ausgehend:
      • Zielport 443 über ANY an BatchNodeManagement.region

Wenn Sie diese Schritte ausführen, später aber zur klassischen (classic) Kommunikation von Serverknoten zurückkehren möchten, müssen Sie wie folgt vorgehen:

  1. Erstellen Sie neue Pools, oder aktualisieren Sie die Eigenschaft targetNodeCommunicationMode vorhandener Pools auf classic.
  2. 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).
  3. In Schritt 4 oben vergewissern Sie sich, dass Ihre Pools im Kommunikationsmodus classic betrieben werden.
  4. Optional können Sie Ihre Netzwerkkonfiguration zurücksetzen.

Angeben des Knotenkommunikationsmodus in einem Batch-Pool

Im Folgenden finden Sie Beispiele für das Erstellen eines Batch-Pools mit vereinfachter (simplified) Kommunikation von Serverknoten.

Tipp

Die Angabe des Kommunikationsmodus für den Zielknoten ist eine Voreinstellung für den Batch-Dienst, aber keine Garantie, dass diese eingehalten wird. Bestimmte Konfigurationen im Pool können verhindern, dass der Batch-Dienst den angegebenen Kommunikationsmodus für den Zielknotens berücksichtigt, z. B. Interaktion mit „Keine öffentliche IP-Adresse“, virtuellen Netzwerken und dem Poolkonfigurationstyp.

Azure-Portal

Navigieren Sie zum Blatt „Pools“ Ihres Batch-Kontos, und klicken Sie auf die Schaltfläche „Hinzufügen“. Unter OPTIONAL SETTINGS können Sie Simplified als Option aus dem Pulldownmenü von Node communication mode auswählen, wie unten gezeigt.

Screenshot: Erstellen eines Pools mit dem vereinfachten Modus.

Um einen vorhandenen Pool auf den vereinfachten Kommunikationsmodus zu aktualisieren, navigieren Sie zum Blatt „Pools“ Ihres Batch-Kontos, und klicken Sie auf den Pool, den Sie aktualisieren möchten. Wählen Sie im linken Navigationsbereich die Option Node communication mode aus. Dort können Sie einen neuen Kommunikationsmodus für Zielknoten auswählen, wie unten gezeigt. Nachdem Sie den entsprechenden Kommunikationsmodus ausgewählt haben, klicken Sie auf die Schaltfläche Save, um die Aktualisierung durchzuführen. Sie müssen den Pool zuerst auf null Knoten herunterskalieren und dann wieder aufskalieren, damit die Änderung wirksam wird, wenn die Bedingungen dies zulassen.

Screenshot: Aktualisieren eines Pool in den vereinfachten Modus.

Um den aktuellen Knotenkommunikationsmodus für einen Pool anzuzeigen, navigieren Sie zum Blatt „Pools“ Ihres Batch-Kontos, und klicken Sie auf den Pool, den Sie anzeigen möchten. Wählen Sie im linken Navigationsbereich die Option Properties aus, und der Kommunikationsmodus des Poolknotens wird im Abschnitt „Allgemein“ angezeigt.

Screenshot: Eigenschaften mit einem Pool im vereinfachtem Modus.

REST-API

In diesem Beispiel wird gezeigt, wie Sie mithilfe der Batch-Dienste-REST-API einen Pool mit vereinfachter (simplified) Kommunikation von Serverknoten 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 finden Sie bekannte Einschränkungen des Kommunikationsmodus simplified:

  • Eingeschränkte Migrationsunterstützung für zuvor erstellte Pools ohne öffentliche IP-Adressen (V1 Vorschau). Diese Pools können nur migriert werden, wenn sie in einem virtuellen Netzwerk erstellt wurden; andernfalls verwenden sie selbst dann keine vereinfachte Kommunikation von Serverknoten, wenn diese im Pool angegeben wird. Weitere Informationen finden Sie im Migrationshandbuch.
  • Clouddienstkonfigurations-Pools werden derzeit für die vereinfachte Kommunikation von Serverknoten nicht unterstützt und gelten als veraltet. Die Angabe eines Kommunikationsmodus für diese Arten von Pools wird nicht berücksichtigt und führt immer zum Kommunikationsmodus classic. Es wird empfohlen, die VM-Konfiguration für Ihre Batch-Pools zu verwenden. Weitere Informationen finden Sie unter Migrieren der Batch-Poolkonfiguration von Cloud Services zu Virtual Machines.

Nächste Schritte