Schützen einer Azure Machine Learning-Trainingsumgebung mit virtuellen Netzwerken (SDKv1)
GILT FÜR: Python SDK azureml v1
In diesem Artikel erfahren Sie, wie Sie Trainingsumgebungen mit einem virtuellen Netzwerk in Azure Machine Learning mithilfe des Python SDK v1 schützen.
Azure Machine Learning-Compute-Instanz und Computecluster können zum sicheren Training von Modellen in einem virtuellen Netzwerk verwendet werden. Wenn Sie Ihre Umgebung planen, können Sie die Compute-Instanz/den Cluster mit oder ohne öffentliche IP-Adresse konfigurieren. Die allgemeinen Unterschiede zwischen den beiden sind:
- Keine öffentliche IP-Adresse: Reduziert die Kosten, da nicht die gleichen Anforderungen an die Netzwerkressourcen gestellt werden. Verbessert die Sicherheit, indem die Anforderung für eingehenden Datenverkehr aus dem Internet beseitigt wird. Es sind jedoch zusätzliche Konfigurationsänderungen erforderlich, um den ausgehenden Zugriff auf erforderliche Ressourcen (Microsoft Entra ID, Azure Resource Manager usw.) zu ermöglichen.
- Öffentliche IP-Adresse: Funktioniert standardmäßig, kostet aber aufgrund zusätzlicher Azure-Netzwerkressourcen mehr. Erfordert eingehende Kommunikation vom Azure Machine Learning Service über das öffentliche Internet.
Die folgende Tabelle enthält die Unterschiede zwischen diesen Konfigurationen:
Konfiguration | Mit öffentlicher IP-Adresse | Ohne öffentliche IP-Adresse |
---|---|---|
Eingehender Datenverkehr | Diensttag AzureMachineLearning . |
Keine |
Ausgehender Datenverkehr | Kann standardmäßig ohne Einschränkungen auf das öffentliche Internet zugreifen. Sie können den Zugriff mithilfe einer Netzwerksicherheitsgruppe oder Firewall einschränken. |
Standardmäßig ist kein Zugriff auf das Internet möglich. Wenn sie weiterhin ausgehenden Datenverkehr an das Internet senden kann, liegt dies am standardmäßigen ausgehenden Zugriff von Azure und daran, dass Sie über eine NSG verfügen, die ausgehenden Datenverkehr in das Internet zulässt. Der standardmäßige ausgehende Zugriff wird jedoch nicht empfohlen. Falls Sie ausgehenden Zugriff auf das Internet benötigen, empfehlen wir stattdessen ein Virtual Network NAT-Gateway oder eine Firewall, wenn Sie ausgehenden Datenverkehr an erforderliche Ressourcen im Internet weiterleiten müssen. |
Azure-Netzwerkressourcen | Öffentliche IP-Adresse, Lastenausgleich, Netzwerkschnittstelle | Keine |
Sie können auch Azure Databricks oder HDInsight verwenden, um Modelle in einem virtuellen Netzwerk zu trainieren.
Tipp
Sie können verwaltete virtuelle Netzwerken für Azure Machine Learning anstelle der Schritte in diesem Artikel verwenden. Mit einem verwalteten virtuellen Netzwerk übernimmt Azure Machine Learning die Aufgabe der Netzwerkisolation für Ihren Arbeitsbereich und Ihre verwalteten Computeressourcen. Sie können auch private Endpunkte für Ressourcen hinzufügen, die vom Arbeitsbereich benötigt werden, z. B. Azure Storage-Konto. Weitere Informationen finden Sie unter Verwaltete Netzwerkisolation auf Arbeitsbereichsebene.
Hinweis
Informationen zur Verwendung von Azure Machine Learning Studio und des Python SDK v2 finden Sie unter Schützen der Trainingsumgebung (v2).
Ein Tutorial zum Erstellen eines sicheren Arbeitsbereichs finden Sie unter Tutorial: Erstellen eines sicheren Arbeitsbereichs im Azure-Portal, Bicep-Vorlage oder Terraform-Vorlage.
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
Wichtig
Die in diesem Artikel als „Vorschau“ markierten Elemente sind aktuell in der öffentlichen Vorschau. Die Vorschauversion wird ohne Vereinbarung zum Servicelevel bereitgestellt und ist nicht für Produktionsworkloads vorgesehen. Manche Features werden möglicherweise nicht unterstützt oder sind nur eingeschränkt verwendbar. Weitere Informationen finden Sie unter Zusätzliche Nutzungsbestimmungen für Microsoft Azure-Vorschauen.
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 Dieses VNet muss sich im selben Abonnement befinden wie Ihr Azure Machine Learning-Arbeitsbereich.
- Es wird empfohlen, die Speicherkonten, die von Ihrem Arbeitsbereich und Trainingsaufträgen verwendet werden, in derselben Azure-Region zu platzieren, die Sie für Ihre Compute-Instanzen und Cluster verwenden möchten. Wenn sie sich nicht in derselben Azure-Region befinden, fallen möglicherweise Kosten für die Datenübertragung und eine erhöhte Netzwerklatenz an.
- Stellen Sie sicher, dass die WebSocket-Kommunikation für
*.instances.azureml.net
und*.instances.azureml.ms
in Ihrem VNet zulässig ist. WebSockets werden von Jupyter auf Compute-Instanzen verwendet.
Ein vorhandenes Subnetz im virtuellen Netzwerk. Dieses Subnetz wird beim Erstellen von Compute-Instanzen und Clustern verwendet.
- Stellen Sie sicher, dass das Subnetz nicht an andere Azure-Dienste delegiert wird.
- Stellen Sie sicher, dass das Subnetz genügend freie IP-Adressen enthält. Jede Compute-Instanz erfordert eine IP-Adresse. Jeder Knoten innerhalb eines Computeclusters erfordert eine IP-Adresse.
Wenn Sie über einen eigenen DNS-Server verfügen, wird empfohlen, die DNS-Weiterleitung zu verwenden, um die vollqualifizierten Domänennamen (FQDN) von Compute-Instanzen und Clustern aufzulösen. Weitere Informationen finden Sie unter Verwenden eines benutzerdefinierten DNS mit Azure Machine Learning.
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/*/read“ auf der virtuellen Netzwerkressource. Diese Berechtigung ist für ARM-Vorlagenbereitstellungen (Azure Resource Manager) nicht erforderlich.
- „Microsoft.Network/virtualNetworks/join/action“ auf der virtuellen Netzwerkressource
- „Microsoft.Network/virtualNetworks/subnets/join/action“ in der Subnetzressource
Weitere Informationen zur rollenbasierten Zugriffssteuerung von Azure in Netzwerken finden Sie unter Integrierte Netzwerkrollen.
Einschränkungen
Azure Machine Learning-Computecluster/-Instanz
Computecluster können in einer anderen Region und einem anderen VNet als der/dem Ihres Arbeitsbereichs erstellt werden. Diese Funktionalität ist jedoch nur mit SDK v2, CLI v2 oder Studio verfügbar. Weitere Informationen finden Sie in der v2-Version von sicheren Trainingsumgebungen.
Die Bereitstellung von Computeclustern/-Instanzen im virtuellen Netzwerk wird mit Azure Lighthouse nicht unterstützt.
Port 445 muss für die private Netzwerkkommunikation während des Trainings zwischen Ihren Compute-Instanzen und dem Standardspeicherkonto geöffnet sein. Wenn sich Ihre Computes beispielsweise in einem VNet befinden und sich das Speicherkonto in einem anderen befindet, blockieren Sie Port 445 nicht für das VNet des Speicherkontos.
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.
- 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 für die 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.
Compute-Instanz/Cluster ohne öffentliche IP-Adresse
Wichtig
Wenn Sie Compute-Instanzen oder Computecluster verwendet haben, die für keine öffentliche IP-Adresse konfiguriert sind, ohne sich für die Vorschau zu entscheiden, müssen Sie sie nach dem 20. Januar 2023 löschen und neu erstellen (wenn das Feature allgemein verfügbar ist).
Wenn Sie zuvor die Vorschauversion für keine öffentliche IP-Adresse verwendet haben, müssen Sie möglicherweise auch den eingehenden und ausgehenden Datenverkehr ändern, da sich die Anforderungen für die allgemeine Verfügbarkeit geändert haben:
- Ausgehende Anforderungen – Zwei zusätzliche ausgehende Anforderungen, die nur für die Verwaltung von Compute-Instanzen und Clustern verwendet werden. Das Ziel dieser Diensttags gehört Microsoft:
AzureMachineLearning
-Diensttag am UDP-Port 5831.BatchNodeManagement
-Diensttag am TCP-Port 443.
Die folgenden Konfigurationen gelten zusätzlich zu den im Abschnitt Voraussetzungen aufgeführten und sind spezifisch für das Erstellen von Compute-Instanzen/Clustern, die für keine öffentliche IP-Adresse konfiguriert sind:
Sie müssen einen privaten Arbeitsbereichsendpunkt verwenden, damit die Computeressource über das VNET mit Azure Machine Learning-Diensten kommunizieren kann. Weitere Informationen finden Sie unter „Konfigurieren eines privaten Endpunkts für Azure Machine Learning Workspace“.
Lassen Sie in Ihrem VNet ausgehenden Datenverkehr zu den folgenden Service-Tags oder vollqualifizierten Domänennamen (FQDN) zu:
Diensttag Protocol Port Notizen AzureMachineLearning
TCP
UDP443/8787/18881
5831Kommunikation mit dem Azure Machine Learning Service. BatchNodeManagement.<region>
ANY 443 Ersetzen Sie <region>
durch die Azure-Region, die Ihren Azure Machine Learning-Arbeitsbereich enthält. Kommunikation mit Azure Batch. Compute-Instanz und Computecluster werden mithilfe des Azure Batch-Diensts implementiert.Storage.<region>
TCP 443 Ersetzen Sie <region>
durch die Azure-Region, die Ihren Azure Machine Learning-Arbeitsbereich enthält. Dieses Diensttag wird verwendet, um mit dem von Azure Batch verwendeten Azure Storage-Konto zu kommunizieren.Wichtig
Der ausgehende Zugriff auf
Storage.<region>
könnte potenziell dazu verwendet werden, Daten aus Ihrem Arbeitsbereich zu exfiltrieren. Mithilfe einer Richtlinie für Dienstendpunkte können Sie dieses Sicherheitsrisiko entschärfen. Weitere Informationen finden Sie im Artikel Verhinderung der Azure Machine Learning-Datenexfiltration.FQDN Protocol Port Notizen <region>.tundra.azureml.ms
UDP 5831 Ersetzen Sie <region>
durch die Azure-Region, die Ihren Azure Machine Learning-Arbeitsbereich enthält.graph.windows.net
TCP 443 Kommunikation mit der Microsoft Graph-API. *.instances.azureml.ms
TCP 443/8787/18881 Kommunikation mit Azure Machine Learning. *.<region>.batch.azure.com
ANY 443 Ersetzen Sie <region>
durch die Azure-Region, die Ihren Azure Machine Learning-Arbeitsbereich enthält. Kommunikation mit Azure Batch.*.<region>.service.batch.azure.com
ANY 443 Ersetzen Sie <region>
durch die Azure-Region, die Ihren Azure Machine Learning-Arbeitsbereich enthält. Kommunikation mit Azure Batch.*.blob.core.windows.net
TCP 443 Kommunikation mit Azure Blob Storage. *.queue.core.windows.net
TCP 443 Kommunikation mit Azure Queue Storage. *.table.core.windows.net
TCP 443 Kommunikation mit Azure Table Storage. Erstellen Sie entweder eine Firewall und Ausgangsregeln oder ein NAT-Gateway und Netzwerkdienstgruppen, um ausgehenden Datenverkehr zuzulassen. Da die Compute keine öffentliche IP-Adresse hat, kann sie ohne diese Konfiguration nicht mit Ressourcen im öffentlichen Internet kommunizieren. Beispielsweise wäre eine Kommunikation mit Microsoft Entra ID oder Azure Resource Manager nicht möglich. Die Installation von Python-Paketen aus öffentlichen Quellen erfordert ebenfalls diese Konfiguration.
Weitere Informationen zum ausgehenden Datenverkehr, der von Azure Machine Learning verwendet wird, finden Sie in den folgenden Artikeln:
Verwenden Sie die folgenden Informationen, um eine Compute-Instanz oder einen Cluster ohne öffentliche IP-Adresse zu erstellen:
Verwenden Sie zum Erstellen einer Compute-Instanz oder eines Computeclusters ohne öffentliche IP-Adresse die Azure Machine Learning Studio-Benutzeroberfläche, um die Ressource zu erstellen:
Melden Sie sich beim Azure Machine Learning Studio an, und wählen Sie dann Ihr Abonnement und den Arbeitsbereich aus.
Wählen Sie auf der linken Navigationsleiste die Seite Compute aus.
Wählen Sie in der Navigationsleiste der Compute-Instanz oder des Computeclusters die Option + Neu aus.
Konfigurieren Sie die benötigte VM-Größe und Konfiguration und wählen Sie dann Weiter aus.
Wählen Sie in den Erweiterten Einstellungen die Option Virtuelles Netzwerk aktivieren, Ihr virtuelles Netzwerk und Subnetz, und schließlich die Option Keine öffentliche IP-Adresse im Abschnitt „VNet/Subnetz“ aus.
Tipp
Sie können auch das Azure Machine Learning SDK v2 oder die Azure CLI-Erweiterung für ML v2 verwenden. Informationen zum Erstellen einer Compute-Instanz oder eines Clusters ohne öffentliche IP-Adresse finden Sie in der Version v2 des Artikels Schützen einer Azure Machine Learning-Trainingsumgebung.
Compute-Instanz/Cluster mit öffentlicher IP-Adresse
Die folgenden Konfigurationen gelten zusätzlich zu den im Abschnitt Voraussetzungen aufgeführten und sind spezifisch für das Erstellen von Compute-Instanzen/Clustern mit öffentlicher IP-Adresse:
Wenn Sie mehrere Compute-Instanzen/Cluster 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 Netzwerkressourcen zu. Für alle Compute-Instanzen und -cluster ordnet der Dienst folgende Ressourcen zu:
Eine Netzwerksicherheitsgruppe (NSG) wird automatisch erstellt. Diese NSG lässt eingehenden TCP-Datenverkehr auf Port 44224 vom Diensttag
AzureMachineLearning
zu.Wichtig
Compute-Instanz und Compute-Cluster erstellen automatisch eine NSG mit den erforderlichen Regeln.
Wenn Sie eine andere NSG auf Subnetzebene haben, dürfen die Regeln in der NSG auf Subnetzebene nicht mit den Regeln in der automatisch erstellten NSG in Konflikt stehen.
Informationen dazu, wie die NSGs Ihren Netzwerkverkehr filtern, finden Sie unter So filtern Netzwerksicherheitsgruppen den Netzwerkverkehr.
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.
Lassen Sie in Ihrem VNet eingehenden TCP-Datenverkehr an Port 44224 vom Diensttag
AzureMachineLearning
zu.Wichtig
Der Compute-Instanz/dem Cluster wird beim Erstellen dynamisch eine IP-Adresse zugewiesen. Da die Adresse vor der Erstellung nicht bekannt ist und eingehender Zugriff im Rahmen des Erstellungsprozesses erforderlich ist, können Sie sie Ihrer Firewall nicht statisch zuweisen. Wenn Sie stattdessen eine Firewall mit dem VNet verwenden, müssen Sie eine benutzerdefinierte Route erstellen, um diesen eingehenden Datenverkehr zuzulassen.
Lassen Sie in Ihrem VNet ausgehenden Datenverkehr für die folgenden Diensttags zu:
Diensttag Protocol Port Notizen AzureMachineLearning
TCP
UDP443/8787/18881
5831Kommunikation mit dem Azure Machine Learning Service. BatchNodeManagement.<region>
ANY 443 Ersetzen Sie <region>
durch die Azure-Region, die Ihren Azure Machine Learning-Arbeitsbereich enthält. Kommunikation mit Azure Batch. Compute-Instanz und Computecluster werden mithilfe des Azure Batch-Diensts implementiert.Storage.<region>
TCP 443 Ersetzen Sie <region>
durch die Azure-Region, die Ihren Azure Machine Learning-Arbeitsbereich enthält. Dieses Diensttag wird verwendet, um mit dem von Azure Batch verwendeten Azure Storage-Konto zu kommunizieren.Wichtig
Der ausgehende Zugriff auf
Storage.<region>
könnte potenziell dazu verwendet werden, Daten aus Ihrem Arbeitsbereich zu exfiltrieren. Mithilfe einer Richtlinie für Dienstendpunkte können Sie dieses Sicherheitsrisiko entschärfen. Weitere Informationen finden Sie im Artikel Verhinderung der Azure Machine Learning-Datenexfiltration.FQDN Protocol Port Notizen <region>.tundra.azureml.ms
UDP 5831 Ersetzen Sie <region>
durch die Azure-Region, die Ihren Azure Machine Learning-Arbeitsbereich enthält.graph.windows.net
TCP 443 Kommunikation mit der Microsoft Graph-API. *.instances.azureml.ms
TCP 443/8787/18881 Kommunikation mit Azure Machine Learning. *.<region>.batch.azure.com
ANY 443 Ersetzen Sie <region>
durch die Azure-Region, die Ihren Azure Machine Learning-Arbeitsbereich enthält. Kommunikation mit Azure Batch.*.<region>.service.batch.azure.com
ANY 443 Ersetzen Sie <region>
durch die Azure-Region, die Ihren Azure Machine Learning-Arbeitsbereich enthält. Kommunikation mit Azure Batch.*.blob.core.windows.net
TCP 443 Kommunikation mit Azure Blob Storage. *.queue.core.windows.net
TCP 443 Kommunikation mit Azure Queue Storage. *.table.core.windows.net
TCP 443 Kommunikation mit Azure Table Storage.
GILT FÜR: Python SDK azureml v1
import datetime
import time
from azureml.core.compute import ComputeTarget, ComputeInstance
from azureml.core.compute_target import ComputeTargetException
# Choose a name for your instance
# Compute instance name should be unique across the azure region
compute_name = "ci{}".format(ws._workspace_id)[:10]
# Verify that instance does not exist already
try:
instance = ComputeInstance(workspace=ws, name=compute_name)
print('Found existing instance, use it.')
except ComputeTargetException:
compute_config = ComputeInstance.provisioning_configuration(
vm_size='STANDARD_D3_V2',
ssh_public_access=False,
vnet_resourcegroup_name='vnet_resourcegroup_name',
vnet_name='vnet_name',
subnet_name='subnet_name',
# admin_user_ssh_public_key='<my-sshkey>'
)
instance = ComputeInstance.create(ws, compute_name, compute_config)
instance.wait_for_completion(show_output=True)
Wenn der Erstellungsprozess abgeschlossen ist, trainieren Sie Ihr Modell. Weitere Informationen finden Sie unter Auswählen und Verwenden eines Computeziels für das Training.
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.
- 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 für die 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.
Erforderlicher öffentlicher Internetzugriff zum Trainieren von Modellen
Wichtig
Während in den vorherigen Abschnitten dieses Artikels Konfigurationen beschrieben werden, die zum Erstellen von Computeressourcen erforderlich sind, sind die Konfigurationsinformationen in diesem Abschnitt erforderlich, um diese Ressourcen zum Trainieren von Modellen zu verwenden.
Azure Machine Learning erfordert sowohl eingehenden als auch ausgehenden Zugriff auf das öffentliche Internet. Die folgenden Tabellen bieten eine Übersicht darüber, welcher Zugriff erforderlich ist und welchem Zweck der Zugriff dient. Ersetzen Sie bei Diensttags, die auf .region
enden, region
durch die Azure-Region, die Ihren Arbeitsbereich enthält. Zum Beispiel Storage.westus
:
Tipp
Auf der erforderlichen Registerkarte werden die erforderlichen ein- und ausgehenden Konfigurationen aufgeführt. Die situative Registerkarte listet optionale eingehende und ausgehende Konfigurationen auf, die für bestimmte Konfigurationen erforderlich sind, die Sie möglicherweise aktivieren möchten.
Direction | Protokoll und ports |
Diensttag | Zweck |
---|---|---|---|
Ausgehend | TCP: 80, 443 | AzureActiveDirectory |
Authentifizierung mit Microsoft Entra ID. |
Ausgehend | TCP: 443, 18881 UDP: 5831 |
AzureMachineLearning |
Verwenden von Azure Machine Learning Service. Python IntelliSense in Notebooks verwendet Port 18881. Zum Erstellen, Aktualisieren und Löschen einer Azure Machine Learning-Compute-Instanz wird Port 5831 verwendet. |
Ausgehend | ANY: 443 | BatchNodeManagement.region |
Kommunikation mit Azure Batch-Back-End für Azure Machine Learning-Compute-Instanzen/-Cluster. |
Ausgehend | TCP: 443 | AzureResourceManager |
Erstellen von Azure-Ressourcen mit Azure Machine Learning, der Azure CLI und dem Azure Machine Learning SDK. |
Ausgehend | TCP: 443 | Storage.region |
Zugreifen auf Daten, die im Azure Storage-Konto für Compute-Cluster und Compute-Instanzen gespeichert sind. Informationen zum Verhindern der Datenexfiltration über diesen ausgehenden Datenverkehr finden Sie unter Schutz vor Datenexfiltration. |
Ausgehend | TCP: 443 | AzureFrontDoor.FrontEnd * Nicht erforderlich in Microsoft Azure operated by 21Vianet. |
Globaler Einstiegspunkt für Azure Machine Learning Studio. Speichern von Images und Umgebungen für AutoML. Informationen zum Verhindern der Datenexfiltration über diesen ausgehenden Datenverkehr finden Sie unter Schutz vor Datenexfiltration. |
Ausgehend | TCP: 443 | MicrosoftContainerRegistry.region Hinweis: Dieses Tag ist vom Tag AzureFrontDoor.FirstParty abhängig. |
Auf Docker-Images zugreifen, die von Microsoft bereitgestellt werden. Einrichten des Azure Machine Learning Routers für Azure Kubernetes Service. |
Tipp
Falls Sie anstelle von Diensttags die IP-Adressen benötigen, verwenden Sie eine der folgenden Optionen:
- Laden Sie unter Azure-IP-Bereiche und -Diensttags: Öffentliche Cloud eine Liste herunter.
- Verwenden Sie den Azure CLI-Befehl az network list-service-tags.
- Verwenden Sie den Azure PowerShell-Befehl get-AzNetworkServiceTag.
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. |
code.visualstudio.com |
Zum Herunterladen und Installieren von Visual Studio Code als Desktopversion erforderlich. Dies ist für Visual Studio Code Web nicht erforderlich. |
update.code.visualstudio.com *.vo.msecnd.net |
Wird zum Abrufen von Visual Studio Code-Serverbits verwendet, die über ein Setupskript auf der Compute-Instanz installiert werden. |
marketplace.visualstudio.com vscode.blob.core.windows.net *.gallerycdn.vsassets.io |
Zum Herunterladen und Installieren von Visual Studio Code-Erweiterungen erforderlich. Diese Hosts ermöglichen die Remoteverbindung mit den Compute-Instanzen, die von der Azure ML-Erweiterung für Visual Studio Code bereitgestellt werden. Weitere Informationen finden Sie unter Herstellen einer Verbindung mit einer Azure Machine Learning-Compute-Instanz in Visual Studio Code (Vorschau). |
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. |
Hinweis
Bei Verwendung der Erweiterung Azure Machine Learning für Visual Studio Code benötigt die Remotecompute-Instanz Zugriff auf öffentliche Repositorys, um die für die Erweiterung erforderlichen Pakete zu installieren. Wenn die Compute-Instanz einen Proxy für den Zugriff auf diese öffentlichen Repositorys oder das Internet erfordert, müssen Sie die Umgebungsvariablen HTTP_PROXY
und HTTPS_PROXY
in der Datei ~/.bashrc
der Compute-Instanz festlegen und exportieren. Dieser Prozess kann zum Zeitpunkt der Bereitstellung mithilfe eines benutzerdefinierten Skripts automatisiert werden.
Wenn Sie Azure Kubernetes Service (AKS) mit Azure Machine Learning verwenden, lassen Sie den folgenden Datenverkehr an das AKS-VNET zu:
- Allgemeine Anforderungen für eingehenden/ausgehenden Datenverkehr für AKS, wie im Artikel Einschränken des ausgehenden Datenverkehrs in Azure Kubernetes Service beschrieben.
- Ausgehend an mcr.microsoft.com.
- Wenn Sie ein Modell in einem AKS-Cluster bereitstellen, beziehen Sie sich auf den Leitfaden im Artikel Bereitstellen von ML-Modellen in Azure Kubernetes Service.
Informationen zur Verwendung einer Firewalllösung finden Sie unter Verwenden einer Firewall mit Azure Machine Learning.
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: