Migra dai blocchi note gestiti alle istanze Vertex AI Workbench

Questa pagina descrive come eseguire la migrazione da un'istanza di notebook gestiti a un'istanza di Vertex AI Workbench. Puoi eseguire la migrazione utilizzando lo strumento di migrazione di Vertex AI Workbench o eseguire la migrazione manuale dei dati e dei file dell'istanza.

Panoramica dello strumento di migrazione

Vertex AI Workbench fornisce uno strumento di migrazione per eseguire la migrazione da un'istanza di notebook gestiti a un'istanza di Vertex AI Workbench.

Lo strumento di migrazione crea un'istanza di Vertex AI Workbench con una configurazione simile all'istanza di notebook gestiti che vuoi migrare. Ad esempio, lo strumento di migrazione crea un'istanza con tipo di macchina, configurazione di rete, impostazioni di arresto inattivo e altre specifiche uguali o simili. Successivamente, i file sul disco di dati dell'istanza di notebook gestiti vengono copiati nell'istanza di Vertex AI Workbench.

Vertex AI Workbench non elimina né modifica l'istanza dei notebook gestiti, quindi dopo la migrazione puoi continuare a utilizzarla. Se non hai più bisogno dell'istanza di blocchi note gestiti, eliminala per evitare ulteriori addebiti per quell'istanza.

Fatturazione

Se l'istanza di notebook gestiti utilizza dischi permanenti Extreme, la migrazione genera addebiti per le operazioni di I/O. Consulta la sezione "IOPS di cui è stato eseguito il provisioning Extreme" nella sezione Prezzi di Persistent Disk e Hyperdisk.

Dopo la migrazione, l'istanza di notebook gestiti esiste ancora e genera addebiti come prima. Se non hai più bisogno dell'istanza di blocchi note gestiti, eliminala per evitare ulteriori addebiti per quell'istanza.

Comportamenti predefiniti dello strumento di migrazione

Lo strumento di migrazione di Vertex AI Workbench tenta di migrare l'istanza di notebook gestiti a un'istanza Vertex AI Workbench con specifiche corrispondenti. Quando una specifica nell'istanza di notebook gestiti non è disponibile nelle istanze di Vertex AI Workbench, Vertex AI Workbench utilizza una specifica predefinita, se possibile. Quando lo strumento di migrazione non riesce a eseguire la migrazione di una specifica dell'istanza di notebook gestiti, non esegue la migrazione dell'istanza.

La tabella seguente elenca alcuni dei comportamenti di migrazione predefiniti chiave per lo strumento di migrazione.

Categoria Specifiche dei notebook gestiti Risultato della migrazione
Sistema operativo Qualsiasi versione di Ubuntu Debian 11
Qualsiasi versione di Debian Debian 11
Framework Qualsiasi versione di CUDA CUDA 11.3
Qualsiasi versione di Python Python 3.10
Qualsiasi versione di PyTorch PyTorch 1.13
Qualsiasi versione di TensorFlow TensorFlow 2.11
Qualsiasi versione R Non eseguita la migrazione; vedi Aggiungere un ambiente conda
Qualsiasi versione locale di PySpark Non eseguita la migrazione; vedi Aggiungere un ambiente conda
Qualsiasi versione di XGBoost Non eseguita la migrazione; vedi Aggiungere un ambiente conda
Qualsiasi versione di Python di Kaggle Non eseguita la migrazione; vedi Aggiungere un ambiente conda
Qualsiasi versione di Jax Non eseguita la migrazione; vedi Aggiungere un ambiente conda
Qualsiasi versione di Apache Beam Non eseguita la migrazione; vedi Aggiungere un ambiente conda
Tipo di macchina Un tipo di macchina supportato Tipo di macchina identico
Un tipo di macchina non supportato e2-standard-4
Acceleratori Acceleratori supportati Acceleratori identici
Acceleratori non supportati La migrazione non include gli acceleratori
Impostazione Arresto per inattività Migrazione eseguita
Elimina nel cestino Migrazione eseguita
nbconvert Migrazione eseguita
Download del file Migrazione eseguita
Accesso al terminale Migrazione eseguita
Altro Autorizzazioni Identity and Access Management Eseguita la migrazione, anche se potrebbero essere necessarie nuove autorizzazioni per utilizzare l'istanza di Vertex AI Workbench
Modalità di accesso Eseguita la migrazione; le istanze che utilizzano la modalità di accesso a JupyterLab per un singolo utente devono specificare l'opzione serviceAccount
Rete Eseguita la migrazione; le istanze che utilizzano un Virtual Private Cloud gestito da Google devono specificare le opzioni network e subnet
Script post-avvio Quando utilizzi la console Google Cloud , la migrazione dell'istanza viene eseguita senza lo script post-avvio. Per eseguire la migrazione dell'istanza con lo script post-avvio, utilizza Google Cloud CLI o l'API REST per specificare l'opzione PostStartupScriptOption.
Dataproc Hub Non è stata eseguita la migrazione; è necessario eseguire manualmente la migrazione

