Freigeben über


Erstellen eines vereinfachten Knotenkommunikationspools ohne öffentliche IP-Adressen

Hinweis

Dadurch wird die vorherige Vorschauversion des Azure Batch-Pools ohne öffentliche IP-Adressen ersetzt. Diese neue Version erfordert die Verwendung der vereinfachten Kommunikation von Serverknoten.

Wichtig

Die Unterstützung von Pools ohne öffentliche IP-Adressen in Azure Batch ist zurzeit für ausgewählte Regionen verfügbar.

Wenn Sie einen Azure Batch-Pool erstellen, können Sie den Konfigurationspool für virtuelle Computer (VM-Konfigurationspool) ohne eine öffentliche IP-Adresse bereitstellen. In diesem Artikel wird erklärt, wie Sie einen Azure Batch-Pool ohne öffentliche IP-Adressen einrichten.

Warum wird ein Pool ohne öffentliche IP-Adressen verwendet?

Standardmäßig wird allen Serverknoten in einem Azure Batch-VM-Konfigurationspool eine öffentliche IP-Adresse zugewiesen. Diese Adresse wird vom Azure Batch-Dienst zur Unterstützung des ausgehenden Zugriffs auf das Internet sowie des eingehenden Zugriffs auf Serverknoten aus dem Internet verwendet.

Um den Zugriff auf diese Knoten einzuschränken und die Auffindbarkeit dieser Knoten im Internet zu verringern, können Sie den Pool ohne öffentliche IP-Adressen bereitstellen.

Voraussetzungen

Wichtig

Die Voraussetzungen wurden im Vergleich zur vorherigen Vorschauversion dieses Features geändert. Überprüfen Sie unbedingt jedes Element auf Änderungen, bevor Sie den Vorgang fortsetzen.

  • Verwenden Sie die vereinfachte Kommunikation von Serverknoten. Weitere Informationen finden Sie unter Verwenden der vereinfachten Kommunikation von Serverknoten.

  • Die Batch-Client-API muss die Microsoft Entra-Authentifizierung verwenden. Die Azure Batch-Unterstützung für Microsoft Entra ID ist unter Authentifizieren von Lösungen des Azure Batch-Diensts mit Active Directory dokumentiert.

  • Erstellen Sie Ihren Pool in einem virtuellen Azure-Netzwerk (VNet) anhand dieser Anforderungen und Konfigurationen. Wenn Sie ein VNet mit einem oder mehreren Subnetzen im Voraus vorbereiten möchten, können Sie dazu das Azure-Portal, die Azure PowerShell, die Azure-Befehlszeilenschnittstelle (CLI) oder andere Methoden verwenden.

    • Das VNET muss sich im gleichen Abonnement und in der gleichen Region befinden wie das für die Poolerstellung verwendete Batch-Konto.

    • Das für den Pool angegebene Subnetz muss über ausreichend nicht zugewiesene IP-Adressen verfügen, um die Anzahl virtueller Computer aufnehmen zu können, die für den Pool geplant sind, d. h. die Summe der targetDedicatedNodes- und targetLowPriorityNodes-Eigenschaften des Pools. Wenn das Subnetz nicht über ausreichend nicht zugewiesene IP-Adressen verfügt, belegt der Pool teilweise die Computeknoten und es tritt ein Anpassungsfehler auf.

    • Wenn Sie einen privaten Endpunkt verwenden möchten und für Ihr virtuelles Netzwerk die Netzwerkrichtlinie für den privaten Endpunkte aktiviert ist, stellen Sie sicher, dass die eingehende Verbindung mit TCP/443 zum Subnetz, in dem der private Endpunkt gehostet wird, aus dem Subnetz des Batch-Pools zugelassen werden muss.

  • Aktivieren Sie den ausgehenden Zugriff für die Batchknotenverwaltung. Bei einem Pool ohne öffentliche IP-Adressen ist der ausgehende Internetzugriff standardmäßig nicht aktiviert. Wählen Sie eine der folgenden Optionen, um Serverknoten den Zugriff auf den Batchknoten-Verwaltungsdienst zu erlauben (siehe Verwenden der vereinfachten Kommunikation mit Serverknoten):

Wichtig

Es gibt zwei Unterressourcen für private Endpunkte mit Batch-Konten. Verwenden Sie den privaten Endpunkt nodeManagement für den Batch-Pool ohne öffentliche IP-Adressen. Weitere Informationen finden Sie unter Verwenden privater Endpunkte mit Azure Batch-Konten.

