Konfigurieren von ein- und ausgehendem Netzwerkdatenverkehr
Azure Machine Learning erfordert Zugriff auf Server und Dienste im öffentlichen Internet. Beim Implementieren der Netzwerkisolation müssen Sie wissen, welcher Zugriff erforderlich ist und wie Sie ihn aktivieren.
Hinweis
Die Informationen in diesem Artikel gelten für den Azure Machine Learning-Arbeitsbereich, der für die Verwendung eines Azure Virtual Network konfiguriert ist. Bei Verwendung eines verwalteten virtuellen Netzwerks wird automatisch die erforderliche Eingangs- und Ausgangskonfiguration für den Arbeitsbereich angewendet. Weitere Informationen finden Sie unter Verwaltetes virtuelles Azure Machine Learning-Netzwerk.
Allgemeine Begriffe und Informationen
In diesem Artikel werden die folgenden Begriffe und Informationen verwendet:
Azure-Diensttags: Mit einem Diensttag können die von einem Azure-Dienst verwendeten IP-Adressbereiche ganz einfach angegeben werden. Das Tag
AzureMachineLearning
stellt beispielsweise die IP-Adressen dar, die von Azure Machine Learning Service verwendet werden.Wichtig
Azure-Diensttags werden nur von einigen Azure-Diensten unterstützt. Eine Liste der Diensttags, die von Netzwerksicherheitsgruppen und Azure Firewall unterstützt werden, finden Sie im Artikel Diensttags für virtuelle Netzwerke.
Wenn Sie eine Nicht-Azure-Lösung wie die Firewall eines Drittanbieters verwenden, laden Sie hier eine Liste mit Azure-IP-Bereichen und -Diensttags herunter. Extrahieren Sie die Datei, und suchen Sie in der Datei nach dem Diensttag. Die IP-Adressen können sich von Zeit zu Zeit ändern.
Region: Bei einigen Diensttags können Sie eine Azure-Region angeben. Dadurch wird der Zugriff auf die IP-Adressen des Diensts in einer bestimmten Region beschränkt, in der Regel die Region, in der sich Ihr Dienst befindet. Ersetzen Sie die Vorkommen von
<region>
in diesem Artikel durch Ihre Azure-Region.BatchNodeManagement.<region>
wird zuBatchNodeManagement.uswest
, wenn sich Ihr Azure Machine Learning-Arbeitsbereich in der Region „USA, Westen“ befindet.Azure Batch: Azure Machine Learning-Computecluster und -Compute-Instanzen basieren auf einer Back-End-Instanz von Azure Batch. Dieser Back-End-Dienst wird in einem Microsoft-Abonnement gehostet.
Ports: Die folgenden Ports werden in diesem Artikel verwendet. Wenn ein Portbereich verwendet wird, der in dieser Tabelle nicht aufgeführt ist, ist er spezifisch für den Dienst, und es gibt möglicherweise keine veröffentlichten Informationen darüber, wofür er verwendet wird:
Port BESCHREIBUNG 80 Ungesicherter Webverkehr (HTTP) 443 Gesicherter Webverkehr (HTTPS) 445 SMB-Verkehr für den Zugriff auf Dateifreigaben in Azure File Storage 8787 Wird verwendet, wenn eine Verbindung zu RStudio auf einer Compute-Instanz hergestellt wird. 18881 Wird verwendet, um eine Verbindung mit dem Sprachserver herzustellen, um IntelliSense für Notebooks auf einer Compute-Instanz zu aktivieren. Protokoll: Sofern nicht anders angegeben, verwendet der gesamte in diesem Artikel erwähnte Netzwerkdatenverkehr TCP.
Basiskonfiguration
Bei dieser Konfiguration wird Folgendes angenommen:
- Sie verwenden Docker-Images, die von einer von Ihnen bereitgestellten Containerregistrierung bereitgestellt werden, und verwenden keine von Microsoft bereitgestellten Images.
- Sie verwenden ein privates Python-Paketrepository und greifen nicht auf öffentliche Paketrepositorys wie
pypi.org
,*.anaconda.com
oder*.anaconda.org
zu. - Die privaten Endpunkte können im VNet direkt miteinander kommunizieren. Beispielsweise verfügen alle Dienste über einen privaten Endpunkt im selben VNet:
- Azure Machine Learning-Arbeitsbereich
- Azure-Speicherkonto (Blob, Datei, Tabelle, Warteschlange)
Eingehender Datenverkehr
`Source` | `Source` ports |
Destination | Zielports | Zweck |
---|---|---|---|---|
AzureMachineLearning |
Any | VirtualNetwork |
44224 | Eingehender Datenverkehr an Compute-Instanz/-cluster. Nur erforderlich, wenn die Instanz/der Cluster für die Verwendung einer öffentlichen IP-Adresse konfiguriert ist. |
Tipp
Für diese Art von Datenverkehr wird standardmäßig eine Netzwerksicherheitsgruppe (Network Security Group, NSG) erstellt. Weitere Informationen finden Sie unter Standardsicherheitsregeln.
Ausgehender Datenverkehr
Diensttag(s) | Ports | Zweck |
---|---|---|
AzureActiveDirectory |
80, 443 | Authentifizierung mit Microsoft Entra ID. |
AzureMachineLearning |
443, 8787, 18881 UDP: 5831 |
Verwenden von Azure Machine Learning Service. |
BatchNodeManagement.<region> |
443 | Kommunikation mit Azure Batch |
AzureResourceManager |
443 | Erstellen von Azure-Ressourcen mit Azure Machine Learning. |
Storage.<region> |
443 | Zugreifen auf Daten, die im Azure Storage-Konto für Compute-Cluster und Compute-Instanzen gespeichert sind. Diese ausgehende Anforderung kann für die Datenexfiltration verwendet werden. Weitere Informationen finden Sie unter Schutz vor Datenexfiltration. |
AzureFrontDoor.FrontEnd * Nicht erforderlich in Microsoft Azure operated by 21Vianet. |
443 | Globaler Einstiegspunkt für Azure Machine Learning Studio. Speichern von Images und Umgebungen für AutoML. |
MicrosoftContainerRegistry |
443 | Auf Docker-Images zugreifen, die von Microsoft bereitgestellt werden. |
Frontdoor.FirstParty |
443 | Auf Docker-Images zugreifen, die von Microsoft bereitgestellt werden. |
AzureMonitor |
443 | Wird zum Protokollieren von Überwachung und Metriken in Azure Monitor verwendet. Nur erforderlich, wenn kein Schutz für Azure Monitor für den Arbeitsbereich vorhanden ist. * Dieser ausgehende Datenverkehr wird auch verwendet, um Informationen für Supportincidents zu protokollieren. |
VirtualNetwork |
443 | Erforderlich, wenn private Endpunkte im virtuellen Netzwerk oder in virtuellen Netzwerken mit Peering vorhanden sind. |
Wichtig
Wenn Compute-Instanzen oder Computecluster für keine öffentliche IP-Adresse konfiguriert sind, können sie standardmäßig nicht auf das Internet zugreifen. Wenn sie weiterhin ausgehenden Datenverkehr an das Internet senden können, liegt dies am ausgehenden Standardzugriff 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. Wenn Sie ausgehenden Zugriff auf das Internet benötigen, empfiehlt es sich, anstelle des ausgehenden Standardzugriffs eine der folgenden Optionen zu verwenden:
- Azure Virtual Network NAT mit einer öffentlichen IP-Adresse: Weitere Informationen zur Verwendung von Virtual Network NAT finden Sie in der Dokumentation zu Virtual Network NAT.
- Benutzerdefinierte Route und Firewall: Erstellen Sie eine benutzerdefinierte Route im Subnetz, das die Computeressource enthält. Der nächste Hop für die Route sollte auf die private IP-Adresse der Firewall mit dem Adresspräfix 0.0.0.0/0 verweisen.
Weitere Informationen finden Sie im Artikel Standardzugriff in ausgehender Richtung in Azure.
Empfohlene Konfiguration für das Trainieren und Bereitstellen von Modellen
Ausgehender Datenverkehr
Diensttag(s) | Ports | Zweck |
---|---|---|
MicrosoftContainerRegistry und AzureFrontDoor.FirstParty |
443 | Ermöglicht die Verwendung von Docker-Images, die Microsoft für Training und Rückschlüsse bereitstellt. Dient außerdem zum Einrichten des Azure Machine Learning-Routers für Azure Kubernetes Service. |
Um die Installation von Python-Paketen für Training und Bereitstellung zuzulassen, lassen Sie ausgehenden Datenverkehr an die folgenden Hostnamen zu:
Hinweis
Diese Liste ist nicht vollständig. Sie enthält nur die Hosts, die für die am häufigsten verwendeten Python-Ressourcen im Internet erforderlich sind. Wenn Sie z. B. Zugriff auf ein GitHub-Repository oder einen anderen Host benötigen, müssen Sie die erforderlichen Hosts für dieses Szenario ermitteln und hinzufügen.
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. |
pytorch.org *.pytorch.org |
Wird von einigen Beispielen verwendet, die auf PyTorch basieren. |
*.tensorflow.org |
Wird von einigen Beispielen verwendet, die auf Tensorflow basieren. |
Szenario: Installieren von RStudio in einer Compute-Instanz
Um die Installation von RStudio in einer Compute-Instanz zuzulassen, muss die Firewall den ausgehenden Zugriff auf die Websites zulassen, von denen das Docker-Image abgerufen werden soll. Fügen Sie der Azure Firewall-Richtlinie die folgende Anwendungsregel hinzu:
- Name: AllowRStudioInstall
- Quelltyp: IP-Adresse
- Quell-IP-Adressen: Der IP-Adressbereich des Subnetzes, in dem Sie die Compute-Instanz erstellen. Beispiel:
172.16.0.0/24
. - Zieltyp: FQDN
- Ziel-FQDN:
ghcr.io
,pkg-containers.githubusercontent.com
- Protokoll:
Https:443
.
Um die Installation von R-Paketen zuzulassen, lassen Sie ausgehenden Datenverkehr an cloud.r-project.org
zu. Dieser Host wird zum Installieren von CRAN-Paketen verwendet.
Hinweis
Wenn Sie Zugriff auf ein GitHub-Repository oder einen anderen Host benötigen, müssen Sie die erforderlichen Hosts für dieses Szenario ermitteln und hinzufügen.
Szenario: Verwenden eines Computeclusters oder einer Compute-Instanz mit einer öffentlichen IP-Adresse
Wichtig
Eine Compute-Instanz oder ein Computecluster ohne öffentliche IP-Adresse benötigt keinen eingehenden Datenverkehr von der Azure Batch-Verwaltung und den Azure Machine Learning-Diensten. Wenn Sie jedoch mehrere Computeressourcen nutzen und einige davon eine öffentliche IP-Adresse verwenden, müssen Sie diesen Datenverkehr zulassen.
Wenn Sie eine Compute-Instanz oder einen Computecluster (mit öffentlicher IP-Adresse) von Azure Machine Learning Service verwenden, lassen Sie den eingehenden Datenverkehr vom Azure Machine Learning-Diensten zu. Bei Compute-Instanzen oder Computeclustern ohne öffentliche IP-Adresse (Vorschau) ist diese eingehende Kommunikation nicht erforderlich. 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.
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 zur sekundären Region finden Sie unter Regionsübergreifende Replikation in Azure. Wenn sich Ihr Azure Machine Learning Service z. B. in „USA, Osten 2“ befindet, ist die sekundäre Region „USA, Mitte“.
Laden Sie die Liste der IP-Adressen von Azure Machine Learning Service unter Azure-IP-Bereiche und -Diensttags herunter, und suchen Sie in der Datei nach AzureMachineLearning.<region>
. Dabei gibt <region>
Ihre Azure-Region an.
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. Das bedeutet, dass die eingehende Kommunikation von Azure Ihre Firewall übersprungen hat, um auf die Lastenausgleichsmodule mit öffentlichen IP-Adressen der Compute-Instanz und des Computeclusters zuzugreifen. UDR ist erforderlich, da die Compute-Instanz und der Computecluster bei der Erstellung zufällige öffentliche IP-Adressen erhalten und Sie die öffentlichen IP-Adressen vor der Erstellung nicht kennen können, um sie für Ihre Firewall zu registrieren und den eingehenden Datenverkehr von Azure an bestimmte IP-Adressen für die Compute-Instanz und den Computecluster zu ermöglichen. Die folgende Abbildung zeigt ein Beispiel für eine IP-Adress-basierte benutzerdefinierte Route (UDR) im Azure-Portal:
Informationen zum Konfigurieren von benutzerdefinierten Routen finden Sie unter Weiterleiten von Netzwerkdatenverkehr mit einer Routingtabelle.
Szenario: Firewall zwischen Azure Machine Learning- und Azure Storage-Endpunkten
Sie müssen auch ausgehenden Zugriff auf Storage.<region>
an Port 445 zulassen.
Szenario: Arbeitsbereich, der mit aktiviertem Flag hbi_workspace
erstellt wurde
Sie müssen auch ausgehenden Zugriff auf Keyvault.<region>
zulassen. Dieser ausgehende Datenverkehr wird verwendet, um auf die Schlüsseltresorinstanz für den Azure Batch-Back-End-Dienst zuzugreifen.
Weitere Informationen zum hbi_workspace
-Flag finden Sie im Artikel zur Datenverschlüsselung.
Szenario: Verwenden von Kubernetes-Computeressourcen
Kubernetes-Cluster, der hinter einem ausgehenden Proxyserver oder einer Firewall ausgeführt wird, benötigt eine zusätzliche ausgehende Netzwerkkonfiguration.
- Konfigurieren Sie für Kubernetes mit Azure Arc-Verbindung die Azure Arc-Netzwerkanforderungen, die von Azure Arc-Agents benötigt werden.
- Konfigurieren Sie für einen AKS-Cluster ohne Azure Arc-Verbindung die Netzwerkanforderungen für die AKS-Erweiterung.
Neben den oben genannten Anforderungen sind für Azure Machine Learning auch die folgenden ausgehenden URLs erforderlich:
Ausgehender Endpunkt | Port | BESCHREIBUNG | Training | Rückschluss |
---|---|---|---|---|
*.kusto.windows.net *.table.core.windows.net *.queue.core.windows.net |
443 | Erforderlich zum Hochladen von Systemprotokollen in Kusto | ✓ | ✓ |
<your ACR name>.azurecr.io <your ACR name>.<region>.data.azurecr.io |
443 | Azure Container Registry, erforderlich zum Pullen von Docker-Images, die für Machine Learning-Workloads verwendet werden | ✓ | ✓ |
<your storage account name>.blob.core.windows.net |
443 | Azure Blob Storage, erforderlich zum Abrufen von Machine Learning-Projektskripts, -Daten oder -Modellen sowie zum Hochladen von Auftragsprotokollen/-ausgaben | ✓ | ✓ |
<your workspace ID>.workspace.<region>.api.azureml.ms <region>.experiments.azureml.net <region>.api.azureml.ms |
443 | API für Azure Machine Learning Service | ✓ | ✓ |
pypi.org |
443 | Python-Paketindex zum Installieren von PIP-Paketen, die zum Initialisieren der Trainingsauftragsumgebung verwendet werden | ✓ | – |
archive.ubuntu.com security.ubuntu.com ppa.launchpad.net |
80 | Erforderlich, um die erforderlichen Sicherheitspatches herunterzuladen | ✓ | – |
Hinweis
- Ersetzen Sie
<your workspace workspace ID>
durch die ID Ihres Arbeitsbereichs. Die ID finden Sie im Azure-Portal: Seite für Ihre Machine Learning-Ressource > Eigenschaften > Arbeitsbereichs-ID. - Ersetzen Sie
<your storage account>
durch den Namen des Speicherkontos. - Ersetzen Sie
<your ACR name>
durch den Namen der Azure Container Registry-Instanz für Ihren Arbeitsbereich. - Ersetzen Sie
<region>
durch die Azure-Region Ihres Arbeitsbereichs.
Clusterinterne Kommunikationsanforderungen
Zum Installieren der Azure Machine Learning-Erweiterung auf Kubernetes-Computeressourcen werden alle Azure Machine Learning-Komponenten im Namespace azureml
bereitgestellt. Die folgende clusterinterne Kommunikation ist erforderlich, um sicherzustellen, dass die ML-Workloads im AKS-Cluster gut funktionieren.
- Die Komponenten im
azureml
-Namespace sollten mit dem Kubernetes-API-Server kommunizieren können. - Die Komponenten im
azureml
-Namespace sollten mit dem miteinander kommunizieren können. - Die Komponenten im
azureml
-Namespace sollten mitkube-dns
undkonnectivity-agent
imkube-system
-Namespace kommunizieren können. - Wenn der Cluster für Rückschlüsse in Echtzeit verwendet wird, sollten
azureml-fe-xxx
-PODs mit den bereitgestellten Modell-PODs auf Port 5001 in einem anderen Namespace kommunizieren können.azureml-fe-xxx
-PODs sollten die Ports 11001, 12001, 12101, 12201, 20000, 8000, 8001, 9001 für die interne Kommunikation öffnen. - Wenn der Cluster für Rückschlüsse in Echtzeit verwendet wird, sollte das bereitgestellte Modell PODs mit
amlarc-identity-proxy-xxx
-PODs auf Port 9999 kommunizieren können.
Szenario: Visual Studio Code
Visual Studio Code basiert auf bestimmten Hosts und Ports, um eine Remoteverbindung herzustellen.
Hosts
Die Hosts in diesem Abschnitt werden verwendet, um Visual Studio Code-Pakete zu installieren, um eine Remoteverbindung zwischen Visual Studio Code und Compute-Instanzen in Ihrem Azure Machine Learning-Arbeitsbereich einzurichten.
Hinweis
Diese Liste ist nicht vollständig. Sie enthält nur die Hosts, die für die am häufigsten verwendeten Visual Studio Code-Ressourcen im Internet erforderlich sind. Wenn Sie z. B. Zugriff auf ein GitHub-Repository oder einen anderen Host benötigen, müssen Sie die erforderlichen Hosts für dieses Szenario ermitteln und hinzufügen. Eine vollständige Liste der Hostnamen finden Sie unter Netzwerkverbindungen in Visual Studio Code.
Hostname | Zweck |
---|---|
*.vscode.dev *.vscode-unpkg.net *.vscode-cdn.net *.vscodeexperiments.azureedge.net default.exp-tas.com |
Erforderlich für den Zugriff auf vscode.dev (Visual Studio Code für das Web) |
code.visualstudio.com |
Erforderlich zum Herunterladen und Installieren von VS Code Desktop. Dieser Host ist für VS Code Web nicht erforderlich. |
update.code.visualstudio.com *.vo.msecnd.net |
Wird zum Abrufen von VS Code-Serverbits verwendet, die über ein Setupskript in der Compute-Instanz installiert werden. |
marketplace.visualstudio.com vscode.blob.core.windows.net *.gallerycdn.vsassets.io |
Erforderlich zum Herunterladen und Installieren von VS Code-Erweiterungen. Diese Hosts ermöglichen die Remoteverbindung mit Compute-Instanzen unter Verwendung der Azure Machine Learning-Erweiterung für VS Code. Weitere Informationen finden Sie unter Herstellen einer Verbindung mit einer Azure Machine Learning-Compute-Instanz in Visual Studio Code (Vorschau). |
https://github.com/microsoft/vscode-tools-for-ai/tree/master/azureml_remote_websocket_server/* |
Wird zum Abrufen von Websocket-Serverbits verwendet, die in der Compute-Instanz installiert werden. 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. |
vscode.download.prss.microsoft.com |
Für Download von Visual Studio Code (CDN) verwendet |
Ports
Sie müssen den Netzwerkdatenverkehr an Ports 8704 bis 8710 zulassen. Der VS Code-Server wählt dynamisch den ersten verfügbaren Port in diesem Bereich aus.
Szenario: Firewall oder Azure Firewall von Drittanbietern ohne Diensttags
Die Anleitungen in diesem Abschnitt sind generisch, da jede Firewall über eine eigene Terminologie und bestimmte Konfigurationen verfügt. Wenn Sie Fragen haben, lesen Sie die Dokumentation für die von Ihnen verwendete Firewall.
Tipp
Wenn Sie Azure Firewall verwenden und die in diesem Abschnitt aufgeführten FQDNs anstelle von Diensttags verwenden wollen, verwenden Sie die folgenden Anleitungen:
- FQDNs, die HTTP/S-Ports (80 und 443) verwenden, sollten als Anwendungsregeln konfiguriert werden.
- FQDNs, die andere Ports verwenden, sollten als Netzwerkregeln konfiguriert werden.
Weitere Informationen finden Sie unter Unterschiede zwischen Anwendungsregeln und Netzwerkregeln.
Wenn sie nicht ordnungsgemäß konfiguriert ist, kann die Firewall Probleme bei der Verwendung Ihres Arbeitsbereichs verursachen. Es gibt verschiedene Hostnamen, die vom Azure Machine Learning-Arbeitsbereich verwendet werden. In den folgenden Abschnitten sind Hosts aufgeführt, die für Azure Machine Learning erforderlich sind.
Abhängigkeiten-API
Sie können auch die Azure Machine Learning-REST-API verwenden, um eine Liste von Hosts und Ports abzurufen, für die Sie ausgehenden Datenverkehr zulassen müssen. Verwenden Sie die folgenden Schritte, um diese API zu verwenden:
Abrufen eines Authentifizierungstokens Der folgende Befehl zeigt, wie Sie mithilfe der Azure CLI ein Authentifizierungstoken und eine Abonnement-ID abrufen:
TOKEN=$(az account get-access-token --query accessToken -o tsv) SUBSCRIPTION=$(az account show --query id -o tsv)
Rufen Sie die API auf. Ersetzen Sie im folgenden Befehl die folgenden Werte:
- Ersetzen Sie
<region>
durch die Azure-Region, in der sich Ihr Arbeitsbereich befindet. Beispiel:westus2
. - Ersetzen Sie
<resource-group>
durch die Ressourcengruppe, die Ihren Arbeitsbereich enthält. - Ersetzen Sie
<workspace-name>
durch den Namen Ihres Arbeitsbereichs.
az rest --method GET \ --url "https://<region>.api.azureml.ms/rp/workspaces/subscriptions/$SUBSCRIPTION/resourceGroups/<resource-group>/providers/Microsoft.MachineLearningServices/workspaces/<workspace-name>/outboundNetworkDependenciesEndpoints?api-version=2018-03-01-preview" \ --header Authorization="Bearer $TOKEN"
- Ersetzen Sie
Das Ergebnis des API-Aufrufs ist ein JSON-Dokument. Der folgende Codeausschnitt ist ein Auszug aus diesem Dokument:
{
"value": [
{
"properties": {
"category": "Azure Active Directory",
"endpoints": [
{
"domainName": "login.microsoftonline.com",
"endpointDetails": [
{
"port": 80
},
{
"port": 443
}
]
}
]
}
},
{
"properties": {
"category": "Azure portal",
"endpoints": [
{
"domainName": "management.azure.com",
"endpointDetails": [
{
"port": 443
}
]
}
]
}
},
...
Microsoft-Hosts
Die Hosts in den folgenden Tabellen befinden sich im Besitz von Microsoft und stellen Dienste bereit, die für die ordnungsgemäße Funktionsweise Ihres Arbeitsbereichs erforderlich sind. In den Tabellen sind die Hosts für die Regionen Azure Public, Azure Government und Microsoft Azure operated by 21Vianet aufgeführt.
Wichtig
Azure Machine Learning verwendet Azure Storage Accounts in Ihrem Abonnement und in von Microsoft verwalteten Abonnements. Gegebenenfalls werden in diesem Abschnitt die folgenden Begriffe verwendet, um sie voneinander zu unterscheiden:
- Ihr Speicher: Das Azure-Speicherkonto/die Azure-Speicherkonten in Ihrem Abonnement, das zum Speichern Ihrer Daten und Artefakte wie Modelle, Trainingsdaten, Trainingsprotokolle und Python-Skripte verwendet wird.>
- Microsoft-Speicher: Die Azure Machine Learning Compute-Instanz und die Compute-Cluster basieren auf Azure Batch und müssen auf Speicher zugreifen, der sich in einem Microsoft-Abonnement befindet. Dieser Speicher wird nur für die Verwaltung der Compute-Instanzen verwendet. Keine Ihrer Daten wird hier gespeichert.
Allgemeine Azure-Hosts
Erforderlich für | Hosts | Protokoll | Ports |
---|---|---|---|
Microsoft Entra ID | login.microsoftonline.com |
TCP | 80, 443 |
Azure-Portal | management.azure.com |
TCP | 443 |
Azure Resource Manager | management.azure.com |
TCP | 443 |
Azure Machine Learning-Hosts
Wichtig
Ersetzen Sie <storage>
in der folgenden Tabelle durch den Namen des Standardspeicherkontos für Ihren Azure Machine Learning-Arbeitsbereich. Ersetzen Sie <region>
durch die Azure-Region Ihres Arbeitsbereichs.
Erforderlich für | Hosts | Protokoll | Ports |
---|---|---|---|
Azure Machine Learning Studio | ml.azure.com |
TCP | 443 |
API | *.azureml.ms |
TCP | 443 |
API | *.azureml.net |
TCP | 443 |
Modellverwaltung | *.modelmanagement.azureml.net |
TCP | 443 |
Integriertes Notebook | *.notebooks.azure.net |
TCP | 443 |
Integriertes Notebook | <storage>.file.core.windows.net |
TCP | 443, 445 |
Integriertes Notebook | <storage>.dfs.core.windows.net |
TCP | 443 |
Integriertes Notebook | <storage>.blob.core.windows.net |
TCP | 443 |
Integriertes Notebook | graph.microsoft.com |
TCP | 443 |
Integriertes Notebook | *.aznbcontent.net |
TCP | 443 |
AutoML NLP, Vision | automlresources-prod.azureedge.net |
TCP | 443 |
AutoML NLP, Vision | aka.ms |
TCP | 443 |
Hinweis
AutoML NLP, Vision wird derzeit nur in öffentlichen Azure-Regionen unterstützt.
Azure Machine Learning-Compute-Instanz- und -Computeclusterhosts
Tipp
- Der Host für Azure Key Vault wird nur benötigt, wenn Ihr Arbeitsbereich mit aktiviertem hbi_workspace Flag erstellt wurde.
- Die Ports 8787 und 18881 für Recheninstanz werden nur benötigt, wenn Ihr Azure Machine-Arbeitsbereich einen privaten Endpunkt hat.
- Ersetzen Sie
<storage>
in der folgenden Tabelle durch den Namen des Standardspeicherkontos für Ihren Azure Machine Learning-Arbeitsbereich. - Ersetzen Sie
<region>
durch die Azure-Region, die Ihren Arbeitsbereich für Azure Machine Learning enthält. - Die WebSocket-Kommunikation muss für die Compute-Instanz zugelassen werden. Wenn Sie den WebSockets-Datenverkehr blockieren, funktionieren Jupyter Notebooks nicht ordnungsgemäß.
Erforderlich für | Hosts | Protokoll | Ports |
---|---|---|---|
Computecluster/-Instanz | graph.windows.net |
TCP | 443 |
Compute-Instanz | *.instances.azureml.net |
TCP | 443 |
Compute-Instanz | *.instances.azureml.ms |
TCP | 443, 8787, 18881 |
Compute-Instanz | <region>.tundra.azureml.ms |
UDP | 5831 |
Compute-Instanz | *.<region>.batch.azure.com |
ANY | 443 |
Compute-Instanz | *.<region>.service.batch.azure.com |
ANY | 443 |
Microsoft Speicherzugriff | *.blob.core.windows.net |
TCP | 443 |
Microsoft Speicherzugriff | *.table.core.windows.net |
TCP | 443 |
Microsoft Speicherzugriff | *.queue.core.windows.net |
TCP | 443 |
Ihr Speicherkonto | <storage>.file.core.windows.net |
TCP | 443, 445 |
Ihr Speicherkonto | <storage>.blob.core.windows.net |
TCP | 443 |
Azure-Schlüsseltresor | *.vault.azure.net | TCP | 443 |
Docker-Images, die von Azure Machine Learning verwaltet werden
Erforderlich für | Hosts | Protokoll | Ports |
---|---|---|---|
Microsoft Container Registry | mcr.microsoft.com *.data.mcr.microsoft.com |
TCP | 443 |
Tipp
- Azure Container Registry ist für jedes benutzerdefinierte Docker-Image erforderlich. Dazu gehören geringfügige Änderungen (z. B. zusätzliche Pakete) an von Microsoft bereitgestellten Basisimages. Der Dienst ist auch für den internen Übermittlungsprozess für Trainingsaufträge von Azure Machine Learning erforderlich. Darüber hinaus wird Microsoft Container Registry unabhängig vom Szenario immer benötigt.
- Wenn Sie die Verbundidentität verwenden möchten, befolgen Sie die Anleitungen im Artikel Bewährte Methoden zum Sichern von Active Directory-Verbunddiensten.
Verwenden Sie außerdem die Informationen im Abschnitt zu Computeressourcen mit öffentlicher IP-Adresse, um IP-Adressen für BatchNodeManagement
und AzureMachineLearning
hinzuzufügen.
Informationen zum Einschränken des Zugriffs auf Modelle, die in AKS bereitgestellt werden, finden Sie unter Steuern des ausgehenden Datenverkehrs in Azure Kubernetes Service.
Überwachung, Metriken und Diagnose
Wenn kein Schutz von Azure Monitor für den Arbeitsbereich vorhanden ist, müssen Sie ausgehenden Datenverkehr für die folgenden Hosts zulassen:
Wenn kein Schutz von Azure Monitor für den Arbeitsbereich vorhanden ist, müssen Sie ausgehenden Datenverkehr für die folgenden Hosts zulassen:
Hinweis
Die auf diesen Hosts protokollierten Informationen werden auch vom Microsoft-Support verwendet, um Probleme, die in Ihrem Arbeitsbereich auftreten, diagnostizieren zu können.
dc.applicationinsights.azure.com
dc.applicationinsights.microsoft.com
dc.services.visualstudio.com
*.in.applicationinsights.azure.com
Eine Liste der IP-Adressen für diese Hosts finden Sie unter Von Azure Monitor verwendete IP-Adressen.
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:
Weitere Informationen zum Konfigurieren von Azure Firewall finden Sie unter Tutorial: Bereitstellen und Konfigurieren von Azure Firewall über das Azure-Portal.