Specifica delle opzioni

Le sezioni seguenti descrivono i casi in cui è necessario specificare un'opzione per eseguire la migrazione dell'istanza di notebook gestiti a un'istanza di Vertex AI Workbench.

Istanze che utilizzano la modalità di accesso singolo utente

Le istanze di notebook gestiti che utilizzano la modalità di accesso per un singolo utente devono essere migrate a un'istanza con l'opzione serviceAccount specificata. L'istanza Vertex AI Workbench a cui esegui la migrazione limita l'accesso a JupyterLab a un singolo utente, ma utilizza un account di servizio per interagire con servizi e API. Google Cloud

Istanze che utilizzano un VPC gestito da Google

Le istanze di notebook gestiti che utilizzano un VPC gestito da Google devono essere migrate a un'istanza con le opzioni network e subnet specificate. L'opzione per utilizzare un VPC gestito da Google non è supportata nelle istanze Vertex AI Workbench, quindi è necessario specificare una rete diversa.

Istanze che utilizzano uno script post-avvio

Le istanze di notebook gestiti che utilizzano uno script post-avvio devono essere migrate a un'istanza con l'opzione PostStartupScriptOption specificata. Utilizza questa opzione per indicare se vuoi ignorare o eseguire di nuovo lo script post-avvio nella nuova istanza Vertex AI Workbench.

La specifica dell'opzione PostStartupScriptOption non è supportata nella console Google Cloud . Per specificare l'opzione PostStartupScriptOption quando esegui la migrazione dell'istanza di notebook gestiti, devi utilizzare Google Cloud CLI o l'API REST.