Aktuelle Einschränkungen

  1. Pools ohne öffentliche IP-Adressen müssen die Konfiguration virtueller Computer und nicht die Konfiguration von Clouddiensten verwenden.
  2. Eine benutzerdefinierte Endpunktkonfiguration für Batch-Serverknoten funktioniert nicht bei Pools ohne öffentliche IP-Adressen.
  3. Da es keine öffentlichen IP-Adressen gibt, können Sie Ihre eigenen angegebenen öffentlichen IP-Adressen bei dieser Art von Pool nicht verwenden.
  4. Das Aufgabenauthentifizierungstoken für die Batchaufgabe wird nicht unterstützt. Die Problemumgehung besteht darin, einen Batchpool mit verwalteten Identitäten zu verwenden.

Erstellen eines Pools ohne öffentliche IP-Adressen im Azure-Portal

  1. Erstellen Sie bei Bedarf den privaten Endpunkt nodeManagement für Ihr Batch-Konto im virtuellen Netzwerk (siehe dieAnforderung für ausgehende Zugriffe in den Voraussetzungen).
  2. Navigieren Sie im Azure-Portal zu Ihrem Batch-Konto.
  3. Wählen Sie links im Fenster Einstellungen die Option Pools aus.
  4. Wählen Sie im Fenster Pools die Option Hinzufügen aus.
  5. Wählen Sie im Fenster Pool hinzufügen die Option, die Sie verwenden möchten, in der Dropdownliste Imagetyp aus.
  6. Wählen Sie für Ihr Image die richtige Angabe für Herausgeber/Angebot/SKU.
  7. Geben Sie die übrigen erforderlichen Einstellungen an, einschließlich Knotengröße, Ziel für dedizierte Knoten und Spot-Zielknoten/Zielknoten mit niedriger Priorität.
  8. Wählen Sie für Knotenkommunikationsmodus unter „Optionale Einstellungen“ die Option Vereinfacht aus.
  9. Wählen Sie das virtuelle Netzwerk und Subnetz aus, das Sie verwenden möchten. Dieses virtuelle Netzwerk muss sich an demselben Ort befinden wie der Pool, den Sie gerade erstellen.
  10. Wählen Sie unter Typ der IP-Adressbereitstellung die Option NoPublicIPAddresses aus.

Der folgende Screenshot zeigt die Elemente, die geändert werden müssen, um einen Pool ohne öffentliche IP-Adressen zu erstellen.

Screenshot of the Add pool screen with NoPublicIPAddresses selected.

Erstellen eines Pools ohne öffentliche IP-Adressen mit der REST-API von Azure Batch

Das folgende Beispiel zeigt, wie Sie mithilfe der Dienste-REST-API von Azure Batch einen Pool erstellen können, der öffentliche IP-Adressen verwendet.

REST-API-URI

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

Anforderungstext

"pool": {
     "id": "pool-npip",
     "vmSize": "standard_d2s_v3",
     "virtualMachineConfiguration": {
          "imageReference": {
               "publisher": "Canonical",
               "offer": "0001-com-ubuntu-server-jammy",
               "sku": "22_04-lts"
          },
          "nodeAgentSKUId": "batch.node.ubuntu 22.04"
     },
     "networkConfiguration": {
          "subnetId": "/subscriptions/<your_subscription_id>/resourceGroups/<your_resource_group>/providers/Microsoft.Network/virtualNetworks/<your_vnet_name>/subnets/<your_subnet_name>",
          "publicIPAddressConfiguration": {
               "provision": "NoPublicIPAddresses"
          }
     },
     "resizeTimeout": "PT15M",
     "targetDedicatedNodes": 2,
     "targetLowPriorityNodes": 0,
     "taskSlotsPerNode": 1,
     "taskSchedulingPolicy": {
          "nodeFillType": "spread"
     },
     "enableAutoScale": false,
     "enableInterNodeCommunication": false,
     "targetNodeCommunicationMode": "simplified"
}

Erstellen eines Pools ohne öffentliche IP-Adressen mithilfe der ARM-Vorlage

Sie können diese Azure-Schnellstartvorlage verwenden, um mithilfe der ARM-Vorlage (Azure Resource Manager) einen Pool ohne öffentliche IP-Adressen zu erstellen.

