Schützen einer Azure Machine Learning-Trainingsumgebung mit virtuellen Netzwerken

In diesem Artikel erfahren Sie, wie Sie Trainingsumgebungen mit einem virtuellen Netzwerk in Azure Machine Learning schützen.

Tipp

Dieser Artikel ist Teil einer Reihe zum Schützen eines Azure Machine Learning-Workflows. Sehen Sie sich auch die anderen Artikel in dieser Reihe an:

Ein Tutorial zum Erstellen eines sicheren Arbeitsbereichs, eines Computeclusters und einer Compute-Instanz finden Sie unter Tutorial: Erstellen eines sicheren Arbeitsbereichs.

In diesem Artikel erfahren Sie, wie Sie die folgenden Trainingscomputeressourcen in einem virtuellen Netzwerk schützen:

  • Azure Machine Learning-Computecluster
  • Azure Machine Learning-Computeinstanz
  • Azure Databricks
  • Virtual Machine
  • HDInsight-Cluster

Voraussetzungen

  • Im Artikel Übersicht über die Netzwerksicherheit finden Sie Informationen zu gängigen Szenarien im Zusammenhang mit virtuellen Netzwerken sowie zur Gesamtarchitektur virtueller Netzwerke.

  • Ein vorhandenes virtuelles Netzwerk und Subnetz, die mit Ihren Computeressourcen verwendet werden können

  • Ihr Benutzerkonto muss über die rollenbasierte Zugriffssteuerung von Azure (Azure RBAC) zu den folgenden Aktionen berechtigt werden, um Ressourcen in einem virtuellen Netzwerk oder Subnetz bereitstellen zu können:

    • „Microsoft.Network/virtualNetworks/*/read“ für die VNET-Ressource Dies ist für Azure Resource Manager (ARM)-Vorlagenbereitstellungen nicht erforderlich.
    • „Microsoft.Network/virtualNetworks/subnet/join/action“ auf der Subnetzressource

    Weitere Informationen zur rollenbasierten Zugriffssteuerung von Azure in Netzwerken finden Sie unter Integrierte Netzwerkrollen.

Azure Machine Learning-Computecluster/-Instanz

  • Das virtuelle Netzwerk muss sich im selben Abonnement befinden wie der Azure Machine Learning-Arbeitsbereich.

  • Das für die Compute-Instanz oder den Computecluster verwendete Subnetz muss über ausreichend nicht zugewiesene IP-Adressen verfügen.

    • Ein Computecluster kann dynamisch skaliert werden. Wenn nicht ausreichend freie IP-Adressen vorhanden sind, wird der Cluster teilweise zugeordnet.
    • Eine Compute-Instanz erfordert nur eine IP-Adresse.
  • Um einen Computecluster oder eine Compute-Instanz ohne öffentliche IP-Adresse zu erstellen (eine Previewfunktion), muss Ihr Arbeitsbereich einen privaten Endpunkt für die Verbindung mit dem VNet verwenden. Weitere Informationen finden Sie unter „Konfigurieren eines privaten Endpunkts für Azure Machine Learning Workspace“.

  • Stellen Sie sicher, dass keine Sicherheitsrichtlinien oder Sperren vorhanden sind, die Berechtigungen zum Verwalten des virtuellen Netzwerks einschränken. Wenn Sie auf Richtlinien oder Sperren prüfen, betrachten Sie sowohl das Abonnement als auch die Ressourcengruppe für das virtuelle Netzwerk.

  • Überprüfen Sie, ob Berechtigungen für die Verwaltung des virtuellen Netzwerks durch Ihre Sicherheitsrichtlinien oder -sperren für das Abonnement oder die Ressourcengruppe Ihres virtuellen Netzwerks eingeschränkt werden.

  • Wenn Sie das virtuelle Netzwerk durch Einschränkung des Datenverkehrs sichern möchten, lesen Sie den Abschnitt Erforderlicher öffentlicher Internetzugriff.

  • Das zum Bereitstellen des Computeclusters/der Compute-Instanz verwendete Subnetz darf nicht an einen anderen Dienst delegiert werden. Beispielsweise sollte es nicht an ACI delegiert werden.

Azure Databricks

  • Das virtuelle Netzwerk muss sich im selben Abonnement und in derselben Region befinden wie der Azure Machine Learning-Arbeitsbereich.
  • Wenn die Azure Storage-Konten für den Arbeitsbereich ebenfalls in einem virtuellen Netzwerk geschützt sind, müssen sie sich im selben virtuellen Netzwerk befinden wie der Azure Databricks-Cluster.

Einschränkungen

Azure Machine Learning-Computecluster/-Instanz

  • Wenn Sie mehrere Compute-Instanzen oder Computecluster in einem einzelnen virtuellen Netzwerk platzieren möchten, müssen Sie möglicherweise eine Kontingenterhöhung für eine oder mehrere Ihrer Ressourcen anfordern. Die Machine Learning-Compute-Instanz bzw. der Cluster ordnet in der Ressourcengruppe mit dem virtuellen Netzwerk automatisch zusätzliche Netzwerkressourcen zu. Für alle Compute-Instanzen und -cluster ordnet der Dienst folgende Ressourcen zu:

    • Eine Netzwerksicherheitsgruppe (NSG) Diese NSG enthält die folgenden Regeln, die spezifisch für Computecluster und Compute-Instanzen sind:

      • Zulassen des eingehenden TCP-Datenverkehrs an den Ports 29876-29877 vom Diensttag BatchNodeManagement.
      • Zulassen des eingehenden TCP-Datenverkehrs am Port 44224 vom Diensttag AzureMachineLearning.

      Im folgenden Screenshot sehen Sie ein Beispiel für diese Regeln:

      Screenshot: NSG

      Tipp

      Wenn Ihr Computecluster oder Ihre Compute-Instanz keine öffentliche IP-Adresse verwendet (eine Previewfunktion), sind diese eingehenden NSG-Regeln nicht erforderlich.

    • Bei Computeclustern oder Compute-Instanzen ist es jetzt möglich, die öffentliche IP-Adresse zu entfernen (eine Previewfunktion). Wenn Sie Azure-Richtlinienzuweisungen haben, die die Erstellung einer öffentlichen IP verbieten, wird die Bereitstellung des Computeclusters oder der Compute-Instanz erfolgreich sein.

    • Ein Lastenausgleichsmodul

    Bei Computeclustern werden diese Ressourcen bei jedem Herunterskalieren des Clusters auf 0 Knoten gelöscht und beim Hochskalieren erstellt.

    Bei einer Compute-Instanz werden diese Ressourcen beibehalten, bis die Instanz gelöscht wird. Durch das Beenden der Instanz werden die Ressourcen nicht entfernt.

    Wichtig

    Diese Ressourcen werden durch die Ressourcenkontingente des Abonnements beschränkt. Ist die Ressourcengruppe des virtuellen Netzwerks gesperrt, kann der Computecluster/die Compute-Instanz nicht erfolgreich gelöscht werden. Der Lastenausgleich kann erst nach dem Löschen des Computeclusters/der Compute-Instanz gelöscht werden. Stellen Sie außerdem sicher, dass keine Azure-Richtlinienzuweisungen vorhanden sind, die die Erstellung von Netzwerksicherheitsgruppen verhindern.

  • Wenn sich Azure Storage-Konten für den Arbeitsbereich auch im virtuellen Netzwerk befinden, verwenden Sie die folgende Anleitung zu Subnetzeinschränkungen:

    • Wenn Sie Azure Machine Learning Studio zur Visualisierung von Daten oder zur Verwendung von Designer verwenden möchten, muss sich das Speicherkonto im selben Subnetz wie die Compute-Instanz oder der Cluster befinden.
    • Wenn Sie planen, das SDK zu verwenden, kann sich das Speicherkonto in einem anderen Subnetz befinden.

    Hinweis

    Das Hinzufügen einer Ressourceninstanz für Ihren Arbeitsbereich oder das Aktivieren des Kontrollkästchens „Hiermit erlauben Sie vertrauenswürdigen Microsoft-Diensten den Zugriff auf dieses Konto.“ reicht nicht aus, um die ausgehende Kommunikation der Computeinstanz zuzulassen.

  • Wenn Ihr Arbeitsbereich einen privaten Endpunkt verwendet, ist der Zugriff auf die Compute-Instanz nur innerhalb des virtuellen Netzwerks möglich. Wenn Sie eine benutzerdefinierte DNS- oder Hostsdatei verwenden, fügen Sie einen Eintrag für <instance-name>.<region>.instances.azureml.ms hinzu. Ordnen Sie diesen Eintrag der privaten IP-Adresse des privaten Endpunkts des Arbeitsbereichs zu. Weitere Informationen finden Sie im Artikel Benutzerdefiniertes DNS.

  • VNet-Dienstendpunktrichtlinien funktionieren für Systemspeicherkonten des Computeclusters/der Compute-Instanz nicht.

  • Wenn sich Speicher- und Compute-Instanzen in unterschiedlichen Regionen befinden, können zeitweilig Timeouts auftreten.

  • Wenn die Azure Container Registry für Ihren Arbeitsbereich einen privaten Endpunkt zur Verbindung mit dem virtuellen Netzwerk verwendet, können Sie keine verwaltete Identität für die Compute-Instanz verwenden. Um eine verwaltete Identität mit der Compute-Instanz zu verwenden, darf die Container-Registrierung nicht in das VNet aufgenommen werden.

  • Wenn Sie Jupyter Notebooks auf einer Compute-Instanz verwenden möchten:

    • Deaktivieren Sie die WebSocket-Kommunikation nicht. Vergewissern Sie sich, dass Ihr Netzwerk die Websocket-Kommunikation mit *.instances.azureml.net und *.instances.azureml.ms gestattet.
    • Vergewissern Sie sich, dass Ihr Notebook auf einer Computeressource ausgeführt wird, die sich hinter demselben virtuellen Netzwerk und Subnetz wie Ihre Daten befindet. Verwenden Sie beim Erstellen der Compute-Instanz die Option Erweiterte Einstellungen > Virtuelles Netzwerk konfigurieren, um das Netzwerk und das Subnetz auszuwählen.
  • Computecluster können in einer anderen Region als der Ihres Arbeitsbereichs erstellt werden. Diese Funktionalität befindet sich in der Vorschau und ist nur für Computecluster und nicht für Compute-Instanzen verfügbar. Wenn Sie eine andere Region für den Cluster verwenden, gelten die folgenden Einschränkungen:

    • Wenn sich Ihre mit dem Arbeitsbereich verbundenen Ressourcen, z. B. Speicher, in einem anderen virtuellen Netzwerk befinden als der Cluster, richten Sie ein globales Peering virtueller Netzwerke zwischen den Netzwerken ein. Weitere Informationen finden Sie unter Peering in virtuellen Netzwerken.
    • Es kann sein, dass sich die Netzwerklatenz und die Datenübertragungskosten erhöhen. Latenz und Kosten können beim Erstellen des Clusters und beim Anwenden von Aufträgen auf den Cluster anfallen.

    Anleitungen wie die Verwendung von NSG-Regeln, benutzerdefinierten Routen und Eingabe-/Ausgabeanforderungen werden ganz normal angewendet, wenn eine andere Region als für den Arbeitsbereich verwendet wird.

    Warnung

    Wenn Sie einen privaten, endpunktfähigen Arbeitsbereich verwenden, wird die Erstellung des Clusters in einer anderen Region nicht unterstützt.

Azure Databricks

  • Zusätzlich zu den von Azure Databricks verwendeten Subnetzen databricks-private und databricks-public ist auch das für das virtuelle Netzwerk erstellte standardmäßige Subnetz erforderlich.
  • Azure Databricks verwendet keinen privaten Endpunkt zur Kommunikation mit dem virtuellen Netzwerk.

Weitere Informationen zur Verwendung von Azure Databricks mit einem virtuellen Netzwerk finden Sie unter Bereitstellen von Azure Databricks in Ihrem Azure Virtual Network.

Azure HDInsight oder virtueller Computer

  • Azure Machine Learning unterstützt nur virtuelle Computer, auf denen Ubuntu ausgeführt wird.

Erforderlicher öffentlicher Internetzugriff

Azure Machine Learning erfordert sowohl eingehenden als auch ausgehenden Zugriff auf das öffentliche Internet. Die folgenden Tabellen geben Aufschluss darüber, welcher Zugriff wofür erforderlich ist. Das Protokoll für alle Elemente ist TCP. Ersetzen Sie bei Diensttags, die auf .region enden, region durch die Azure-Region, die Ihren Arbeitsbereich enthält. Zum Beispiel Storage.westus:

Direction Ports Diensttag Zweck
Eingehend 29876–29877 BatchNodeManagement Erstellen, Aktualisieren und Löschen einer Azure Machine Learning Compute-Instanz und des Computeclusters.
Eingehend 44224 AzureMachineLearning Erstellen, Aktualisieren und Löschen einer Azure Machine Learning Compute-Instanz.
Ausgehend 80, 443 AzureActiveDirectory Verwenden von Azure AD für die Authentifizierung.
Ausgehend 443 AzureMachineLearning Verwenden von Azure Machine Learning Service.
Ausgehend 443 AzureResourceManager Erstellen von Azure-Ressourcen mit Azure Machine Learning.
Ausgehend 443 Storage.region Auf Daten zugreifen, die im Azure Storage-Konto für den Azure Batch-Dienst sind.
Ausgehend 443 AzureFrontDoor.FrontEnd
* In Azure China nicht erforderlich.
Globaler Einstiegspunkt für Azure Machine Learning Studio.
Ausgehend 443 ContainerRegistry.region Auf Docker-Images zugreifen, die von Microsoft bereitgestellt werden.
Ausgehend 443 MicrosoftContainerRegistry.region Auf Docker-Images zugreifen, die von Microsoft bereitgestellt werden. Einrichten des Azure Machine Learning Routers für Azure Kubernetes Service.
Ausgehend 443 Keyvault.region Greifen Sie auf den Schlüsseltresor für den Azure Batch-Dienst zu. Dieser Parameter ist nur erforderlich, wenn Ihr Arbeitsbereich mit aktiviertem hbi_workspace-Flag erstellt wurde.

Tipp

Falls Sie anstelle von Diensttags die IP-Adressen benötigen, verwenden Sie eine der folgenden Optionen:

Die IP-Adressen können sich von Zeit zu Zeit ändern.

Unter Umständen muss auch ausgehender Datenverkehr für Visual Studio Code und Microsoft-fremde Websites zugelassen werden, um die Installation von Paketen zu ermöglichen, die für Ihr Machine Learning-Projekt erforderlich sind. Die folgende Tabelle enthält gängige Repositorys für maschinelles Lernen:

Hostname Zweck
anaconda.com
*.anaconda.com
Wird verwendet, um Standardpakete zu installieren
*.anaconda.org Wird verwendet, um Repositorydaten abzurufen
pypi.org Wird zum Auflisten von Abhängigkeiten vom Standardindex verwendet, sofern vorhanden, und der Index wird nicht durch Benutzereinstellungen überschrieben. Wenn der Index überschrieben wird, müssen Sie auch *.pythonhosted.org zulassen.
cloud.r-project.org Wird beim Installieren von CRAN-Paketen für die R-Entwicklung verwendet.
*pytorch.org Wird von einigen Beispielen verwendet, die auf PyTorch basieren.
*.tensorflow.org Wird von einigen Beispielen verwendet, die auf Tensorflow basieren.
update.code.visualstudio.com

*.vo.msecnd.net
Dient zum Abrufen von VS Code-Server-Bits, die über ein Setup-Skript auf der Compute-Instanz installiert werden.
raw.githubusercontent.com/microsoft/vscode-tools-for-ai/master/azureml_remote_websocket_server/* Dient zum Abrufen von Websocket-Server-Bits, die auf der Compute-Instanz installiert sind. Der Websocket-Server wird verwendet, um Anforderungen des Visual Studio Code-Clients (Desktopanwendung) an den Visual Studio Code-Server zu übertragen, der in der Compute-Instanz ausgeführt wird.

Wenn Sie Azure Kubernetes Service (AKS) mit Azure Machine Learning verwenden, lassen Sie den folgenden Datenverkehr an das AKS-VNET zu:

Informationen zur Verwendung einer Firewalllösung finden Sie unter Verwenden einer Firewall mit Azure Machine Learning.

Compute-Cluster

Verwenden Sie die folgenden Registerkarten, um auszuwählen, wie Sie einen Computecluster erstellen möchten:

Verwenden Sie die folgenden Schritte, um einen Computecluster im Azure Machine Learning Studio zu erstellen:

  1. Melden Sie sich bei Azure Machine Learning Studio an, und wählen Sie dann Ihr Abonnement und den Arbeitsbereich aus.

  2. Wählen Sie auf der linken Seite Compute, in der Mitte Computecluster und dann + Neu aus.

    Screenshot: Erstellen eines Clusters

  3. Wählen Sie im Dialogfeld Computecluster erstellen die VM-Größe und -Konfiguration aus, die Sie benötigen, und wählen Sie dann Weiter aus.

    Screenshot: Festlegen der VM-Konfiguration

  4. Legen Sie im Abschnitt Einstellungen konfigurieren den Computenamen, das virtuelle Netzwerk und das Subnetz fest.

    Der Screenshot zeigt die Einstellung des Compute-Namens, des virtuellen Netzwerks und des Subnetzes.

    Tipp

    Wenn Ihr Arbeitsbereich einen privaten Endpunkt verwendet, um eine Verbindung mit dem virtuellen Netzwerk herzustellen, wird das Auswahlfeld Virtuelles Netzwerk abgeblendet angezeigt.

  5. Wählen Sie Erstellen aus, um den Computecluster zu erstellen.

Nach Abschluss des Erstellungsprozesses trainieren Sie Ihr Modell, indem Sie den Cluster in einem Experiment verwenden. Weitere Informationen finden Sie unter Auswählen und Verwenden eines Computeziels für das Training.

Hinweis

Sie können sich dafür entscheiden, virtuelle Computer mit niedriger Priorität zu verwenden, um einige oder alle Ihre Workloads auszuführen. Weitere Informationen finden Sie unter Erstellen eines virtuellen Computers mit niedriger Priorität.

Keine öffentliche IP-Adresse für Computecluster (Vorschau)

Wenn Sie keine öffentliche IP aktivieren, verwendet Ihr Computecluster keine öffentliche IP für die Kommunikation mit anderen Abhängigkeiten. Stattdessen kommuniziert sie ausschließlich innerhalb des virtuellen Netzwerks über das Azure Private Link-Ökosystem sowie über Service-/Privat-Endpunkte, wodurch die Notwendigkeit einer öffentlichen IP vollständig entfällt. Keine öffentliche IP-Adresse verhindert den Zugang und die Auffindbarkeit von Computeclusterknoten aus dem Internet und eliminiert damit einen wichtigen Bedrohungsvektor. Cluster ohne öffentliche IP-Adresse helfen bei der Einhaltung von Richtlinien für öffentliche IP-Adressen, über die viele Unternehmen verfügen.

Ein Computecluster, bei dem keine öffentliche IP aktiviert ist, hat im Vergleich zu einem Computecluster mit öffentlicher IP keine Anforderungen an die eingehende Kommunikation aus dem öffentlichen Internet. Insbesondere ist keine der beiden NSG-Regeln für den Eingang (BatchNodeManagement, AzureMachineLearning) erforderlich. Sie müssen den Eingang von der VirtualNetwork-Quelle und beliebigen Portquellen zum VirtualNetwork-Ziel und dem Zielport 29876, 29877 zulassen.

Keine öffentliche IP-Cluster sind von Azure Private Link für Azure Machine Learning Workspace abhängig. Für einen Computecluster mit keiner öffentlichen IP müssen Sie außerdem private Endpunkt-Netzwerkrichtlinien und private Link-Service-Netzwerkrichtlinien deaktivieren. Diese Anforderungen stammen von Azure Private Link Service und Private Endpoints und sind nicht Azure Machine Learning-spezifisch. Befolgen Sie die Anweisungen unter Deaktivieren der Netzwerkrichtlinien für den Private Link-Dienst, um die Parameter disable-private-endpoint-network-policies und disable-private-link-service-network-policies für das Subnetz des virtuellen Netzwerks festzulegen.

Damit ausgehende Verbindungen funktionieren, müssen Sie eine Egress-Firewall wie die Azure-Firewall mit benutzerdefinierten Routen einrichten. Sie können beispielsweise eine Firewall mit ein- und ausgehender Konfiguration verwenden und den Datenverkehr dorthin leiten, indem Sie eine Routentabelle in dem Teilnetz definieren, in dem der Computecluster bereitgestellt wird. Der Eintrag in der Routentabelle kann den nächsten Hop der privaten IP-Adresse der Firewall mit dem Adresspräfix 0.0.0.0/0 einrichten.

Sie können einen Dienstendpunkt oder privaten Endpunkt für Ihre Azure Container Registry und Azure Storage in dem Subnetz verwenden, in dem der Cluster bereitgestellt wird.

Um einen Computecluster ohne öffentliche IP-Adresse (eine Previewfunktion) in Studio zu erstellen, aktivieren Sie das Kontrollkästchen Keine öffentliche IP im Abschnitt „Virtuelles Netzwerk“. Sie können einen Computecluster ohne öffentliche IP-Adresse auch über eine ARM-Vorlage erstellen. Setzen Sie in der ARM-Vorlage den Parameter „enableNodePublicIP“ auf „false“.

Hinweis

Die Unterstützung von Compute-Instanzen ohne öffentliche IP-Adressen ist derzeit für die folgenden Regionen verfügbar und in der öffentlichen Vorschau: „Frankreich, Mitte“, „Asien, Osten“, „USA, Westen-Mitte“, „USA, Süden-Mitte“, „USA, Westen 2“, „USA, Osten“, „Europa, Norden“, „USA, Mitte“, „USA, Norden-Mitte“, „USA, Westen“, „Australien, Osten“, „Japan, Osten“, „Japan, Westen“.

Die Unterstützung für Computecluster ohne öffentliche IP-Adressen ist derzeit als Vorschauversion in den folgenden Regionen verfügbar: „Asien, Osten“, „USA, Westen-Mitte“, „USA, Osten“, „USA, Osten 2“, „USA, Mitte“, „Europa, Westen“, „USA, Norden-Mitte“, „USA, Westen“, „Japan, Osten“.

Problembehandlung

  • Wenn Sie bei der Erstellung eines Clusters die Fehlermeldung „Im angegebenen Subnetz ist PrivateLinkServiceNetworkPolicies oder PrivateEndpointNetworkEndpoints aktiviert“ erhalten, befolgen Sie bitte die Anweisungen unter Deaktivieren von Netzwerkrichtlinien für den Private Link-Dienst und Deaktivieren von Netzwerkrichtlinien für den privaten Endpunkt.

  • Wenn bei der Ausführung des Auftrags aufgrund von Verbindungsproblemen mit ACR oder Azure Storage ein Fehler auftritt, überprüfen Sie, ob der Kunde ACR- und Azure Storage-Dienstendpunkte/private Endpunkte zum Subnetz hinzugefügt hat und ob ACR/Azure Storage den Zugriff über das Subnetz zulässt.

  • Um sicherzustellen, dass Sie einen Cluster ohne öffentliche IP-Adresse erstellt haben, sehen Sie in Studio bei den Clusterdetails, dass die Eigenschaft Keine öffentliche IP unter den Ressourceneigenschaften auf true festgelegt ist.

Compute-Instanz

Schritte zum Erstellen einer Compute-Instanz, die in einem virtuellen Netzwerk bereitgestellt wird, finden Sie unter „Erstellen und Verwalten einer Azure Machine Learning-Recheninstanz“.

Keine öffentliche IP für Compute-Instanzen (Vorschau)

Wenn Sie keine öffentliche IP aktivieren, verwendet Ihre Compute-Instanz keine öffentliche IP für die Kommunikation mit anderen Abhängigkeiten. Stattdessen kommuniziert sie ausschließlich innerhalb des virtuellen Netzwerks über das Azure Private Link-Ökosystem sowie über Service-/Privat-Endpunkte, wodurch die Notwendigkeit einer öffentlichen IP vollständig entfällt. Keine öffentliche IP-Adresse verhindert den Zugang und die Auffindbarkeit des Knotenpunkts der Compute-Instanz aus dem Internet und eliminiert damit einen wichtigen Bedrohungsvektor. Compute-Instanzen führen auch eine Paketfilterung durch, um jeglichen Verkehr von außerhalb des virtuellen Netzwerks abzuweisen. Keine öffentlichen IP- Instanzen sind von Azure Private Link für Azure Machine Learning Workspace abhängig.

Damit ausgehende Verbindungen funktionieren, müssen Sie eine Egress-Firewall wie die Azure-Firewall mit benutzerdefinierten Routen einrichten. Sie können beispielsweise eine Firewall mit ein- und ausgehender Konfiguration verwenden und den Datenverkehr dorthin leiten, indem Sie eine Routentabelle in dem Teilnetz definieren, in dem die Compute-Instanz bereitgestellt wird. Der Eintrag in der Routentabelle kann den nächsten Hop der privaten IP-Adresse der Firewall mit dem Adresspräfix 0.0.0.0/0 einrichten.

Eine Compute-Instanz, bei der keine öffentliche IP aktiviert ist, hat im Vergleich zu einer Compute-Instanz mit öffentlicher IP keine Anforderungen an die eingehende Kommunikation aus dem öffentlichen Internet. Insbesondere ist keine der beiden NSG-Regeln für den Eingang (BatchNodeManagement, AzureMachineLearning) erforderlich. Sie müssen den Eingang von der VirtualNetwork-Quelle, beliebigen Portquellen, vom VirtualNetwork-Ziel und von den Zielports 29876, 29877 und 44224 zulassen.

Für eine Compute-Instanz mit keiner öffentlichen IP müssen Sie außerdem private Endpunkt-Netzwerkrichtlinien und private Link-Service-Netzwerkrichtlinien deaktivieren. Diese Anforderungen stammen von Azure Private Link Service und Private Endpoints und sind nicht Azure Machine Learning-spezifisch. Befolgen Sie die Anweisungen unter „Deaktivieren der Netzwerkrichtlinien für die Quell-IP des Private Link-Dienstes“, um die Parameterdisable-private-endpoint-network-policies und disable-private-link-service-network-policiesdas virtuelle Netzwerk-Subnetz festzulegen.

Um eine Compute-Instanz ohne öffentliche IP-Adresse (eine Vorschaufunktion) in Studio zu erstellen, aktivieren Sie das Kontrollkästchen keine öffentliche IP im Abschnitt „Virtuelles Netzwerk“. Sie können auch keine öffentliche IP-Compute-Instanz über eine ARM-Vorlage erstellen. Setzen Sie in der ARM-Vorlage den Parameter „enableNodePublicIP“ auf „false“.

Nächste Schritte:

Hinweis

Die Unterstützung von Compute-Instanzen ohne öffentliche IP-Adressen ist derzeit für die folgenden Regionen verfügbar und in der öffentlichen Vorschau: „Frankreich, Mitte“, „Asien, Osten“, „USA, Westen-Mitte“, „USA, Süden-Mitte“, „USA, Westen 2“, „USA, Osten“, „Europa, Norden“, „USA, Mitte“, „USA, Norden-Mitte“, „USA, Westen“, „Australien, Osten“, „Japan, Osten“, „Japan, Westen“.

Die Unterstützung für Computecluster ohne öffentliche IP-Adressen ist derzeit als Vorschauversion in den folgenden Regionen verfügbar: „Asien, Osten“, „USA, Westen-Mitte“, „USA, Osten“, „USA, Osten 2“, „USA, Mitte“, „Europa, Westen“, „USA, Norden-Mitte“, „USA, Westen“, „Japan, Osten“.

Eingehender Datenverkehr

Wenn Sie eine Azure Machine Learning-Compute-Instanz (mit öffentlicher IP-Adresse) oder einen -Computecluster verwenden, gestatten Sie den eingehenden Datenverkehr von Azure Batch Management- und Azure Machine Learning-Diensten. Compute-Instanzen ohne öffentliche IP-Adresse (Vorschau) erfordern diese eingehende Kommunikation nicht. Eine Netzwerksicherheitsgruppe, die diesen Datenverkehr zulässt, wird dynamisch für Sie erstellt. Sie müssen jedoch möglicherweise auch benutzerdefinierte Routen (UDR) erstellen, wenn Sie über eine Firewall verfügen. Wenn Sie eine benutzerdefinierte Route für diesen Datenverkehr erstellen, können Sie entweder IP-Adressen oder Diensttags verwenden, um den Datenverkehr weiterzuleiten.

Wichtig

Die Verwendung von Diensttags mit benutzerdefinierten Routen ist derzeit in der Vorschauversion und wird möglicherweise nicht vollständig unterstützt. Weitere Informationen finden Sie unter Routing in virtuellen Netzwerken.

Tipp

Während eine Compute-Instanz ohne öffentliche IP-Adresse (eine Previewfunktion) für diesen eingehenden Datenverkehr keine UDR erfordert, benötigen Sie diese UDRs weiterhin, wenn Sie auch einen Computecluster oder eine Compute-Instanz mit einer öffentlichen IP-Adresse verwenden.

Für den Azure Machine Learning Service müssen Sie die IP-Adresse sowohl den primären als auch den sekundären Regionen hinzufügen. Informationen zum Auffinden der sekundären Region finden Sie im Abschnitt Sicherstellen von Geschäftskontinuität und Notfallwiederherstellung mit Azure-Regionspaaren. Wenn sich Ihr Azure Machine Learning Service z. B. in „USA, Osten 2“ befindet, ist die sekundäre Region „USA, Mitte“.

Um eine Liste der IP-Adressen des Batchdiensts und des Azure Machine Learning Service zu erhalten, laden Sie die Azure-IP-Bereiche und -Diensttags herunter und suchen Sie in der Datei nach BatchNodeManagement.<region> und AzureMachineLearning.<region>, wobei <region> Ihre Azure-Region angibt.

Wichtig

Die IP-Adressen können sich im Laufe der Zeit ändern.

Legen Sie beim Erstellen des UDR die Option Typ des nächsten Hops auf Internet fest. Die folgende Abbildung zeigt ein Beispiel für eine IP-Adress-basierte benutzerdefinierte Route (UDR) im Azure-Portal:

Abbildung einer benutzerdefinierten Routenkonfiguration

Informationen zum Konfigurieren von benutzerdefinierten Routen finden Sie unter Weiterleiten von Netzwerkdatenverkehr mit einer Routingtabelle.

Weitere Informationen zu den Anforderungen an den Datenverkehr für Azure Machine Learning finden Sie unter Verwenden eines Arbeitsbereichs hinter einer Firewall.

Azure Databricks

Weitere Informationen zur Verwendung von Azure Databricks mit einem virtuellen Netzwerk finden Sie unter Bereitstellen von Azure Databricks in Ihrem Azure Virtual Network.

Virtueller Computer oder HDInsight-Cluster

In diesem Abschnitt erfahren Sie, wie Sie einen virtuellen Computer oder einen Azure HDInsight-Cluster in einem virtuellen Netzwerk mit Ihrem Arbeitsbereich verwenden.

Erstellen der VM oder des HDInsight-Clusters

Erstellen Sie einen virtuellen Computer oder einen HDInsight-Cluster mithilfe des Azure-Portals oder der Azure-Befehlszeilenschnittstelle, und platzieren Sie den Cluster in einem virtuellen Azure-Netzwerk. Weitere Informationen finden Sie in den folgenden Artikeln:

Konfigurieren der Netzwerkports

Damit Azure Machine Learning mit dem SSH-Port des virtuellen Computers oder des Clusters kommunizieren kann, konfigurieren Sie einen Quelleintrag für die Netzwerksicherheitsgruppe. Der SSH-Port ist in der Regel der Port 22. Gehen Sie wie folgt vor, um Datenverkehr aus dieser Quelle zuzulassen:

  1. Wählen Sie in der Dropdownliste Quelle den Eintrag Diensttag aus.

  2. Wählen Sie in der Dropdownliste Quelldiensttag den Eintrag AzureMachineLearning aus.

    Eingangsregeln für Experimente auf einem virtuellen Computer oder in einem HDInsight-Cluster innerhalb eines virtuellen Netzwerks

  3. Wählen Sie in der Dropdownliste Quellportbereiche den Eintrag * aus.

  4. Wählen in der Dropdownliste Ziel die Option Alle aus.

  5. Wählen Sie in der Dropdownliste Quellportbereiche den Eintrag 22 aus.

  6. Wählen Sie unter Protokoll die Option Alle aus.

  7. Wählen Sie für Aktion die Option Zulassen aus.

Behalten Sie die Standardausgangsregeln für die Netzwerksicherheitsgruppe bei. Weitere Informationen finden Sie unter Sicherheitsgruppen bei den Standardsicherheitsregeln.

Wenn Sie die Standardausgangsregeln nicht verwenden und den ausgehenden Zugriff auf Ihr virtuelles Netzwerk beschränken möchten, lesen Sie den Abschnitt Erforderlicher öffentlicher Internetzugriff.

Anfügen der VM oder des HDInsight-Clusters

Fügen Sie den virtuellen Computer oder den HDInsight-Cluster an Ihren Azure Machine Learning-Arbeitsbereich an. Weitere Informationen finden Sie unter Einrichten von Computezielen für das Modelltraining.

Nächste Schritte

Dieser Artikel ist Teil einer Reihe zum Schützen eines Azure Machine Learning-Workflows. Sehen Sie sich auch die anderen Artikel in dieser Reihe an: