Condividi tramite


Esercitazione: come creare un'area di lavoro sicura usando un modello

I modelli offrono un modo pratico per creare distribuzioni di servizi riproducibili. Il modello definisce cosa creare, con alcune informazioni fornite quando si usa il modello. Ad esempio, si specifica un nome univoco per un'area di lavoro di Azure Machine Learning.

In questa esercitazione si apprenderà come usare un modello Microsoft Bicep o Hashicorp Terraform per creare una rete virtuale di Azure con le risorse di Azure seguenti protette dietro di esso.

  • Area di lavoro di Azure Machine Learning
    • Istanza di calcolo di Azure Machine Learning
    • Cluster di calcolo di Azure Machine Learning
  • Account di archiviazione di Azure
  • Azure Key Vault
  • Azure Application Insights
  • Registro Azure Container
  • Host Azure Bastion
  • Data Science Virtual Machine (DSVM) di Azure Machine Learning

Il modello Bicep crea anche un cluster del servizio Azure Kubernetes e un gruppo di risorse separato per il cluster del servizio Azure Kubernetes.

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 rete gestito dall'area di lavoro.

Per visualizzare le informazioni su Bicep o Terraform, selezionare le schede Bicep o Terraform nelle sezioni seguenti.

Prerequisiti

  • Una sottoscrizione di Azure con una versione gratuita o a pagamento di Azure Machine Learning. Se non si ha una sottoscrizione di Azure, creare un account gratuito prima di iniziare.

  • Git installato nell'ambiente di sviluppo per clonare il repository di modelli. Se il comando git non è disponibile, è possibile installare Git da https://git-scm.com/.

  • Interfaccia della riga di comando di Azure o riga di comando di Azure PowerShell.

Comprendere il modello

Il modello Bicep è costituito da main.bicep e dai file*.bicep nei moduli sottodirectory. La tabella seguente descrive i compiti di ogni file:

File Descrizione
main.bicep Passa parametri e variabili ad altri moduli nella sottodirectory moduli.
vnet.bicep Definisce la rete virtuale e le subnet di Azure.
nsg.bicep Definisce le regole del gruppo di sicurezza di rete per la rete virtuale.
bastion.bicep Definisce l'host e la subnet di Azure Bastion. Azure Bastion consente di accedere facilmente a una macchina virtuale (VM) all'interno della rete virtuale usando il Web browser.
dsvmjumpbox.bicep Definisce la DSVM. Azure Bastion viene usato per accedere a questa macchina virtuale tramite il Web browser.
storage.bicep Definisce l'account Archiviazione di Azure usato dall'area di lavoro per la risorsa di archiviazione predefinita.
keyvault.bicep Definisce l'Azure Key Vault usato dall'area di lavoro.
containerregistry.bicep Definisce il Registro Azure Container usato dall'area di lavoro.
applicationinsights.bicep Definisce l'istanza di Azure Application Insights usata dall'area di lavoro.
machinelearningnetworking.bicep Definisce gli endpoint privati e le zone DNS (Domain Name System) per l'area di lavoro.
machinelearning.bicep Definisce l'area di lavoro di Azure Machine Learning.
machinelearningcompute.bicep Definisce un cluster di elaborazione e un'istanza di ambiente di calcolo di Azure Machine Learning.
privateaks.bicep Definisce un'istanza del cluster del servizio Azure Kubernetes.

Importante

Ogni servizio di Azure ha un proprio set di versioni API. I modelli di esempio potrebbero non usare le versioni più recenti dell'API per Azure Machine Learning e altre risorse. Prima di usare il modello, è necessario modificarlo per usare le versioni più recenti dell'API.

Per informazioni sull'API di un servizio specifico, vedere le informazioni sul servizio nelle informazioni di riferimento dell'API REST di Azure.. Per informazioni sulle versioni più recenti dell'API di Azure Machine Learning, vedere API REST di Azure Machine Learning.

Per aggiornare la versione dell'API, trovare la voce Microsoft.MachineLearningServices/<resource> per il tipo di risorsa e aggiornarla alla versione più recente.

Importante

La DSVM e Azure Bastion sono un modo semplice per connettersi all'area di lavoro protetta per questa esercitazione. In un ambiente di produzione è preferibile usare un gateway VPN di Azure o Azure ExpressRoute per accedere alle risorse all'interno della rete virtuale direttamente dalla rete locale.

Configurare il modello