Die folgenden Ressourcen werden von der Vorlage bereitgestellt:

  • Azure Batch-Konto mit IP-Firewall, die so konfiguriert ist, dass der Zugriff des öffentlichen Netzwerks auf den Verwaltungsendpunkt des Batch-Knotens blockiert wird
  • Virtuelles Netzwerk mit Netzwerksicherheitsgruppe zum Blockieren des ausgehenden Zugriffs auf das Internet
  • Privater Endpunkt für den Zugriff auf den Batch-Knotenverwaltungsendpunkt des Kontos
  • DNS-Integration für den privaten Endpunkt mithilfe einer privaten DNS-Zone, die mit dem virtuellen Netzwerk verknüpft ist
  • Batch-Pool, bereitgestellt im virtuellen Netzwerk und ohne öffentliche IP-Adressen

Wenn Sie mit der Verwendung von ARM-Vorlagen vertraut sind, wählen Sie die Schaltfläche In Azure bereitstellen aus. Die Vorlage wird im Azure-Portal geöffnet.

Button to deploy the Resource Manager template to Azure.

Hinweis

Wenn die Bereitstellung des privaten Endpunkts aufgrund einer ungültigen Gruppen-ID „nodeManagement“ fehlgeschlagen ist, überprüfen Sie, ob die Region in der Liste der unterstützten Regionen für die vereinfachte Kommunikation von Serverknoten enthalten ist. Wählen Sie die richtige Region aus, und versuchen Sie die Bereitstellung erneut.

Ausgehender Zugriff auf das Internet

In einem Pool ohne öffentliche IP-Adressen können Ihre virtuellen Computer nicht auf das öffentliche Internet zugreifen, es sei denn, Sie konfigurieren Ihre Netzwerkeinrichtung entsprechend, z. B. mit NAT für virtuelle Netzwerke. NAT erlaubt den virtuellen Computern im virtuellen Netzwerk nur ausgehenden Zugriff auf das Internet. In Azure Batch erstellte Computeknoten sind nicht öffentlich zugänglich, da ihnen keine öffentlichen IP-Adressen zugeordnet sind.

Eine weitere Möglichkeit, ausgehende Konnektivität bereitzustellen, bietet eine benutzerdefinierte Route. Mit dieser Methode können Sie Datenverkehr zu einem Proxycomputer leiten, der Zugriff auf das öffentliche Internet hat, z. B. Azure Firewall.

Wichtig

Es gibt keine zusätzliche Netzwerkressource (Lastenausgleich, Netzwerksicherheitsgruppe), die für vereinfachte Knotenkommunikationspools ohne öffentliche IP-Adressen erstellt wurde. Da die Serverknoten im Pool nicht an einen Lastenausgleich gebunden sind, kann Azure ausgehenden Standardzugriff bereitstellen. Der standardmäßige ausgehende Zugriff ist jedoch nicht für Produktionsworkloads geeignet und wird am 30. September 2025 eingestellt (siehe offizielle Ankündigung). Wenn Ihre Workloads also einen ausgehenden Internetzugang benötigen oder Ihr Pool keinen privaten Endpunkt für den Zugriff auf den Verwaltungsendpunkt des Batch-Knotens verwendet, müssen Sie eine eigene Lösung für den ausgehenden Internetzugang bereitstellen.

Problembehandlung

Nicht verwendbare Computeknoten in einem Batch-Pool

Wenn Serverknoten in einem Batch-Pool ohne öffentliche IP-Adressen nicht verwendet werden können, besteht der erste und wichtigste Schritt darin, den ausgehenden Zugriff auf den Batch-Knoten-Verwaltungsdienst zu überprüfen. Er muss ordnungsgemäß konfiguriert sein, damit die Serverknoten eine Verbindung mit dem Dienst von Ihrem virtuellen Netzwerk herstellen können.

Verwenden des privaten Endpunkts nodeManagement