Prima di iniziare

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. Enable the Notebooks API.

    Enable the API

  5. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  6. Make sure that billing is enabled for your Google Cloud project.

  7. Enable the Notebooks API.

    Enable the API

  8. Se non l'hai ancora fatto, crea un'istanza di notebook gestiti.
  9. Ruoli obbligatori

    Per ottenere le autorizzazioni necessarie per eseguire la migrazione di un'istanza di blocchi note gestiti a un'istanza di Vertex AI Workbench, chiedi all'amministratore di concederti il ruolo IAM Runner di Notebook (roles/notebooks.runner) nel progetto. Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.

    Questo ruolo predefinito contiene le autorizzazioni necessarie per eseguire la migrazione di un'istanza di notebook gestiti a un'istanza di Vertex AI Workbench. Per vedere quali sono esattamente le autorizzazioni richieste, espandi la sezione Autorizzazioni obbligatorie:

    Autorizzazioni obbligatorie

    Per eseguire la migrazione di un'istanza di notebook gestiti a un'istanza Vertex AI Workbench sono necessarie le seguenti autorizzazioni:

    • notebooks.runtimes.create
    • notebooks.runtimes.get

    Potresti anche ottenere queste autorizzazioni con ruoli personalizzati o altri ruoli predefiniti.

    Controllo pre-migrazione

    Prima di eseguire la migrazione, controlla l'idoneità alla migrazione dell'istanza di notebook gestiti elencando le istanze e controllando l'output per eventuali avvisi o errori di migrazione.

    Elenca le istanze

    Per elencare le istanze di notebook gestiti che non sono ancora state migrate, utilizza il metodo projects.locations.runtimes.list con il filtro migrated:false. Puoi elencarli utilizzando gcloud CLI o l'API REST:

    gcloud

    Prima di utilizzare i dati dei comandi riportati di seguito, apporta le seguenti sostituzioni:

    • PROJECT_ID: il tuo ID progetto
    • LOCATION: la regione in cui si trova l'istanza di blocchi note gestiti oppure utilizza - per elencare le istanze di tutte le regioni

    Esegui questo comando:

    Linux, macOS o Cloud Shell

    gcloud notebooks runtimes list --project=PROJECT_ID \
        --location=LOCATION --filter=migrated:false --format=default

    Windows (PowerShell)

    gcloud notebooks runtimes list --project=PROJECT_ID `
        --location=LOCATION --filter=migrated:false --format=default

    Windows (cmd.exe)

    gcloud notebooks runtimes list --project=PROJECT_ID ^
        --location=LOCATION --filter=migrated:false --format=default

    REST

    Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:

    • PROJECT_ID: il tuo ID progetto
    • LOCATION: la regione in cui si trova l'istanza di blocchi note gestiti oppure utilizza - per elencare le istanze di tutte le regioni

    Metodo HTTP e URL:

    GET https://notebooks.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/runtimes?filter=migrated:false

    Per inviare la richiesta, scegli una di queste opzioni:

    curl

    Esegui questo comando:

    curl -X GET \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    "https://notebooks.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/runtimes?filter=migrated:false"

    PowerShell

    Esegui questo comando:

    $cred = gcloud auth print-access-token
    $headers = @{ "Authorization" = "Bearer $cred" }

    Invoke-WebRequest `
    -Method GET `
    -Headers $headers `
    -Uri "https://notebooks.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/runtimes?filter=migrated:false" | Select-Object -Expand Content

    Controlla l'output per verificare la presenza di avvisi o errori

    Se vengono rilevati avvisi o errori di migrazione, l'output del metodo projects.locations.runtimes.list include queste informazioni.

    Gli avvisi vengono visualizzati quando componenti specifici nella configurazione dell'istanza di notebook gestiti non verranno migrati alla stessa specifica in un'istanza di Vertex AI Workbench. Ad esempio, se l'istanza di blocchi note gestiti utilizza un acceleratore non supportato, nell'output viene visualizzato un avviso. In questo caso, la migrazione dell'istanza viene eseguita senza acceleratori. Puoi collegare gli acceleratori dopo la migrazione. Esamina gli avvisi nell'output, considera i comportamenti predefiniti dello strumento di migrazione e valuta se lo strumento di migrazione è accettabile per la tua migrazione.

    Uno o più errori nell'output indicano che non puoi eseguire la migrazione dell'istanza di notebook gestiti utilizzando lo strumento di migrazione. Devi eseguire manualmente la migrazione dell'istanza.

    Per ulteriori informazioni su avvisi ed errori di migrazione, consulta le sezioni relative ad avvisi ed errori nella documentazione di RuntimeMigrationEligibility.

    Eseguire la migrazione utilizzando lo strumento di migrazione

    Puoi eseguire la migrazione dell'istanza di blocchi note gestiti utilizzando la console Google Cloud , gcloud CLI o l'API REST.

    Console

    1. Nella console Google Cloud , vai alla pagina Blocchi note gestiti.

      Vai a Notebook gestiti

    2. Fai clic sul pulsante Esegui migrazione. Si apre la pagina Esegui la migrazione dei notebook gestiti alle istanze.

    3. Per eseguire la migrazione delle istanze per le quali non è necessario specificare opzioni, fai clic sulla scheda Pronto, seleziona le istanze di cui vuoi eseguire la migrazione e poi fai clic su Esegui migrazione.

    4. Per eseguire la migrazione delle istanze per le quali è necessario specificare le opzioni, fai clic sulla scheda Richiede input, seleziona le istanze di cui vuoi eseguire la migrazione e poi fai clic su Esegui la migrazione.

      1. Nella finestra di dialogo Fornisci input per la migrazione, specifica una rete e un account di servizio da utilizzare per le nuove istanze Vertex AI Workbench che hai selezionato.

      2. Fai clic su Invia.

    5. Al termine delle migrazioni, vai alla pagina Istanze per visualizzare le nuove istanze di Vertex AI Workbench.

      Vai a Istanze

    gcloud

    Prima di utilizzare i dati dei comandi riportati di seguito, apporta le seguenti sostituzioni:

    • PROJECT_ID: il tuo ID progetto
    • LOCATION: la regione in cui si trova l'istanza di Managed Notebooks
    • RUNTIME_ID: L'ID dell'istanza di blocchi note gestiti
    • NETWORK: la rete a cui vuoi eseguire la migrazione dell'istanza
    • SUBNET: la subnet a cui vuoi eseguire la migrazione dell'istanza
    • SUBNET_REGION: la regione della subnet
    • SERVICE_ACCOUNT: (facoltativo) l'indirizzo email del account di servizio che vuoi utilizzare
    • POST_STARTUP_SCRIPT_OPTION: (facoltativo) una delle opzioni di script di avvio-avvio

    Esegui questo comando:

    Linux, macOS o Cloud Shell

    gcloud notebooks runtimes migrate RUNTIME_ID \
        --project=PROJECT_ID \
        --location=LOCATION \
        --network=NETWORK \
        --subnet=SUBNET \
        --subnet-region=SUBNET_REGION \
        --service-account=SERVICE_ACCOUNT \
        --post-startup-script-option=POST_STARTUP_SCRIPT_OPTION

    Windows (PowerShell)

    gcloud notebooks runtimes migrate RUNTIME_ID `
        --project=PROJECT_ID `
        --location=LOCATION `
        --network=NETWORK `
        --subnet=SUBNET `
        --subnet-region=SUBNET_REGION `
        --service-account=SERVICE_ACCOUNT `
        --post-startup-script-option=POST_STARTUP_SCRIPT_OPTION

    Windows (cmd.exe)

    gcloud notebooks runtimes migrate RUNTIME_ID ^
        --project=PROJECT_ID ^
        --location=LOCATION ^
        --network=NETWORK ^
        --subnet=SUBNET ^
        --subnet-region=SUBNET_REGION ^
        --service-account=SERVICE_ACCOUNT ^
        --post-startup-script-option=POST_STARTUP_SCRIPT_OPTION

    REST

    Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:

    • PROJECT_ID: il tuo ID progetto
    • LOCATION: la regione in cui si trova l'istanza di Managed Notebooks
    • RUNTIME_ID: L'ID dell'istanza di blocchi note gestiti
    • NETWORK: la rete a cui vuoi eseguire la migrazione dell'istanza
    • SUBNET: la subnet a cui vuoi eseguire la migrazione dell'istanza
    • SERVICE_ACCOUNT: (facoltativo) l'indirizzo email del account di servizio che vuoi utilizzare
    • POST_STARTUP_SCRIPT_OPTION: (facoltativo) una delle opzioni di script di avvio-avvio

    Metodo HTTP e URL:

    POST https://notebooks.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/runtimes/RUNTIME_ID:migrate

    Corpo JSON della richiesta:

    {
      "network": NETWORK,
      "subnet": SUBNET,
      "serviceAccount": SERVICE_ACCOUNT_EMAIL_ADDRESS,
      "postStartupScriptOption": (POST_STARTUP_SCRIPT_OPTION)
    }
    

    Per inviare la richiesta, scegli una di queste opzioni:

    curl

    Salva il corpo della richiesta in un file denominato request.json, quindi esegui il comando seguente:

    curl -X POST \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json; charset=utf-8" \
    -d @request.json \
    "https://notebooks.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/runtimes/RUNTIME_ID:migrate"

    PowerShell

    Salva il corpo della richiesta in un file denominato request.json, quindi esegui il comando seguente:

    $cred = gcloud auth print-access-token
    $headers = @{ "Authorization" = "Bearer $cred" }

    Invoke-WebRequest `
    -Method POST `
    -Headers $headers `
    -ContentType: "application/json; charset=utf-8" `
    -InFile request.json `
    -Uri "https://notebooks.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/runtimes/RUNTIME_ID:migrate" | Select-Object -Expand Content

    Eseguire la migrazione manualmente

    Per eseguire manualmente la migrazione dell'istanza a un'istanza Vertex AI Workbench, valuta la possibilità di utilizzare i seguenti metodi:

    • Utilizza Cloud Storage e il terminale: copia i dati e i file in Cloud Storage e poi in un'altra istanza utilizzando il terminale.

    • Utilizza GitHub: copia i dati e i file in un repository GitHub utilizzando l'estensione Git per JupyterLab.

    Questa guida descrive come eseguire la migrazione di dati e file utilizzando Cloud Storage e il terminale.

    Requisiti

    Devi disporre dell'accesso al terminale all'istanza di notebook gestiti. L'accesso al terminale viene impostato manualmente quando crei un'istanza. L'impostazione di accesso al terminale non può essere modificata dopo la creazione dell'istanza.

    Esegui la migrazione manualmente utilizzando Cloud Storage e il terminale

    Per eseguire la migrazione di dati e file a una nuova istanza Vertex AI Workbench utilizzando Cloud Storage e il terminale, svolgi i seguenti passaggi.

    1. Crea un bucket Cloud Storage nello stesso progetto in cui si trova l'istanza di blocchi note gestiti.

    2. Nello stesso progetto, crea un'istanza di Vertex AI Workbench a cui eseguire la migrazione dei dati. Quando crei questa istanza:

      • Attiva l'accesso al terminale.
      • Specifica il tipo di macchina, la rete e altre caratteristiche in base alle tue esigenze.
    3. Nell'interfaccia JupyterLab dell'istanza di Managed Notebooks, seleziona File > Nuovo > Terminale per aprire una finestra del terminale.

    4. Utilizza gcloud CLI per copiare i dati utente in un bucket Cloud Storage. Il seguente comando di esempio copia tutti i file dalla directory /home/jupyter/ dell'istanza in una directory di un bucket Cloud Storage.

      gcloud storage cp /home/jupyter/* gs://BUCKET_NAMEPATH --recursive

      Sostituisci quanto segue:

      • BUCKET_NAME: il nome del bucket Cloud Storage
      • PATH: il percorso della directory in cui vuoi copiare i file, ad esempio: /copy/jupyter/
    5. Nell'interfaccia JupyterLab della nuova istanza Vertex AI Workbench, seleziona File > Nuovo > Terminale per aprire una finestra del terminale.

    6. Utilizza gcloud CLI per copiare i dati nella nuova istanza. Il seguente comando di esempio copia tutti i file di una directory Cloud Storage nella directory /home/jupyter/ della nuova istanza.

      gcloud storage cp gs://BUCKET_NAMEPATH* /home/jupyter/ --recursive

    Confermare la migrazione

    Dopo la migrazione, l'istanza originale di blocchi note gestiti continua a funzionare come prima. Prima di eliminare l'istanza originale, verifica che la migrazione sia stata eseguita correttamente.

    Elimina l'istanza di notebook gestiti

    Se non hai più bisogno dell'istanza di blocchi note gestiti da cui hai eseguito la migrazione, eliminala per evitare ulteriori addebiti per quell'istanza.

    1. Nella console Google Cloud , vai alla pagina Blocchi note gestiti.

      Vai a Notebook gestiti

    2. Seleziona l'istanza che vuoi eliminare.

    3. Fai clic su  Elimina (a seconda delle dimensioni della finestra, il pulsante Elimina potrebbe essere visualizzato nel menu opzioni ).

    4. Per confermare, fai clic su Elimina.

    Risoluzione dei problemi

    Per trovare metodi per diagnosticare e risolvere i problemi di migrazione, consulta Risoluzione dei problemi di Vertex AI Workbench.

    Passaggi successivi