Per distribuire il modello Bicep, assicurarsi di trovarsi nella directory machine-learning-end-to-end-secure in cui si trova il file main.bicep ed eseguire i comandi seguenti:

  1. Per creare un nuovo gruppo di risorse di Azure, eseguire il comando di esempio seguente, sostituendo <myrgname> con un nome del gruppo di risorse e <location> con l'area di Azure che si vuole usare.

    • Interfaccia della riga di comando di Azure:

      az group create --name <myrgname> --location <location>
      
    • Azure PowerShell:

      New-AzResourceGroup -Name <myrgname> -Location <location>
      
  2. Per distribuire il modello, usare il comando seguente, sostituendo <myrgname> con il nome del gruppo di risorse creato e <pref> con un prefisso univoco da usare durante la creazione delle risorse necessarie. Sostituire <mydsvmpassword> con una password sicura per l'account di accesso jump box di DSVM, che negli esempi seguenti è azureadmin.

    Suggerimento

    prefix deve essere composto da cinque o meno caratteri e non può essere completamente numerico o contenere i caratteri ~, !, @, #, $, %, ^, &, *, (, ), =, +, _, [, ], {, }, \, |, ;, :, ., ', ", ,, <, >, / o ?.

    • Interfaccia della riga di comando di Azure:

      az deployment group create \
          --resource-group <myrgname> \
          --template-file main.bicep \
          --parameters \
          prefix=<pref> \
          dsvmJumpboxUsername=azureadmin \
          dsvmJumpboxPassword=<mydsvmpassword>
      
    • Azure PowerShell:

      $dsvmPassword = ConvertTo-SecureString "<mydsvmpassword>" -AsPlainText -Force
      New-AzResourceGroupDeployment -ResourceGroupName <myrgname> `
          -TemplateFile ./main.bicep `
          -prefix "<pref>" `
          -dsvmJumpboxUsername "azureadmin" `
          -dsvmJumpboxPassword $dsvmPassword
      

      Avviso

      È consigliabile evitare di usare stringhe di testo semplice negli script o dalla riga di comando. Il testo normale può essere visualizzato nei registri eventi e nella cronologia dei comandi. Per altre informazioni, vedere ConvertTo-SecureString.

Importante

La DSVM e tutte le risorse di calcolo fatturano ogni ora in cui vengono eseguite. Per evitare addebiti in eccesso, è consigliabile arrestare queste risorse quando non sono in uso. Per altre informazioni, vedere gli articoli seguenti:

Connettersi all'area di lavoro

Al termine della distribuzione, seguire questa procedura per connettersi alla DSVM:

  1. Nel portale di Azure selezionare il gruppo di risorse di Azure usato con il modello. Selezionare quindi la DSVM creata dal modello. Se non si riesce a trovarlo, usare la sezione Filtri per filtrare ilTipo per macchina virtuale.

    Screenshot del filtro e selezione della macchina virtuale.

  2. Nella pagina Panoramica di DSVM selezionare Connetti e quindi selezionareConnetti tramite Bastion nell'elenco a discesa.

    Screenshot della selezione per la connessione tramite Bastion.

  3. Quando richiesto, specificare il nome utente e la password della macchina virtuale specificati durante la configurazione del modello, quindi selezionare Connetti.

    Importante

    La prima volta che ci si connette al desktop DSVM, si apre una finestra di PowerShell che esegue uno script. Consentire il completamento dello script prima di continuare con il passaggio successivo.

  4. Dal desktop DSVM avviare Microsoft Edge e immettere https://ml.azure.com come indirizzo. Accedere alla sottoscrizione di Azure, quindi selezionare l'area di lavoro creata dal modello. Viene visualizzato lo studio per l'area di lavoro.

Risoluzione dei problemi

Questo errore può verificarsi quando il nome della jump box DSVM è maggiore di 15 caratteri o include uno dei caratteri seguenti: ~, !, @, #, $, %, ^, &, *, (, ), =, +, _, [, ], {, }, \, |, ;, :, ., ', ", ,, <, >, / o ?.

Errore: il nome computer Windows non può contenere più di 15 caratteri, non può essere interamente numerico e non può contenere i caratteri seguenti ~ ! @ # $ % ^ & * ( ) = + _ [ ] { } \ | ; : . ' " , <> / ?.

Il modello Bicep genera il nome della jump box a livello di codice usando il valore del prefisso fornito al modello. Per assicurarsi che il nome non superi i 15 caratteri o contenga caratteri non validi, usare un prefisso con cinque o meno caratteri e non usa i caratteri ~, !, @, #, $, %, ^, &, *, (, ), =, +, _, [, ], {, }, \, |, ;, :, ., ', ", ,, <, >, /, o ?.

Per continuare a usare Azure Machine Learning, vedere Guida introduttiva: Introduzione ad Azure Machine Learning.

Per altre informazioni sulle configurazioni comuni dell'area di lavoro sicure e sui requisiti di input/output, vedere Flusso di traffico sicuro dell'area di lavoro di Azure Machine Learning.