Wenn Sie einen privaten Endpunkt für die Knotenverwaltung im virtuellen Netzwerk für Ihr Batch-Konto erstellt haben:

  • Überprüfen Sie, ob der private Endpunkt im richtigen virtuellen Netzwerk erstellt wird und sich im Status „Bereitstellung erfolgreich“ und im Status Genehmigt befindet.
  • Überprüfen Sie, ob die DNS-Konfiguration für den Knotenverwaltungsendpunkt Ihres Batch-Kontos ordnungsgemäß eingerichtet ist:
    • Wenn Ihr privater Endpunkt mit automatischer Integration privater DNS-Zonen erstellt wird, überprüfen Sie, ob der DNS-A-Eintrag in der privaten DNS-Zone privatelink.batch.azure.com richtig konfiguriert und die Zone mit Ihrem virtuellen Netzwerk verknüpft ist.
    • Wenn Sie Ihre eigene DNS-Lösung verwenden, stellen Sie sicher, dass der DNS-Eintrag für Ihren Batch-Knotenverwaltungsendpunkt ordnungsgemäß konfiguriert ist, und verweisen Sie auf die IP-Adresse des privaten Endpunkts.
  • Überprüfen Sie die DNS-Auflösung für den Batch-Knotenverwaltungsendpunkt Ihres Kontos. Sie können sich vergewissern, indem Sie nslookup <nodeManagementEndpoint> aus Ihrem virtuellen Netzwerk heraus ausführen; der DNS-Name sollte in IP-Adresse des privaten Endpunkts aufgelöst werden.
  • Wenn für Ihr virtuelles Netzwerk die Netzwerkrichtlinie für den privaten Endpunkt aktiviert ist, überprüfen Sie NSG und UDR auf Subnetze des Batch-Pools und des privaten Endpunkts. Die eingehende Verbindung mit TCP/443 zum Subnetz, in dem der private Endpunkt gehostet wird, muss aus dem Subnetz des Batch-Pools zugelassen werden.
  • Führen Sie im Subnetz des Batch-Pools TCP-Ping zum Knotenverwaltungsendpunkt mithilfe des HTTPS-Standardports (443) aus. Dieser Test verrät Ihnen, ob die private Linkverbindung wie erwartet funktioniert.
# Windows
Test-TcpConnection -ComputeName <nodeManagementEndpoint> -Port 443
# Linux
nc -v <nodeManagementEndpoint> 443

Wenn der TCP-Ping fehlschlägt (z. B. bei einem Timeout), liegt das in der Regel an der privaten Linkverbindung, und Sie können ein Azure-Support Ticket mit dieser privaten Endpunktressource auslösen. Andernfalls kann dieses Knotenproblem wie bei normalen Batchpools behoben werden, und Sie können ein Supportticket mit Ihrem Batch-Konto auslösen.

Verwenden Ihrer eigenen ausgehenden Internetlösung

Wenn Sie ihre eigene ausgehende Internetlösung anstelle eines privaten Endpunkts verwenden, führen Sie TCP-Ping zum Knotenverwaltungsendpunkt aus. Wenn das nicht funktioniert, überprüfen Sie, ob der ausgehende Zugriff ordnungsgemäß konfiguriert ist, indem Sie die detaillierten Anforderungen für die vereinfachte Serverknotenkommunikation ausführen.

Herstellen einer Verbindung mit Computeknoten

Ohne öffentliche IP-Adressen gibt es keinen eingehenden Zugriff über das Internet auf die Serverknoten im Batch-Pool. Um zum Debuggen auf Ihre Serverknoten zuzugreifen, müssen Sie eine Verbindung aus dem virtuellen Netzwerk heraus herstellen:

  • Verwenden Sie den Jumpbox-Computer innerhalb des virtuellen Netzwerks, und stellen Sie dann von dort aus eine Verbindung zu Ihren Serverknoten her.
  • Oder versuchen Sie, andere Remoteverbindungslösungen wie Azure Bastion zu verwenden:
    • Erstellen Sie im virtuellen Netzwerk bei aktivierter IP-basierter Verbindung Bastion.
    • Verwenden Sie Bastion, um eine Verbindung mit dem Serverknoten mithilfe seiner IP-Adresse herzustellen.

Sie können die Anweisungen im Leitfaden Verbinden mit Serverknoten befolgen, um die Benutzeranmeldeinformationen und die IP-Adresse für den Zielserverkonoten in Ihrem Batch-Pool abzurufen.

Migration aus vorheriger Vorschauversion von Pools für „Keine öffentliche IP-Adresse“

Bei bereits bestehenden Pools, die die vorherige Vorschauversion des Azure Batch-Pools „Keine öffentliche IP-Adresse“ verwenden, können nur Pools migriert werden, die in einem virtuellen Netzwerk erstellt wurden.

  1. Erstellen Sie einen privaten Endpunkt für die Batchknotenverwaltung im virtuellen Netzwerk.
  2. Aktualisieren Sie den Knotenkommunikationsmodus des Pools auf vereinfacht.
  3. Skalieren Sie den Pool herunter auf null Knoten.
  4. Skalieren Sie den Pool erneut hoch. Der Pool wird dann automatisch zur neuen Version migriert.

Nächste Schritte