Isolation verwalteter virtueller Netzwerke auf Arbeitsbereichsebene
GILT FÜR:Azure CLI ML-Erweiterung v2 (aktuell)Python SDK azure-ai-ml v2 (aktuell)
Azure Machine Learning unterstützt die Isolation verwalteter virtueller Netzwerke. Isolation verwalteter virtueller Netzwerke optimiert und automatisiert die Konfiguration Ihrer Netzwerkisolation mit einem integrierten verwalteten virtuellen Azure Machine Learning-Netzwerk auf Arbeitsbereichsebene. Das verwaltete virtuelle Netzwerk sichert Ihre verwalteten Azure Machine Learning-Ressourcen, z. B. Compute-Instanzen, Computecluster, serverloses Computing und verwaltete Onlineendpunkte.
Das Sichern Ihres Arbeitsbereichs mit einem verwalteten Netzwerk ermöglicht die Netzwerkisolation für ausgehenden Zugriff vom Arbeitsbereich und verwaltete Berechnungen. Ein virtuelles Azure-Netzwerk, das Sie erstellen und verwalten, wird verwendet, um eingehenden Zugriff auf den Arbeitsbereich bereitzustellen. Beispielsweise wird ein privater Endpunkt für den Arbeitsbereich in Ihrem virtuellen Azure-Netzwerk erstellt. Alle Clients, die eine Verbindung mit dem virtuellen Netzwerk herstellen, können über den privaten Endpunkt auf den Arbeitsbereich zugreifen. Wenn Aufträge auf verwalteten Computerresources ausgeführt werden, schränkt das verwaltete Netzwerk den Zugriff der Computerresource ein.
Architektur des verwalteten virtuellen Netzwerks
Wenn Sie die Isolation verwalteter virtueller Netzwerke aktivieren, wird ein verwaltetes virtuelles Netzwerk für den Arbeitsbereich erstellt. Verwaltete Computeressourcen, die Sie für den Arbeitsbereich erstellen, verwenden automatisch dieses verwaltete virtuelle Netzwerk. Das verwaltete virtuelle Netzwerk kann private Endpunkte für Azure-Ressourcen verwenden, die von Ihrem Arbeitsbereich verwendet werden (z. B. Azure Storage, Azure Key Vault und Azure Container Registry).
Es gibt zwei verschiedene Konfigurationsmodi für ausgehenden Datenverkehr aus dem verwalteten virtuellen Netzwerk:
Tipp
Unabhängig vom verwendeten ausgehenden Modus kann an Azure-Ressourcen gerichteter Datenverkehr für die Verwendung eines privaten Endpunkts konfiguriert werden. Sie können z. B. den gesamten ausgehenden Datenverkehr in das Internet zulassen, aber die Kommunikation mit Azure-Ressourcen einschränken, indem Sie Ausgangsregeln für diese Ressourcen hinzufügen.
Ausgehender Modus | BESCHREIBUNG | Szenarien |
---|---|---|
Ausgehenden Internetdatenverkehr zulassen | Lassen Sie den gesamten ausgehenden Internetdatenverkehr des verwalteten virtuellen Netzwerks zu. | Es empfiehlt sich der uneingeschränkte Zugriff auf Ressourcen für maschinelles Lernen im Internet, z. B. Python-Pakete oder vortrainierte Modelle.1 |
Nur genehmigten ausgehenden Datenverkehr zulassen | Ausgehender Datenverkehr wird durch Angabe von Diensttags zugelassen. | * Sie sollten das Risiko der Datenexfiltration minimieren, aber Sie müssen alle erforderlichen Artefakte des maschinellen Lernens in Ihrer privaten Umgebung vorbereiten. * Sie sollten den ausgehenden Zugriff auf eine genehmigte Liste von Diensten, Diensttags oder FQDNs konfigurieren. |
Disabled | Der ein- und ausgehende Datenverkehr ist nicht eingeschränkt, oder Sie verwenden Ihr eigenes Azure-VNet, um Ressourcen zu schützen. | Sie benötigen öffentliche ein- und ausgehende Daten im Arbeitsbereich, oder Sie behandeln die Netzwerkisolation mit Ihrem eigenen virtuellen Azure-Netzwerk. |
1: Sie können Ausgangsregeln im Modus Nur genehmigten ausgehenden Datenverkehr zulassen verwenden und damit dasselbe Ergebnis wie im Modus „Ausgehenden Internetdatenverkehr zulassen“ erzielen. Folgende Unterschiede bestehen:
- Sie müssen Regeln für jede ausgehende Verbindung hinzufügen, die Sie zulassen müssen.
- Das Hinzufügen von FQDN-Ausgangsregeln erhöht Ihre Kosten, da dieser Regeltyp Azure Firewall verwendet. Weitere Informationen finden Sie unter Preise.
- Die Standardregeln für Nur genehmigten ausgehenden Datenverkehr zulassen sind so konzipiert, dass das Risiko einer Datenexfiltration minimiert wird. Alle Ausgangsregeln, die Sie hinzufügen, erhöhen möglicherweise das Risiko.
Das verwaltete virtuelle Netzwerk ist mit erforderlichen Standardregeln vorkonfiguriert. Es ist auch für Verbindungen mit privaten Endpunkten Ihres Arbeitsbereichs, dem Standardspeicher des Arbeitsbereichs, der Containerregistrierung und dem Schlüsseltresor konfiguriert, wenn diese als privat konfiguriert sind oder der Arbeitsbereichsisolationsmodus so festgelegt wurde, dass nur genehmigter ausgehender Datenverkehr zugelassen wird. Nachdem Sie den Isolationsmodus ausgewählt haben, müssen Sie nur noch weitere Anforderungen für ausgehenden Datenverkehr berücksichtigen, die Sie möglicherweise hinzufügen müssen.
Das folgende Diagramm zeigt ein verwaltetes virtuelles Netzwerk, das für den ausgehenden Internetzugriff konfiguriert ist:
Das folgende Diagramm zeigt ein verwaltetes virtuelles Netzwerk, das für nur genehmigtes ausgehendes Internet zulassen konfiguriert ist:
Hinweis
In dieser Konfiguration werden der vom Arbeitsbereich verwendete Speicher, der Schlüsseltresor und die Containerregistrierung als privat gekennzeichnet. Da sie als privat gekennzeichnet sind, wird ein privater Endpunkt für die Kommunikation mit ihnen verwendet.
Hinweis
Sobald ein verwalteter VNet-Arbeitsbereich so konfiguriert ist, dass ausgehender Internetdatenverkehr zulässig ist, kann der Arbeitsbereich nicht auf deaktiviert umkonfiguriert werden. Ähnlich verhält es sich, sobald ein verwalteter VNet-Arbeitsbereich so konfiguriert ist, dass nur genehmigter ausgehender Datenverkehr zulässig ist, kann der Arbeitsbereich nicht neu konfiguriert werden, um ausgehenden Internetdatenverkehr zuzulassen. Beachten Sie dies beim Auswählen des Isolationsmodus für ein verwaltetes VNet in Ihrem Arbeitsbereich.
Azure Machine Learning Studio
Wenn Sie das integrierte Notebook verwenden oder Datasets im Standardspeicherkonto aus Studio erstellen möchten, benötigt Ihr Client Zugriff auf das Standardspeicherkonto. Erstellen Sie einen privaten Endpunkt oder einen Dienstendpunkt für das Standardspeicherkonto in dem Azure Virtual Network, das von den Clients verwendet wird.
Ein Teil von Azure Machine Learning Studio wird lokal im Webbrowser des Clients ausgeführt und kommuniziert direkt mit dem Standardspeicher für den Arbeitsbereich. Durch das Erstellen eines privaten Endpunkts oder Dienstendpunkts (für das Standardspeicherkonto) im Client-VNet wird sichergestellt, dass der Client mit dem Speicherkonto kommunizieren kann.
Weitere Informationen zum Erstellen eines privaten Endpunkts oder Dienstendpunkts finden Sie in den Artikeln Herstellen einer privaten Verbindung mit einem Speicherkonto und Dienstendpunkte.
Gesicherte zugeordnete Ressourcen
Wenn Sie dem virtuellen Netzwerk die folgenden Dienste mithilfe eines Dienstendpunkts oder eines privaten Endpunkts (Deaktivieren des öffentlichen Zugriffs) hinzufügen, ermöglichen Sie es vertrauenswürdigen Microsoft-Diensten, auf die folgenden Dienste zuzugreifen:
Dienst | Endpunktinformationen | Zulassen vertrauenswürdiger Informationen |
---|---|---|
Azure Key Vault | Dienstendpunkt Privater Endpunkt |
Erlauben der Umgehung dieser Firewall für vertrauenswürdige Microsoft-Dienste |
Azure Storage-Konto | Dienst- und privater Endpunkt Privater Endpunkt |
Gewähren des Zugriffs über Azure-Ressourceninstanzen oder Gewähren des Zugriffs auf vertrauenswürdige Azure-Dienste |
Azure Container Registry | Privater Endpunkt | Zulassen vertrauenswürdiger Dienste |
Voraussetzungen
Stellen Sie vor dem Ausführen der Schritte in diesem Artikel sicher, dass Sie über die folgenden erforderlichen Komponenten verfügen:
Ein Azure-Abonnement. Wenn Sie nicht über ein Azure-Abonnement verfügen, können Sie ein kostenloses Konto erstellen, bevor Sie beginnen. Probieren Sie die kostenlose oder kostenpflichtige Version von Azure Machine Learning aus.
Der Microsoft.Network-Ressourcenanbieter muss für Ihr Azure-Abonnement registriert sein. Dieser Ressourcenanbieter wird vom Arbeitsbereich beim Erstellen privater Endpunkte für das verwaltete virtuelle Netzwerk verwendet.
Weitere Informationen zum Registrieren eines Ressourcenanbieters finden Sie unter Beheben von Fehlern bei der Ressourcenanbieterregistrierung.
Die Azure-Identität, die Sie beim Bereitstellen eines verwalteten Netzwerks verwenden, erfordert die folgenden azure role-based access control (Azure RBAC)- Aktionen zum Erstellen privater Endpunkte:
Microsoft.MachineLearningServices/workspaces/privateEndpointConnections/read
Microsoft.MachineLearningServices/workspaces/privateEndpointConnections/write
Die Azure CLI und die
ml
-Erweiterung der Azure CLI. Weitere Informationen finden Sie unter Installieren, Einrichten und Verwenden der CLI (v2).Tipp
Verwaltete Azure Machine Learning-VNets wurden am 23. Mai 2023 eingeführt. Wenn Sie über eine ältere Version der ML-Erweiterung verfügen, muss sie für die Beispiele in diesem Artikel möglicherweise aktualisiert werden. Verwenden Sie zum Aktualisieren der Erweiterung den folgenden Azure CLI-Befehl:
az extension update -n ml
In den CLI-Beispielen in diesem Artikel wird davon ausgegangen, dass Sie die Bash-Shell (oder eine kompatible Shell) verwenden, beispielsweise über ein Linux-System oder ein Windows-Subsystem für Linux.
In den Azure CLI-Beispielen in diesem Artikel wird der Name des Arbeitsbereichs durch
ws
und der Name der Ressourcengruppe durchrg
dargestellt. Ändern Sie diese Werte nach Bedarf, wenn Sie die Befehle mit Ihrem Azure-Abonnement verwenden.
Hinweis
Wenn Sie den UAI-Arbeitsbereich verwenden, stellen Sie sicher, dass Sie Ihrer Identität die Azure KI Enterprise Network Connection Approver-Rolle hinzufügen. Weitere Informationen finden Sie unter „Konfigurieren von verwalteten Identitäten für Azure-Ressourcen auf einem virtuellen Azure-Computer mithilfe der Azure-Befehlszeilenschnittstelle“ im Abschnitt Benutzerseitig zugewiesene verwaltete Identität.
Konfigurieren eines verwalteten virtuellen Netzwerks zum Zulassen von ausgehendem Internetdatenverkehr
Tipp
Das verwaltete VNet wird erst erstellt, nachdem eine Computeressource erstellt oder die Bereitstellung manuell gestartet wurde. Beim Zulassen der automatischen Erstellung kann es etwa 30 Minuten dauern, bis die erste Computeressource erstellt wird, da dabei auch das Netzwerk bereitgestellt wird. Weitere Informationen finden Sie unter Manuelles Bereitstellen des Netzwerks.
Wichtig
Wenn Sie serverlose Spark-Aufträge übermitteln möchten, müssen Sie die Bereitstellung manuell starten. Weitere Informationen finden Sie im Abschnitt Konfigurieren für serverlose Spark-Aufträge.
Wenn Sie ein verwaltetes virtuelles Netzwerk konfigurieren möchten, das ausgehende Internetkommunikation zulässt, können Sie entweder den Parameter --managed-network allow_internet_outbound
oder eine YAML-Konfigurationsdatei mit folgenden Einträgen verwenden:
managed_network:
isolation_mode: allow_internet_outbound
Sie können auch Ausgangsregeln für andere Azure-Dienste definieren, auf denen der Arbeitsbereich basiert. Diese Regeln definieren private Endpunkte, die es einer Azure-Ressource ermöglichen, sicher mit dem verwalteten virtuellen Netzwerk zu kommunizieren. Die folgende Regel zeigt das Hinzufügen eines privaten Endpunkts zu einer Azure-Blobressource.
managed_network:
isolation_mode: allow_internet_outbound
outbound_rules:
- name: added-perule
destination:
service_resource_id: /subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<RESOURCE_GROUP>/providers/Microsoft.Storage/storageAccounts/<STORAGE_ACCOUNT_NAME>
spark_enabled: true
subresource_target: blob
type: private_endpoint
Sie können ein verwaltetes virtuelles Netzwerk mithilfe des Befehls az ml workspace create
oder az ml workspace update
konfigurieren:
Erstellen eines neuen Arbeitsbereichs:
Im folgenden Beispiel wird ein neuer Arbeitsbereich erstellt. Der Parameter
--managed-network allow_internet_outbound
konfiguriert ein verwaltetes virtuelles Netzwerk für den Arbeitsbereich:az ml workspace create --name ws --resource-group rg --managed-network allow_internet_outbound
Wenn Sie stattdessen einen Arbeitsbereich mithilfe einer YAML-Datei erstellen möchten, können Sie den Parameter
--file
verwenden und die YAML-Datei angeben, die die Konfigurationseinstellungen enthält:az ml workspace create --file workspace.yaml --resource-group rg --name ws
Das folgende YAML-Beispiel definiert einen Arbeitsbereich mit einem verwalteten virtuellen Netzwerk:
name: myworkspace location: EastUS managed_network: isolation_mode: allow_internet_outbound
Aktiveren eines vorhandenen Arbeitsbereichs:
Warnung
Wenn Sie einen vorhandenen Arbeitsbereich aktualisieren möchten, damit er ein verwaltetes virtuelles Netzwerk verwendet, müssen Sie zunächst alle Computingressourcen für den Arbeitsbereich löschen. Das gilt für die Compute-Instanz, für den Computecluster und für verwaltete Online-Endpunkte.
Im folgenden Beispiel wird ein vorhandener Arbeitsbereich aktualisiert. Der Parameter
--managed-network allow_internet_outbound
konfiguriert ein verwaltetes virtuelles Netzwerk für den Arbeitsbereich:az ml workspace update --name ws --resource-group rg --managed-network allow_internet_outbound
Wenn Sie stattdessen einen vorhandenen Arbeitsbereich mithilfe der YAML-Datei aktualisieren möchten, können Sie den
--file
-Parameter verwenden und die YAML-Datei mit den Konfigurationseinstellungen angeben:az ml workspace update --file workspace.yaml --name ws --resource-group MyGroup
Im folgenden YAML-Beispiel wird ein verwaltetes virtuelles Netzwerk für den Arbeitsbereich definiert. Außerdem zeigt es, wie Sie einer vom Arbeitsbereich verwendeten Ressource eine Verbindung mit einem privaten Endpunkt (in diesem Fall: ein privater Endpunkt für einen Blobspeicher) hinzufügen:
name: myworkspace managed_network: isolation_mode: allow_internet_outbound outbound_rules: - name: added-perule destination: service_resource_id: /subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<RESOURCE_GROUP>/providers/Microsoft.Storage/storageAccounts/<STORAGE_ACCOUNT_NAME> spark_enabled: true subresource_target: blob type: private_endpoint
Konfigurieren eines verwalteten virtuellen Netzwerks, sodass nur genehmigter ausgehender Datenverkehr zugelassen wird
Tipp
Das verwaltete VNet wird automatisch bereitgestellt, wenn Sie eine Computeressource erstellen. Beim Zulassen der automatischen Erstellung kann es etwa 30 Minuten dauern, bis die erste Computeressource erstellt wird, da dabei auch das Netzwerk bereitgestellt wird. Wenn Sie FQDN-Ausgangsregeln konfiguriert haben, verlängert die erste FQDN-Regel die Bereitstellungszeit um etwa 10 Minuten. Weitere Informationen finden Sie unter Manuelles Bereitstellen des Netzwerks.
Wichtig
Wenn Sie serverlose Spark-Aufträge übermitteln möchten, müssen Sie die Bereitstellung manuell starten. Weitere Informationen finden Sie im Abschnitt Konfigurieren für serverlose Spark-Aufträge.
Wenn Sie ein verwaltetes virtuelles Netzwerk konfigurieren möchten, das nur genehmigte ausgehende Kommunikation zulässt, können Sie entweder den Parameter --managed-network allow_only_approved_outbound
oder eine YAML-Konfigurationsdatei mit folgenden Einträgen verwenden:
managed_network:
isolation_mode: allow_only_approved_outbound
Sie können auch Ausgangsregeln definieren, um die genehmigte ausgehende Kommunikation zu definieren. Eine Ausgangsregel kann für die Typen service_tag
, fqdn
und private_endpoint
erstellt werden. Die folgende Regel zeigt das Hinzufügen eines privaten Endpunkts zu einer Azure-Blobressource (Diensttag zu Azure Data Factory) und ein FQDN auf pypi.org
:
Wichtig
- Das Hinzufügen von ausgehendem Datenverkehr für ein Diensttag oder FQDN ist nur zulässig, wenn das verwaltete VNet für
allow_only_approved_outbound
konfiguriert ist. - Wenn Sie Ausgangsregeln hinzufügen, kann Microsoft keine Datenexfiltration garantieren.
Warnung
FQDN-Ausgangsregeln werden mithilfe von Azure Firewall implementiert. Wenn Sie FQDN-Ausgangsregeln verwenden, werden Gebühren für Azure Firewall auf Ihrer Abrechnung hinzugefügt. Weitere Informationen finden Sie unter Preise.
managed_network:
isolation_mode: allow_only_approved_outbound
outbound_rules:
- name: added-servicetagrule
destination:
port_ranges: 80, 8080
protocol: TCP
service_tag: DataFactory
type: service_tag
- name: add-fqdnrule
destination: 'pypi.org'
type: fqdn
- name: added-perule
destination:
service_resource_id: /subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<RESOURCE_GROUP>/providers/Microsoft.Storage/storageAccounts/<STORAGE_ACCOUNT_NAME>
spark_enabled: true
subresource_target: blob
type: private_endpoint
Sie können ein verwaltetes virtuelles Netzwerk mithilfe des Befehls az ml workspace create
oder az ml workspace update
konfigurieren:
Erstellen eines neuen Arbeitsbereichs:
Im folgenden Beispiel wird der Parameter
--managed-network allow_only_approved_outbound
verwendet, um das verwaltete virtuelle Netzwerk zu konfigurieren:az ml workspace create --name ws --resource-group rg --managed-network allow_only_approved_outbound
Die folgende YAML-Datei definiert einen Arbeitsbereich mit einem verwalteten virtuellen Netzwerk:
name: myworkspace location: EastUS managed_network: isolation_mode: allow_only_approved_outbound
Wenn Sie einen Arbeitsbereich mit der YAML-Datei erstellen möchten, können Sie den Parameter
--file
verwenden:az ml workspace create --file workspace.yaml --resource-group rg --name ws
Aktualisieren eines vorhandenen Arbeitsbereichs
Warnung
Wenn Sie einen vorhandenen Arbeitsbereich aktualisieren möchten, damit er ein verwaltetes virtuelles Netzwerk verwendet, müssen Sie zunächst alle Computingressourcen für den Arbeitsbereich löschen. Das gilt für die Compute-Instanz, für den Computecluster und für verwaltete Online-Endpunkte.
Im folgenden Beispiel wird der Parameter
--managed-network allow_only_approved_outbound
verwendet, um das verwaltete virtuelle Netzwerk für einen vorhandenen Arbeitsbereich zu konfigurieren:az ml workspace update --name ws --resource-group rg --managed-network allow_only_approved_outbound
Die folgende YAML-Datei definiert ein verwaltetes virtuelles Netzwerk für den Arbeitsbereich. Außerdem veranschaulicht sie, wie dem verwalteten virtuellen Netzwerk genehmigter ausgehender Datenverkehr hinzugefügt wird. In diesem Beispiel wird eine Ausgangsregel für ein Diensttag hinzugefügt:
Warnung
FQDN-Ausgangsregeln werden mithilfe von Azure Firewall implementiert. Wenn Sie FQDN-Ausgangsregeln verwenden, werden zusätzliche Gebühren für Azure Firewall abgerechnet. Weitere Informationen finden Sie unter Preise.
name: myworkspace_dep managed_network: isolation_mode: allow_only_approved_outbound outbound_rules: - name: added-servicetagrule destination: port_ranges: 80, 8080 protocol: TCP service_tag: DataFactory type: service_tag - name: add-fqdnrule destination: 'pypi.org' type: fqdn - name: added-perule destination: service_resource_id: /subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<RESOURCE_GROUP>/providers/Microsoft.Storage/storageAccounts/<STORAGE_ACCOUNT_NAME> spark_enabled: true subresource_target: blob type: private_endpoint
Konfigurieren für serverlose Spark-Aufträge
Tipp
Die Schritte in diesem Abschnitt sind nur erforderlich, wenn Sie serverlose Spark-Aufträge übermitteln möchten. Wenn Sie keine serverlosen Spark-Aufträge übermitteln möchten, können Sie diesen Abschnitt überspringen.
Gehen Sie wie folgt vor, um serverlose Spark-Aufträge für das verwaltete virtuelle Netzwerk zu aktivieren:
- Konfigurieren Sie ein verwaltetes virtuelles Netzwerk für den Arbeitsbereich, und fügen Sie einen ausgehenden privaten Endpunkt für das Azure Storage-Konto hinzu.
- Stellen Sie das verwaltete virtuelle Netzwerk bereit, nachdem Sie es konfiguriert haben, und kennzeichnen Sie es, um Spark-Aufträge zuzulassen.
Konfigurieren Sie einen ausgehenden privaten Endpunkt.
Verwenden Sie eine YAML-Datei, um die Konfiguration des verwalteten virtuellen Netzwerks zu definieren und einen privaten Endpunkt für das Azure Storage-Konto hinzuzufügen. Legen Sie außerdem
spark_enabled: true
fest:Tipp
Dieses Beispiel gilt für ein verwaltetes VNet, das mit
isolation_mode: allow_internet_outbound
zum Zulassen von Internetdatenverkehr konfiguriert wurde. Wenn Sie nur genehmigten ausgehenden Datenverkehr zulassen möchten, verwenden Sieisolation_mode: allow_only_approved_outbound
.name: myworkspace managed_network: isolation_mode: allow_internet_outbound outbound_rules: - name: added-perule destination: service_resource_id: /subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<RESOURCE_GROUP>/providers/Microsoft.Storage/storageAccounts/<STORAGE_ACCOUNT_NAME> spark_enabled: true subresource_target: blob type: private_endpoint
Sie können eine YAML-Konfigurationsdatei mit dem Befehl
az ml workspace update
verwenden, indem Sie den Parameter--file
und den Namen der YAML-Datei angeben. Der folgende Befehl aktualisiert beispielsweise einen vorhandenen Arbeitsbereich mithilfe einer YAML-Datei namensworkspace_pe.yml
:az ml workspace update --file workspace_pe.yml --resource_group rg --name ws
Hinweis
Wenn Nur genehmigte Ausgänge zulassen aktiviert ist (
isolation_mode: allow_only_approved_outbound
), werden die in der Spark-Sitzungskonfiguration definierten Abhängigkeiten von conda-Paketen nicht installiert. Um dieses Problem zu beheben, laden Sie ein eigenständiges Python-Wheel ohne externe Abhängigkeiten in ein Azure Storage-Konto hoch und erstellen einen privaten Endpunkt für dieses Speicherkonto. Verwenden Sie den Pfad zum Python-Wheel alspy_files
-Parameter in Ihrem Spark-Auftrag. Das Festlegen einer FQDN-Ausgangsregel wird dieses Problem nicht umgehen, da die Weitergabe von FQDN-Regeln von Spark nicht unterstützt wird.Stellen Sie das verwaltete virtuelle Netzwerk bereit.
Hinweis
Wenn Ihr Arbeitsbereich bereits für einen öffentlichen Endpunkt konfiguriert wurde (z. B. Azure Virtual Network) und öffentlicher Netzwerkzugriff aktiviert wurde, müssen Sie ihn vor der Bereitstellung des verwalteten VNet deaktivieren. Wenn Sie beim Bereitstellen des verwalteten VNet den Zugriff auf öffentliche Netzwerke nicht deaktivieren, werden die privaten Endpunkte für den verwalteten Endpunkt möglicherweise nicht erfolgreich erstellt.
Das folgende Beispiel zeigt, wie Sie mithilfe des
--include-spark
-Parameters ein verwaltetes virtuelles Netzwerk für serverlose Spark-Aufträge bereitstellen.az ml workspace provision-network -g my_resource_group -n my_workspace_name --include-spark
Manuelles Bereitstellen eines verwalteten VNet
Das verwaltete virtuelle Netzwerk wird automatisch bereitgestellt, wenn Sie eine Compute-Instanz erstellen. Wenn Sie die automatische Bereitstellung verwenden, kann es etwa 30 Minuten dauern, bis die erste Computeinstanz erstellt wurde, da auch das Netzwerk bereitgestellt wird. Wenn Sie FQDN-Ausgangsregeln konfiguriert haben (nur im Modus „Nur genehmigten ausgehenden Datenverkehr zulassen“ verfügbar), verlängert die erste FQDN-Regel die Bereitstellungszeit um etwa 10 Minuten. Wenn Sie über eine große Anzahl von ausgehenden Regeln verfügen, die im verwalteten Netzwerk bereitgestellt werden, kann es länger dauern, bis die Bereitstellung abgeschlossen ist. Die erhöhte Bereitstellungszeit kann dazu führen, dass ihre erste Berechnungsinstanzerstellung zu einem Timeout führt.
Um die Wartezeit zu verringern und potenzielle Timeoutfehler zu vermeiden, empfehlen wir die manuelle Bereitstellung des verwalteten Netzwerks. Warten Sie dann, bis die Bereitstellung abgeschlossen ist, bevor Sie eine Computeinstanz erstellen.
Alternativ können Sie das provision_network_now
-Flag verwenden, um das verwaltete Netzwerk im Rahmen der Arbeitsbereichserstellung bereitzustellen. Dieses Flag befindet sich in der Vorschau.
Hinweis
Um eine Onlinebereitstellung zu erstellen, müssen Sie das verwaltete Netzwerk manuell bereitstellen oder zuerst eine Computeinstanz erstellen, die sie automatisch bereitstellen wird.
Das folgende Beispiel zeigt, wie Sie ein verwaltetes virtuelles Netzwerk während der Arbeitsbereichserstellung bereitstellen. Das --provision-network-now
-Flag befindet sich in der Vorschau.
az ml workspace create -n myworkspace -g my_resource_group --managed-network AllowInternetOutbound --provision-network-now
Das folgende Beispiel zeigt, wie Sie manuell ein verwaltetes virtuelles Netzwerk bereitstellen.
Tipp
Wenn Sie serverlose Spark-Aufträge übermitteln möchten, fügen Sie den --include-spark
-Parameter hinzu.
az ml workspace provision-network -g my_resource_group -n my_workspace_name
Um zu überprüfen, ob die Bereitstellung abgeschlossen ist, verwenden Sie den folgenden Befehl:
az ml workspace show -n my_workspace_name -g my_resource_group --query managed_network
Konfigurieren der Imageerstellung
Wenn sich die Azure Container Registry-Instanz für Ihren Arbeitsbereich hinter einem VNet befindet, kann sie nicht verwendet werden, um Docker-Images direkt zu erstellen. Konfigurieren Sie stattdessen Ihren Arbeitsbereich so, dass ein Computecluster oder eine Compute-Instanz zum Erstellen von Images verwendet wird.
Wichtig
Der Computecluster, der zum Erstellen von Docker-Images verwendet wird, muss Zugriff auf die Paketrepositories haben, die zum Trainieren und Bereitstellen Ihrer Modelle verwendet werden. Wenn Ihr Netzwerk im Modus „Nur genehmigten ausgehenden Datenverkehr zulassen“ konfiguriert wurde, müssen Sie möglicherweise Regeln hinzufügen, die den Zugriff auf öffentliche Repositorys zulassen oder private Python-Pakete verwenden.
Wenn Sie einen Arbeitsbereich aktualisieren möchten, um Docker-Images mit einem Computecluster oder einer Compute-Instanz zu erstellen, verwenden Sie den Befehl az ml workspace update
mit dem --image-build-compute
-Parameter:
az ml workspace update --name ws --resource-group rg --image-build-compute mycompute
Verwalten von Ausgangsregeln
Um die Ausgangsregeln des verwalteten virtuellen Netzwerks für einen Arbeitsbereich auflisten zu können, verwenden Sie den folgenden Befehl:
az ml workspace outbound-rule list --workspace-name ws --resource-group rg
Verwenden Sie den folgenden Befehl, um die Details einer Ausgangsregel für das verwaltete virtuelle Netzwerk anzuzeigen:
az ml workspace outbound-rule show --rule rule-name --workspace-name ws --resource-group rg
Verwenden Sie den folgenden Befehl, um eine Ausgangsregel aus dem verwalteten virtuellen Netzwerk zu entfernen:
az ml workspace outbound-rule remove --rule rule-name --workspace-name ws --resource-group rg
Liste der erforderlichen Regeln
Tipp
Folgende Regeln werden dem verwalteten VNet automatisch hinzugefügt:
Private Endpunkte:
- Wenn der Isolationsmodus für das verwaltete virtuelle Netzwerk
Allow internet outbound
lautet, werden Ausgangsregeln für private Endpunkte automatisch als erforderliche Regeln aus dem verwalteten virtuellen Netzwerk für den Arbeitsbereich und die zugehörigen Ressourcen mit deaktiviertem Zugriff auf das öffentliche Netzwerk erstellt (Schlüsseltresor, Speicherkonto, Containerregistrierung, Azure Machine Learning-Arbeitsbereich). - Wenn der Isolationsmodus für das verwaltete virtuelle Netzwerk
Allow only approved outbound
lautet, werden Ausgangsregeln für private Endpunkte automatisch als erforderliche Regeln aus dem verwalteten virtuellen Netzwerk für den Arbeitsbereich und die zugehörigen Ressourcen unabhängig vom Zugriffsmodus des öffentlichen Netzwerks für diese Ressourcen erstellt (Schlüsseltresor, Speicherkonto, Containerregistrierung, Azure Machine Learning Arbeitsbereich).
Diensttagregeln für ausgehenden Datenverkehr:
AzureActiveDirectory
AzureMachineLearning
BatchNodeManagement.region
AzureResourceManager
AzureFrontDoor.FirstParty
MicrosoftContainerRegistry
AzureMonitor
Diensttagregeln für eingehenden Datenverkehr:
AzureMachineLearning
Liste der szenariospezifischen Ausgangsregeln
Szenario: Zugreifen auf öffentliche Machine Learning-Pakete
Um die Installation von Python-Paketen für Training und Bereitstellung zuzulassen, fügen Sie ausgehende FQDN-Regeln zum Gestatten von Datenverkehr an die folgenden Hostnamen hinzu:
Warnung
FQDN-Ausgangsregeln werden mithilfe von Azure Firewall implementiert. Wenn Sie FQDN-Ausgangsregeln verwenden, werden Gebühren für Azure Firewall auf Ihrer Abrechnung hinzugefügt. Weitere Informationen finden Sie unter Preise.
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: Verwenden von Visual Studio Code-Desktop oder -Web mit Compute-Instanz
Wenn Sie planen, Visual Studio Code mit Azure Machine Learning zu verwenden, fügen Sie ausgehende FQDN-Regeln hinzu, die den Datenverkehr an die folgenden Hosts zulassen:
Warnung
FQDN-Ausgangsregeln werden mithilfe von Azure Firewall implementiert. Wenn Sie FQDN-Ausgangsregeln verwenden, werden Gebühren für Azure Firewall auf Ihrer Abrechnung hinzugefügt. Weitere Informationen finden Sie unter Preise.
*.vscode.dev
vscode.blob.core.windows.net
*.gallerycdn.vsassets.io
raw.githubusercontent.com
*.vscode-unpkg.net
*.vscode-cdn.net
*.vscodeexperiments.azureedge.net
default.exp-tas.com
code.visualstudio.com
update.code.visualstudio.com
*.vo.msecnd.net
marketplace.visualstudio.com
vscode.download.prss.microsoft.com
Szenario: Verwenden von Batchendpunkten oder ParallelRunStep
Wenn Sie planen, Azure Machine Learning-Batchendpunkte für die Bereitstellung oder ParallelRunStep zu verwenden, fügen Sie ausgehende Regeln für private Endpunkte hinzu, die den Datenverkehr für die folgenden Unterressourcen für das Standardspeicherkonto zulassen:
queue
table
Szenario: Verwenden von prompt flow mit Azure OpenAI, Inhaltssicherheit und Azure KI Search
- Privater Endpunkt für Azure KI Services
- Privater Endpunkt für Azure KI Search
Szenario: Verwenden von HuggingFace-Modellen
Wenn Sie planen, HuggingFace-Modelle mit Azure Machine Learning zu verwenden, fügen Sie FQDN-Ausgangsregeln hinzu, die den Datenverkehr an die folgenden Hosts zulassen:
Warnung
FQDN-Ausgangsregeln werden mithilfe von Azure Firewall implementiert. Wenn Sie FQDN-Ausgangsregeln verwenden, werden Gebühren für Azure Firewall auf Ihrer Abrechnung hinzugefügt. Weitere Informationen finden Sie unter Preise.
docker.io
*.docker.io
*.docker.com
production.cloudflare.docker.com
cdn.auth0.com
cdn-lfs.huggingface.co
Szenario: Aktivieren des Zugriffs von ausgewählten IP-Adressen
Wenn Sie den Zugriff von bestimmten IP-Adressen aktivieren möchten, verwenden Sie die folgenden Aktionen:
Fügen Sie eine Regel für einen ausgehenden privaten Endpunkt hinzu, um Datenverkehr zum Azure Machine Learning-Arbeitsbereich zuzulassen. Durch diese Regel können Compute-Instanzen, die im verwalteten virtuellen Netzwerk erstellt wurden, auf den Arbeitsbereich zugreifen.
Tipp
Sie können diese Regel während der Erstellung des Arbeitsbereichs nicht hinzufügen, da der Arbeitsbereich noch nicht vorhanden ist.
Aktivieren Sie den Zugriff über das öffentliche Netzwerk auf den Arbeitsbereich. Weitere Informationen finden Sie unter Zugriff aus öffentlichen Netzwerken aktiviert.
Fügen Sie Ihre IP-Adressen zur Firewall für Azure Machine Learning hinzu. Weitere Informationen finden Sie unter Aktivieren des Zugriffs nur aus IP-Adressbereichen.
Hinweis
Es werden nur IPv4-Adressen unterstützt.
Weitere Informationen finden Sie unter Konfigurieren von Private Link.
Private Endpunkte
Private Endpunkte werden derzeit für die folgenden Azure-Dienste unterstützt:
- Azure Machine Learning
- Azure Machine Learning-Registrierungen
- Azure Storage (alle Unterressourcentypen)
- Azure Container Registry
- Azure-Schlüsseltresor
- Azure KI Services
- Azure KI Search (ehemals Cognitive Search)
- Azure SQL Server
- Azure Data Factory
- Azure Cosmos DB (alle Unterressourcentypen)
- Azure Event Hubs
- Azure Redis Cache
- Azure Databricks
- Azure Database for MariaDB
- Azure Database for PostgreSQL Single Server
- Azure Database for PostgreSQL – Flexibler Server
- Azure Database for MySQL
- Azure API Management
Wenn Sie einen privaten Endpunkt erstellen, geben Sie den Ressourcentyp und die Unterquelle an, mit der der Endpunkt eine Verbindung herstellt. Einige Ressourcen verfügen über mehrere Typen und Unterressourcen. Weitere Informationen finden Sie unter Was ist ein privater Endpunkt?.
Wenn Sie einen privaten Endpunkt für Azure Machine Learning-Abhängigkeitsressourcen wie Azure Storage, Azure Container Registry und Azure Key Vault erstellen, kann sich die Ressource in einem anderen Azure-Abonnement befinden. Die Ressource muss sich jedoch im selben Mandanten wie der Azure Machine Learning-Arbeitsbereich befinden.
Wichtig
Beim Konfigurieren privater Endpunkte für ein verwaltetes Azure Machine Learning-VNet werden die privaten Endpunkte nur erstellt, wenn die erste Computeressource erstellt wird oder wenn die Bereitstellung verwalteter VNets erzwungen wird. Weitere Informationen zum Erzwingen der Bereitstellung verwalteter VNets finden Sie unter Konfigurieren für serverlose Spark-Aufträge.
Auswählen einer Azure Firewall-Version für „Nur genehmigten ausgehenden Datenverkehr zulassen“ (Vorschau)
Eine Azure Firewall-Instanz wird bereitgestellt, wenn eine FQDN-Ausgangsregel im Modus Nur genehmigten ausgehenden Datenverkehr zulassen erstellt wird. Die Gebühren für Azure Firewall sind in Ihrer Abrechnung enthalten. Standardmäßig wird eine Standard-Version von AzureFirewall erstellt. Optional können Sie eine Basic-Version verwenden. Sie können die verwendete Firewallversion bei Bedarf ändern. Informationen zum Ermitteln der Version, die für Sie am besten geeignet ist, finden Sie unter Auswählen der geeigneten Azure Firewall-Version.
Wichtig
Die Firewall wird erst erstellt, wenn Sie eine ausgehende FQDN-Regel hinzufügen. Weitere Informationen zum Preis finden Sie unter Azure Firewall – Preise sowie bei den Preisen für die Standardversion.
Auf den folgenden Registerkarten erfahren Sie, wie Sie die richtige Firewallversion für Ihr verwaltetes virtuelles Netzwerk auswählen.
Um die Firewallversion über die Befehlszeilenschnittstelle (Command Line Interface, CLI) zu konfigurieren, verwenden Sie eine YAML-Datei, und geben Sie firewall_sku
an. Das folgende Beispiel zeigt eine YAML-Datei, die die Firewall-SKU auf basic
festlegt:
name: test-ws
resource_group: test-rg
location: eastus2
managed_network:
isolation_mode: allow_only_approved_outbound
outbound_rules:
- category: required
destination: 'contoso.com'
name: contosofqdn
type: fqdn
firewall_sku: basic
tags: {}
Preise
Das verwaltete virtuelle Azure Machine Learning-Netzwerkfeature ist kostenlos. Ihnen werden jedoch die folgenden Ressourcen in Rechnung gestellt, die vom verwalteten virtuellen Netzwerk verwendet werden:
Azure Private Link: Private Endpunkte, die zum Schützen der Kommunikation zwischen dem verwalteten virtuellen Netzwerk und Azure-Ressourcen verwendet werden, hängen von Azure Private Link ab. Weitere Informationen zur Preisgestaltung finden Sie unter Preise für Azure Private Link.
FQDN-Ausgangsregeln: FQDN-Ausgangsregeln werden mithilfe von Azure Firewall implementiert. Wenn Sie FQDN-Ausgangsregeln verwenden, werden Gebühren für Azure Firewall auf Ihrer Abrechnung hinzugefügt. Standardmäßig wird eine Standard-Version von Azure Firewall verwendet. Informationen zum Auswählen der Basic-Version finden Sie unter Auswählen einer Azure Firewall-Version.
Wichtig
Die Firewall wird erst erstellt, wenn Sie eine ausgehende FQDN-Regel hinzufügen. Weitere Informationen zum Preis finden Sie unter Azure Firewall – Preise sowie bei den Preisen für die Standardversion.
Begrenzungen
- Azure KI Studio unterstützt nicht die Verwendung Ihres eigenen virtuellen Azure-Netzwerks, um den Hub, das Projekt oder die Computeressourcen zu sichern. Sie können nur die verwaltete Netzwerkfunktion verwenden, um diese Ressourcen zu sichern.
- Nachdem Sie die Isolation verwalteter virtueller Netzwerke Ihres Arbeitsbereichs aktiviert haben (entweder ausgehenden Internetdatenverkehr zulassen oder nur genehmigten ausgehenden Datenverkehr zulassen), können Sie sie nicht mehr deaktivieren.
- Das verwaltete virtuelle Netzwerk verwendet eine private Endpunktverbindung, um auf Ihre privaten Ressourcen zuzugreifen. Sie können für Ihre Azure-Ressourcen (z. B. ein Speicherkonto) nicht gleichzeitig über einen privaten Endpunkt und über einen Dienstendpunkt verfügen. Es wird empfohlen, in allen Szenarien private Endpunkte zu verwenden.
- Das verwaltete virtuelle Netzwerk wird gelöscht, wenn der Arbeitsbereich gelöscht wird.
- Der Schutz vor Datenexfiltration wird automatisch für den einzigen genehmigten ausgehenden Modus aktiviert. Wenn Sie andere Ausgangsregeln hinzufügen, z. B. FQDNs, kann Microsoft nicht garantieren, dass Sie vor Datenexfiltration in diese ausgehenden Ziele geschützt sind.
- Das Erstellen eines Computeclusters in einer anderen Region als der Arbeitsbereich wird bei Verwendung eines verwalteten virtuellen Netzwerks nicht unterstützt.
- Kubernetes und angefügte VMs werden in einem verwalteten virtuellen Azure Machine Learning-Netzwerk nicht unterstützt.
- Die Verwendung von FQDN-Ausgangsregeln erhöht die Kosten des verwalteten virtuellen Netzwerks, da FQDN-Regeln Azure Firewall verwenden. Weitere Informationen finden Sie unter Preise.
- Ausgehende FQDN-Regeln unterstützen nur die Ports 80 und 443.
- Wenn sich Ihre Computeinstanz in einem verwalteten Netzwerk befindet und nicht für eine öffentliche IP-Adresse konfiguriert ist, verwenden Sie den Befehl
az ml compute connect-ssh
, um über SSH eine Verbindung mit ihr herzustellen. - Wenn Sie ein verwaltetes virtuelles Netzwerk verwenden, können Sie keine Computeressourcen in Ihrem benutzerdefinierten virtuellen Netzwerk bereitstellen. Computeressourcen können nur im verwalteten virtuellen Netzwerk erstellt werden.
- Die verwaltete Netzwerkisolation kann über das verwaltete virtuelle Netzwerk keine private Verbindung mit den lokalen Ressourcen eines Benutzers herstellen. Eine Liste der unterstützten privaten Verbindungen finden Sie unter Private Endpunkte.
- Wenn Ihr verwaltetes Netzwerk mit der Einstellung Nur genehmigten ausgehenden Datenverkehr zulassen konfiguriert ist, können Sie keine FQDN-Regel (Fully Qualified Domain Name, vollqualifizierter Domänenname) verwenden, um auf Azure Storage-Konten zuzugreifen. Sie müssen stattdessen einen privaten Endpunkt verwenden.
Migration von Computeressourcen
Wenn Sie über einen vorhandenen Arbeitsbereich verfügen und ein verwaltetes virtuelles Netzwerk dafür aktivieren möchten, gibt es derzeit keinen unterstützten Migrationspfad für vorhandene verwaltete Computeressourcen. Sie müssen alle vorhandenen verwalteten Computeressourcen löschen und neu erstellen, nachdem Sie das verwaltete virtuelle Netzwerk aktiviert haben. Die folgende Liste enthält die Computeressourcen, die gelöscht und neu erstellt werden müssen:
- Computecluster
- Compute-Instanz
- Verwaltete Onlineendpunkte