Proteggere un ambiente di training di Azure Machine Learning con reti virtuali (SDKv1)
Si applica a: Python SDK azureml v1
Il presente articolo illustra come proteggere gli ambienti di training con una rete virtuale in Azure Machine Learning utilizzando Python SDK v1.
È possibile usare l'istanza di ambiente di calcolo e il cluster di elaborazione di Azure Machine Learning per eseguire il training sicuro dei modelli in una rete virtuale. Quando si pianifica l'ambiente, è possibile configurare l'istanza di ambiente di calcolo o il cluster di elaborazione con o senza un indirizzo IP pubblico. Le differenze generali tra i due sono:
- Senza IP pubblico: riduce i costi perché non ha gli stessi requisiti delle risorse di rete. Migliora la sicurezza rimuovendo il requisito per il traffico in ingresso da Internet. Tuttavia, sono necessarie modifiche di configurazione aggiuntive per abilitare l'accesso in uscita alle risorse necessarie (Microsoft Entra ID, Azure Resource Manager e così via).
- IP pubblico: funziona per impostazione predefinita, ma costa di più a causa delle risorse di rete aggiuntive di Azure. Richiede la comunicazione in ingresso dal servizio Azure Machine Learning tramite Internet pubblico.
La tabella seguente mostra le differenze tra queste configurazioni:
Impostazione | Con IP pubblico | Senza IP pubblico |
---|---|---|
Traffico in ingresso | AzureMachineLearning tag del servizio. |
None |
Traffico in uscita | Per impostazione predefinita può accedere a Internet pubblico senza restrizioni. È possibile limitare gli accessi usando un gruppo di sicurezza di rete o un firewall. |
Per impostazione predefinita, non può accedere a Internet. Se è possibile inviare comunque il traffico in uscita a Internet, è grazie all'accesso in uscita predefinito di Azure e al fatto che si dispone di un NSG che consente l'uscita verso Internet. Non è consigliabile usare l'accesso in uscita predefinito. Se è necessario l'accesso in uscita a Internet, è consigliabile usare invece un gateway NAT di rete virtuale di Azure o un firewall, se occorre instradare il traffico in uscita alle risorse necessarie su Internet. |
Risorse di rete di Azure | Indirizzo IP pubblico, bilanciamento del carico, interfaccia di rete | None |
È anche possibile usare Azure Databricks o HDInsight per eseguire il training dei modelli in una rete virtuale.
Suggerimento
È possibile usare reti virtuali gestite di Azure Machine Learning anziché i passaggi descritti in questo articolo. Con una rete virtuale gestita, Azure Machine Learning gestisce il processo di isolamento della rete per l'area di lavoro e gli ambienti di calcolo gestito. È anche possibile aggiungere endpoint privati per le risorse necessarie per l'area di lavoro, ad esempio l'account di archiviazione di Azure. Per altre informazioni, vedere Isolamento network gestito dell'area di lavoro.
Nota
Per informazioni sull'uso di Azure Machine Learning Studio e Python SDK v2, vedere Proteggere l'ambiente di training (v2).
Per un'esercitazione sulla creazione di un'area di lavoro sicura, vedere Esercitazione: Creare un'area di lavoro sicura nel portale di Azure, Modello Bicep o Terraform template (Modello Terraform).
Il presente articolo illustra come proteggere le seguenti risorse di calcolo di training in una rete virtuale:
- Cluster di calcolo di Azure Machine Learning
- Istanza di calcolo di Azure Machine Learning
- Azure Databricks
- Macchina virtuale
- Cluster HDInsight
Importante
Gli elementi in questo articolo contrassegnati come "anteprima" sono attualmente in anteprima pubblica. La versione di anteprima viene messa a disposizione senza contratto di servizio e non è consigliata per i carichi di lavoro di produzione. Alcune funzionalità potrebbero non essere supportate o potrebbero presentare funzionalità limitate. Per altre informazioni, vedere le Condizioni supplementari per l'uso delle anteprime di Microsoft Azure.
Prerequisiti
Per comprendere gli scenari di rete virtuale comuni e l'architettura complessiva della rete virtuale leggere l'articolo Panoramica della sicurezza di rete.
Una rete virtuale e una subnet esistenti da usare con le risorse di calcolo. Questa rete virtuale deve trovarsi nella stessa sottoscrizione dell'area di lavoro di Azure Machine Learning.
- È consigliabile inserire gli account di archiviazione utilizzati dall'area di lavoro e i processi di training nella stessa area di Azure che si prevede di usare per le istanze di ambiente di calcolo e i cluster di elaborazione. Se non si trovano nella stessa area di Azure, è possibile che si verifichino costi di trasferimento dei dati e una maggiore latenza di rete.
- Assicurarsi che la comunicazione WebSocket sia consentita per
*.instances.azureml.net
e*.instances.azureml.ms
nella rete virtuale. I WebSocket vengono usati da Jupyter nelle istanze di calcolo.
Una subnet esistente nella rete virtuale. Questa subnet viene usata durante la creazione di istanze di ambiente di calcolo e di cluster di elaborazione.
- Assicurarsi che la subnet non sia delegata ad altri servizi di Azure.
- Assicurarsi che la subnet contenga un numero sufficiente di indirizzi IP liberi. Ogni istanza di ambiente di calcolo richiede un indirizzo IP. Ogni nodo all'interno di un cluster di elaborazione richiede un indirizzo IP.
Se si dispone del proprio server DNS, è consigliabile usare l'inoltro DNS per risolvere i nomi di dominio completi (FQDN) delle istanze di ambiente di calcolo e dei cluster di elaborazione. Per altre informazioni vedere Usare un DNS personalizzato con Azure Machine Learning.
Per distribuire le risorse in una rete virtuale o in una subnet, l'account utente deve disporre delle autorizzazioni per eseguire le azioni seguenti nel controllo degli accessi in base al ruolo di Azure:
- "Microsoft.Network/*/read" nella risorsa della rete virtuale. Questa autorizzazione non è necessaria per le distribuzioni di modelli di Azure Resource Manager (ARM).
- "Microsoft.Network/virtualNetworks/join/action" nella risorsa della rete virtuale.
- "Microsoft.Network/virtualNetworks/subnets/join/action" nella risorsa della subnet.
Per altre informazioni sul controllo degli accessi in base al ruolo di Azure nella rete vedere Ruoli predefiniti di rete
Limiti
Cluster di elaborazione/istanza di ambiente di calcolo di Azure Machine Learning
I cluster di elaborazione possono essere creati in un'area e una rete virtuali diverse rispetto all'area di lavoro dell'utente. Tuttavia, questa funzionalità è accessibile solo usando SDK v2, CLI v2 o Studio. Per altre informazioni, vedere la versione v2 degli ambienti di training sicuri.
La distribuzione di istanze di ambiente di calcolo e di cluster di elaborazione nella rete virtuale non è supportata con Azure Lighthouse.
La porta 445 deve essere aperta per le comunicazioni di rete privata tra le istanze di calcolo e l'account di archiviazione predefinito durante il training. Ad esempio, se i calcoli si trovano in una rete virtuale e l'account di archiviazione si trova in un altro, non bloccare la porta 445 nella rete virtuale dell'account di archiviazione.
Azure Databricks
- La rete virtuale deve trovarsi nella stessa sottoscrizione e area dell'area di lavoro di Azure Machine Learning.
- Se anche gli account di archiviazione di Azure per l'area di lavoro sono protetti in una rete virtuale, devono trovarsi nella stessa rete virtuale del cluster di Azure Databricks.
- Oltre alle subnet databricks-private e databricks-public usate da Azure Databricks, è necessaria anche la subnet predefinita creata per la rete virtuale.
- Azure Databricks non utilizza un endpoint privato per comunicare con la rete virtuale.
Per altre informazioni sull'uso di Azure Databricks in una rete virtuale, vedere Distribuire Azure Databricks nella rete virtuale di Azure.
Azure HDInsight o macchina virtuale
- Azure Machine Learning supporta solo macchine virtuali che eseguono Ubuntu.
Istanze di ambiente di calcolo e cluster di elaborazione senza IP pubblico
Importante
Se sono state usate istanze di ambiente di calcolo e cluster di elaborazione configurati senza IP pubblico e senza acconsentire esplicitamente all'anteprima, sarà necessario eliminarli e ricrearli dopo il 20 gennaio 2023 (quando la funzionalità sarà disponibile a livello generale).
Poiché i requisiti sono stati modificati per la disponibilità generale, se in precedenza si usava l'anteprima senza IP pubblico, potrebbe essere necessario modificare anche il traffico consentito in ingresso e in uscita:
- Requisiti in uscita: due uscite aggiuntive, che vengono usate solo per la gestione di istanze di ambiente di calcolo e di cluster di elaborazione. La destinazione di questi tag del servizio è di proprietà di Microsoft:
AzureMachineLearning
tag del servizio sulla porta UDP 5831.BatchNodeManagement
tag del servizio sulla porta TCP 443.
Le configurazioni seguenti sono aggiunte a quelle elencate nella sezione Prerequisiti e sono specifiche per la creazione di istanze di ambiente di calcolo e di cluster di elaborazione configurati per nessun indirizzo IP pubblico:
È necessario usare un endpoint privato dell'area di lavoro per la risorsa di calcolo per la comunicazione con i servizi di Azure Machine Learning dalla rete virtuale. Per altre informazioni vedere Configurare un endpoint privato per l'area di lavoro di Azure Machine Learning.
Nella rete virtuale consentire il traffico in uscita ai tag di servizio seguenti o ai nomi di dominio completi (FQDN):
Tag di servizio Protocollo Port Note AzureMachineLearning
TCP
UDP443/8787/18881
5831Comunicazione con il servizio Azure Machine Learning. BatchNodeManagement.<region>
QUALSIASI 443 Sostituire <region>
con l'area di Azure che contiene l'area di lavoro di Azure Machine Learning. Comunicazione con Azure Batch. L'istanza di calcolo e il cluster di elaborazione vengono implementati usando il servizio Azure Batch.Storage.<region>
TCP 443 Sostituire <region>
con l'area di Azure che contiene l'area di lavoro di Azure Machine Learning. Questo tag del servizio viene usato per comunicare con l'account di archiviazione di Azure usato da Azure Batch.Importante
L'accesso in uscita a
Storage.<region>
può essere potenzialmente usato per esfiltrare i dati dall'area di lavoro. Usando i criteri dell’endpoint di servizio è possibile attenuare questa vulnerabilità. Per altre informazioni vedere l'articolo Prevenzione dell'esfiltrazione dei dati di Azure Machine Learning.FQDN Protocollo Port Note <region>.tundra.azureml.ms
UDP 5831 Sostituire <region>
con l'area di Azure che contiene l'area di lavoro di Azure Machine Learning.graph.windows.net
TCP 443 Comunicazione con l'API Microsoft Graph. *.instances.azureml.ms
TCP 443/8787/18881 Comunicazione con Azure Machine Learning. *.<region>.batch.azure.com
QUALSIASI 443 Sostituire <region>
con l'area di Azure che contiene l'area di lavoro di Azure Machine Learning. Comunicazione con Azure Batch.*.<region>.service.batch.azure.com
QUALSIASI 443 Sostituire <region>
con l'area di Azure che contiene l'area di lavoro di Azure Machine Learning. Comunicazione con Azure Batch.*.blob.core.windows.net
TCP 443 Comunicazione con archiviazione BLOB di Azure. *.queue.core.windows.net
TCP 443 Comunicazione con archiviazione code di Azure. *.table.core.windows.net
TCP 443 Comunicazione con archiviazione tabelle di Azure. Per consentire il traffico in uscita, creare un firewall e regole in uscita o un gateway NAT e gruppi di servizi di rete. Poiché l'ambiente di calcolo non ha un indirizzo IP pubblico, non può comunicare con le risorse su Internet pubblico senza questa configurazione. Ad esempio, non sarebbe in grado di comunicare con Microsoft Entra ID o Azure Resource Manager. Anche l'installazione di pacchetti Python da origini pubbliche richiederebbe questa configurazione.
Per altre informazioni sul traffico in uscita usato da Azure Machine Learning, vedere gli articoli seguenti:
Usare le informazioni seguenti per creare un'istanza di ambiente di calcolo o un cluster di elaborazione senza indirizzo IP pubblico:
Per ottenere un'istanza di ambiente di calcolo o un cluster di elaborazione senza IP pubblico, usare l'interfaccia utente di studio di Azure Machine Learning per creare la risorsa:
Accedere a studio di Azure Machine Learning, quindi selezionare la sottoscrizione e l'area di lavoro.
Selezionare la pagina Calcolo nella barra di spostamento a sinistra.
Selezionare + Nuovo dalla barra di spostamento dell'istanza di ambiente di calcolo o del cluster di elaborazione.
Impostare le dimensioni e la configurazione della macchina virtuale necessarie, quindi selezionare Avanti.
In Impostazioni avanzate selezionare Abilita rete virtuale, scegliere la rete virtuale e la subnet e infine selezionare l'opzione Senza IP pubblico nella sezione Rete virtuale/subnet.
Suggerimento
È anche possibile usare l'estensione Azure Machine Learning SDK v2 o l'interfaccia della riga di comando di Azure per Azure Machine Learning v2. Per informazioni sulla creazione di un'istanza di ambiente di calcolo o di un cluster di elaborazione senza IP pubblico, vedere l'articolo sulla v2 di Proteggere un ambiente di training di Azure Machine Learning.
Istanza di ambiente di calcolo/cluster di elaborazione con indirizzo IP pubblico
Le configurazioni seguenti sono aggiunte a quelle elencate nella sezione Prerequisiti e sono specifiche per la creazione di istanze di ambiente di calcolo e di cluster di elaborazione con un indirizzo IP pubblico:
Se si inseriscono più istanze di ambiente di calcolo e cluster di elaborazione in una rete virtuale, potrebbe essere necessario richiedere un aumento della quota per una o più risorse. L'istanza di ambiente di calcolo o il cluster di elaborazione di Machine Learning allocano automaticamente le risorse di rete nel gruppo di risorse contenente la rete virtuale. Per ogni istanza o cluster, il servizio alloca le risorse seguenti:
Viene creato automaticamente un gruppo di sicurezza di rete. Questo gruppo di sicurezza di rete consente il traffico TCP in ingresso sulla porta 44224 dal tag di servizio
AzureMachineLearning
.Importante
L'istanza di ambiente di calcolo e il cluster di elaborazione creano automaticamente un gruppo di sicurezza di rete con le regole necessarie.
Se si dispone di un altro gruppo di sicurezza di rete a livello di subnet, le regole nel gruppo di sicurezza di rete a livello di subnet non devono essere in conflitto con le regole nel gruppo di sicurezza di rete creato automaticamente.
Per informazioni su come i gruppi di sicurezza di rete filtrano il traffico di rete vedere Come i gruppi di sicurezza di rete filtrano il traffico di rete.
Un bilanciamento del carico
Per i cluster di elaborazione queste risorse vengono eliminate ogni volta che il cluster si ridimensiona a 0 nodi e create con l’aumento delle dimensioni del cluster.
Per un'istanza di calcolo, queste risorse vengono mantenute fino a quando l'istanza non viene eliminata. L'arresto dell'istanza non rimuove le risorse.
Importante
Queste risorse sono limitate in base alle quote delle risorse della sottoscrizione. Se il gruppo di risorse della rete virtuale è bloccato, l'eliminazione del cluster di elaborazione o dell'istanza di ambiente di calcolo avrà esito negativo. Non è possibile eliminare il bilanciamento del carico, finché non viene eliminato il cluster di elaborazione o l'istanza di ambiente di calcolo. Assicurarsi anche che non vi sia un’assegnazione dei Criteri di Azure ad impedire la creazione di gruppi di sicurezza di rete.
Nella rete virtuale consentire il traffico TCP in ingresso sulla porta 44224 dal tag di servizio
AzureMachineLearning
.Importante
All'istanza di ambiente di calcolo e al cluster di elaborazione viene assegnato dinamicamente un indirizzo IP al momento della creazione. Poiché l'indirizzo non è noto prima della creazione e l'accesso in ingresso è obbligatorio come parte del processo di creazione, non è possibile assegnarlo in modo statico nel firewall. Se, invece, si usa un firewall con la rete virtuale, è necessario creare una route definita dall'utente per consentire il traffico in ingresso.
Nella rete virtuale consentire il traffico in uscita ai seguenti tag del servizio:
Tag di servizio Protocollo Port Note AzureMachineLearning
TCP
UDP443/8787/18881
5831Comunicazione con il servizio Azure Machine Learning. BatchNodeManagement.<region>
QUALSIASI 443 Sostituire <region>
con l'area di Azure che contiene l'area di lavoro di Azure Machine Learning. Comunicazione con Azure Batch. L'istanza di calcolo e il cluster di elaborazione vengono implementati usando il servizio Azure Batch.Storage.<region>
TCP 443 Sostituire <region>
con l'area di Azure che contiene l'area di lavoro di Azure Machine Learning. Questo tag del servizio viene usato per comunicare con l'account di archiviazione di Azure usato da Azure Batch.Importante
L'accesso in uscita a
Storage.<region>
può essere potenzialmente usato per esfiltrare i dati dall'area di lavoro. Usando i criteri dell’endpoint di servizio è possibile attenuare questa vulnerabilità. Per altre informazioni vedere l'articolo Prevenzione dell'esfiltrazione dei dati di Azure Machine Learning.FQDN Protocollo Port Note <region>.tundra.azureml.ms
UDP 5831 Sostituire <region>
con l'area di Azure che contiene l'area di lavoro di Azure Machine Learning.graph.windows.net
TCP 443 Comunicazione con l'API Microsoft Graph. *.instances.azureml.ms
TCP 443/8787/18881 Comunicazione con Azure Machine Learning. *.<region>.batch.azure.com
QUALSIASI 443 Sostituire <region>
con l'area di Azure che contiene l'area di lavoro di Azure Machine Learning. Comunicazione con Azure Batch.*.<region>.service.batch.azure.com
QUALSIASI 443 Sostituire <region>
con l'area di Azure che contiene l'area di lavoro di Azure Machine Learning. Comunicazione con Azure Batch.*.blob.core.windows.net
TCP 443 Comunicazione con archiviazione BLOB di Azure. *.queue.core.windows.net
TCP 443 Comunicazione con archiviazione code di Azure. *.table.core.windows.net
TCP 443 Comunicazione con archiviazione tabelle di Azure.
Si applica a: 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)
Al termine del processo di creazione, eseguire il training del modello. Per altre informazioni, vedere Configurare le destinazioni di calcolo per il training del modello.
Azure Databricks
- La rete virtuale deve trovarsi nella stessa sottoscrizione e area dell'area di lavoro di Azure Machine Learning.
- Se anche gli account di archiviazione di Azure per l'area di lavoro sono protetti in una rete virtuale, devono trovarsi nella stessa rete virtuale del cluster di Azure Databricks.
- Oltre alle subnet databricks-private e databricks-public usate da Azure Databricks, è necessaria anche la subnet predefinita creata per la rete virtuale.
- Azure Databricks non utilizza un endpoint privato per comunicare con la rete virtuale.
Per informazioni specifiche sull'uso di Azure Databricks con una rete virtuale, vedere Distribuire Azure Databricks nella rete virtuale di Azure.
L'accesso a Internet pubblico è necessario per l'esecuzione del training dei modelli
Importante
Mentre le sezioni precedenti di questo articolo descrivono le configurazioni richieste per creare le risorse di calcolo, le informazioni di configurazione presenti in questa sezione sono obbligatorie per utilizzare queste risorse per eseguire il training dei modelli.
Azure Machine Learning richiede l'accesso in ingresso e in uscita alla rete Internet pubblica. Le tabelle seguenti offrono una panoramica dell’accesso obbligatorio e del relativo scopo. Per i tag di servizio che terminano in .region
, sostituire region
con l'area di Azure che contiene l'area di lavoro. Ad esempio, Storage.westus
:
Suggerimento
La scheda Obbligatorio elenca la configurazione in ingresso e in uscita obbligatoria. La scheda Situazionale elenca le configurazioni in ingresso e in uscita facoltative richieste da configurazioni specifiche che si desidera abilitare.
Direzione | Protocollo e ports |
Tag di servizio | Scopo |
---|---|---|---|
In uscita | TCP: 80, 443 | AzureActiveDirectory |
Autenticazione usando Microsoft Entra ID. |
In uscita | TCP: 443, 18881 UDP: 5831 |
AzureMachineLearning |
Uso dei servizi Azure Machine Learning. Nei notebook Python IntelliSense utilizza la porta 18881. La creazione, l'aggiornamento e l'eliminazione di un'istanza di ambiente di calcolo di Azure Machine Learning usa la porta 5831. |
In uscita | ANY: 443 | BatchNodeManagement.region |
Comunicazione con il back-end di Azure Batch per istanze di ambiente di calcolo e cluster di elaborazione di Azure Machine Learning. |
In uscita | TCP: 443 | AzureResourceManager |
Creazione di risorse di Azure con Azure Machine Learning, l’interfaccia della riga di comando di Azure e Azure Machine Learning SDK. |
In uscita | TCP: 443 | Storage.region |
Accedere ai dati archiviati nell'account di archiviazione di Azure per il cluster di calcolo e l'istanza di calcolo. Per informazioni sulla prevenzione dall'esfiltrazione di dati in uscita vedere Protezione dall'esfiltrazione di dati. |
In uscita | TCP: 443 | AzureFrontDoor.FrontEnd * Non necessario in Microsoft Azure gestito da 21Vianet. |
Punto di ingresso globale per studio di Azure Machine Learning. Archiviare immagini e ambienti per AutoML. Per informazioni sulla prevenzione dall'esfiltrazione di dati in uscita vedere Protezione dall'esfiltrazione di dati. |
In uscita | TCP: 443 | MicrosoftContainerRegistry.region Nota: questo tag ha una dipendenza dal tag AzureFrontDoor.FirstParty |
Accedere alle immagini Docker fornite da Microsoft. Configurare il router di Azure Machine Learning per il servizio Azure Kubernetes. |
Suggerimento
Se sono necessari gli indirizzi IP al posto dei tag di servizio, scegliere una delle opzioni seguenti:
- Scaricare un elenco da Intervalli IP e tag di servizio di Azure.
- Usare il comando az network list-service-tags dell'interfaccia della riga di comando di Azure.
- Usare il comando Get-AzNetworkServiceTag di Azure PowerShell.
Gli indirizzi IP possono cambiare periodicamente.
Potrebbe anche essere necessario consentire il traffico in uscita verso Visual Studio Code e siti non Microsoft per l'installazione di pacchetti richiesti dal progetto di apprendimento automatico. La tabella seguente elenca i repository comunemente usati per l'apprendimento automatico:
Nome host | Scopo |
---|---|
anaconda.com *.anaconda.com |
Usato per installare i pacchetti predefiniti. |
*.anaconda.org |
Usato per ricevere i dati del repository. |
pypi.org |
Usato per elencare le dipendenze dall'indice predefinito, se presenti e se l'indice non viene sovrascritto dalle impostazioni utente. Se l'indice viene sovrascritto, è necessario consentire anche *.pythonhosted.org . |
cloud.r-project.org |
Usato durante l'installazione di pacchetti CRAN per lo sviluppo di R. |
*.pytorch.org |
Usato da alcuni esempi basati su PyTorch. |
*.tensorflow.org |
Usato da alcuni esempi basati su Tensorflow. |
code.visualstudio.com |
Obbligatorio per scaricare e installare Visual Studio Code per desktop. Questa operazione non è obbligatoria per Visual Studio Code per il Web. |
update.code.visualstudio.com *.vo.msecnd.net |
Usato per recuperare i bit del server di Visual Studio Code installati nell'istanza di ambiente di calcolo tramite uno script di installazione. |
marketplace.visualstudio.com vscode.blob.core.windows.net *.gallerycdn.vsassets.io |
Obbligatorio per scaricare e installare le estensioni di Visual Studio Code. Questi host abilitano la connessione remota alle istanze di ambiente di calcolo fornite dall'estensione Azure ML per Visual Studio Code. Per altre informazioni, vedere Connettersi a un'istanza di ambiente di calcolo di Azure Machine Learning in Visual Studio Code. |
raw.githubusercontent.com/microsoft/vscode-tools-for-ai/master/azureml_remote_websocket_server/* |
Usato per recuperare i bit del server Websocket, installati nell'istanza di ambiente di calcolo. Il server WebSocket viene usato per trasmettere le richieste dal client Visual Studio Code (applicazione desktop) al server Visual Studio Code in esecuzione nell'istanza di calcolo. |
Nota
Quando si usa l'estensione VS Code di Azure Machine Learning, l'istanza di ambiente di calcolo remota richiederà l'accesso ai repository pubblici per installare i pacchetti richiesti dall'estensione. Se l'istanza di ambiente di calcolo richiede un proxy per accedere a questi repository pubblici o a Internet, sarà necessario impostare ed esportare le variabili di ambiente HTTP_PROXY
e HTTPS_PROXY
nel file ~/.bashrc
dell'istanza di ambiente di calcolo. Questo processo può essere automatizzato in fase di provisioning utilizzando uno script personalizzato.
Quando si usa il servizio Azure Kubernetes con Azure Machine Learning, consentire il traffico seguente alla rete virtuale del servizio Azure Kubernetes:
- Requisiti generali in ingresso/in uscita per il servizio Azure Kubernetes come descritti nell'articolo Limitare il traffico in uscita nel servizio Azure Kubernetes.
- In uscita verso mcr.microsoft.com.
- Quando si distribuisce un modello in un cluster del servizio Azure Kubernetes, utilizzare le linee guida nell'articolo Distribuire modelli di apprendimento automatico nel servizio Azure Kubernetes.
Per informazioni sull'uso di una soluzione firewall vedere Usare un firewall con Azure Machine Learning.
Passaggi successivi
Il presente articolo fa parte di una serie di articoli sulla protezione del flusso di lavoro di Azure Machine Learning. Vedere gli altri articoli di questa serie: