Esegui la migrazione dai notebook gestiti alle istanze Vertex AI Workbench

Questa pagina descrive come eseguire la migrazione da un'istanza di Notebook gestita a un'istanza di Vertex AI Workbench. Puoi eseguire la migrazione utilizzando lo strumento di migrazione di Vertex AI Workbench o manualmente.

Panoramica dello strumento di migrazione

Vertex AI Workbench fornisce uno strumento di migrazione per eseguire la migrazione da un'istanza di notebook gestita 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 di cui vuoi eseguire la migrazione. Ad esempio, lo strumento di migrazione crea un'istanza con lo stesso o un tipo di macchina simile, la stessa configurazione di rete, le stesse impostazioni di spegnimento in caso di inattività e altre specifiche. Successivamente, i file sul disco dati dell'istanza di notebook gestita vengono copiati nell'istanza Vertex AI Workbench.

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

Fatturazione

Se l'istanza di Notebooks gestita utilizza i dischi permanenti Extreme, la migrazione genera addebiti per le operazioni di I/O. Consulta "IOPS provisionati estremi" nella sezione Prezzi di Persistent Disk e HyperDisk della pagina Prezzi dei dischi.

Dopo la migrazione, l'istanza di notebook gestiti rimarrà ed genererà addebiti come prima. Se non hai più bisogno dell'istanza di notebook gestita, eliminala per evitare ulteriori addebiti per l'istanza.

Comportamenti predefiniti dello strumento di migrazione

Lo strumento di migrazione di Vertex AI Workbench tenta di eseguire la migrazione dell'istanza di Notebook gestiti a un'istanza di 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 principali comportamenti di migrazione predefiniti 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 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 di R Non è stata eseguita la migrazione; consulta Aggiungere un ambiente conda
Qualsiasi versione PySpark locale Non è stata eseguita la migrazione; consulta Aggiungere un ambiente conda
Qualsiasi versione di XGBoost Non è stata eseguita la migrazione; consulta Aggiungere un ambiente conda
Qualsiasi versione di Python di Kaggle Non è stata eseguita la migrazione; consulta Aggiungere un ambiente conda
Qualsiasi versione di Jax Non è stata eseguita la migrazione; consulta Aggiungere un ambiente conda
Qualsiasi versione di Apache Beam Non è stata eseguita la migrazione; consulta 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 di Identity and Access Management È stata eseguita la migrazione, anche se potrebbero essere necessarie nuove autorizzazioni per utilizzare l'istanza di Vertex AI Workbench
Modalità di accesso È stata eseguita la migrazione; le istanze che utilizzano la modalità di accesso JupyterLab per un solo utente devono specificare l'opzione serviceAccount
Rete È stata 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 di post-avvio. Per eseguire la migrazione dell'istanza con lo script di post-avvio, utilizza l'interfaccia a riga di comando Google Cloud CLI o l'API REST per specificare l'opzione PostStartupScriptOption
Dataproc Hub Non è stata eseguita la migrazione; è necessaria la migrazione manuale

Specifica delle opzioni

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

Istanze che utilizzano la modalità di accesso singolo utente

È necessario eseguire la migrazione delle istanze di notebook gestiti che utilizzano la modalità di accesso a un singolo utente a un'istanza con l'opzione serviceAccount specificata. L'istanza di Vertex AI Workbench a cui esegui la migrazione limita l'accesso a JupyterLab al singolo utente, ma utilizza un account di servizio per interagire con i servizi e le API Google Cloud.

Istanze che utilizzano un VPC gestito da Google

Per le istanze di notebook gestite che utilizzano una VPC gestita da Google, è necessario eseguire la migrazione a un'istanza con le opzioni network e subnet specificate. L'opzione per utilizzare un VPC gestito da Google non è supportata nelle istanze di Vertex AI Workbench, pertanto è necessario specificare una rete diversa.

Istanze che utilizzano uno script post-avvio

Per le istanze di notebook gestiti che utilizzano uno script post-avvio, è necessario eseguire la migrazione a un'istanza con l'opzione PostStartupScriptOption specificata. Utilizza questa opzione per indicare se vuoi saltare o rieseguire lo script di post-avvio nella nuova istanza Vertex AI Workbench.

La specifica dell'opzione PostStartupScriptOption non è supportata nella console Google Cloud. Per specificare l'opzione PostStartupScriptOption durante la migrazione dell'istanza di notebook gestita, 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.

Ruoli obbligatori

Per assicurarti che il tuo account utente disponga delle autorizzazioni necessarie per eseguire la migrazione di un'istanza di Notebook gestiti a un'istanza di Vertex AI Workbench, chiedi all'amministratore di concedere al tuo account utente il ruolo IAM Notebooks Runner (roles/notebooks.runner) nel progetto. Per saperne di più sulla concessione dei ruoli, consulta Gestire 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 visualizzare le autorizzazioni esatte richieste, espandi la sezione Autorizzazioni richieste:

Autorizzazioni obbligatorie

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

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

L'amministratore potrebbe anche assegnare al tuo account utente queste autorizzazioni con ruoli personalizzati o altri ruoli predefiniti.

Controllo pre-migrazione

Prima di eseguire la migrazione, controlla l'idoneità alla migrazione delle tue istanze di notebook gestite elencando le istanze e controllando se l'output contiene avvisi o errori di migrazione.

Elenca le tue istanze

Per elencare le istanze di notebook gestite di cui non è stata ancora eseguita la migrazione, 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, effettua 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 il seguente 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 delle seguenti 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 della configurazione dell'istanza di notebook gestiti non vengono migrati alla stessa specifica in un'istanza di Vertex AI Workbench. Ad esempio, se l'istanza di notebook 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, valuta 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 gestita utilizzando lo strumento di migrazione. Devi eseguire manualmente la migrazione dell'istanza.

Per ulteriori informazioni su avvisi ed errori di migrazione, consulta avvisi e errori nella documentazione di RuntimeMigrationEligibility.

Esegui la migrazione utilizzando lo strumento di migrazione

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

Console

  1. Nella console Google Cloud, vai alla pagina Notebook gestiti.

    Vai a Blocchi note gestiti

  2. Fai clic sul pulsante Esegui migrazione. Viene visualizzata 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 Pronta, seleziona le istanze di cui vuoi eseguire la migrazione e poi fai clic su Esegui migrazione.

  4. Per eseguire la migrazione delle istanze che richiedono opzioni specifiche, fai clic sulla scheda Richiede input, seleziona le istanze di cui vuoi eseguire la migrazione e poi fai clic su Esegui 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, effettua le seguenti sostituzioni:

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

Esegui il seguente comando:

Linux, macOS o Cloud Shell

gcloud notebooks runtimes migrate RUNTIME_ID \
    --project=PROJECT_ID \
    --location=LOCATION \
    --network=NETWORK \
    --subnet=SUBNET \
    --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 `
    --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 ^
    --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 notebook gestiti
  • RUNTIME_ID: l'ID dell'istanza di notebook gestita
  • NETWORK: facoltativo, la rete a cui vuoi eseguire la migrazione dell'istanza
  • SUBNET: facoltativo, la subnet a cui vuoi eseguire la migrazione dell'istanza
  • SERVICE_ACCOUNT: facoltativo. L'indirizzo email dell'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 delle seguenti 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

Esegui la migrazione manualmente

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

  • Utilizza Cloud Storage e il terminale: copia i dati e i file su 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 Notebook 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 dei blocchi note gestiti, seleziona File > Nuovo > Terminale per aprire una finestra del terminale.

  4. Utilizza la CLI gcloud 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 da una directory Cloud Storage alla directory /home/jupyter/ della nuova istanza.

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

Conferma la migrazione

Dopo la migrazione, l'istanza di Notebook gestiti originale continuerà a funzionare come prima. Verifica che la migrazione sia andata a buon fine prima di eliminare l'istanza originale.

Elimina l'istanza di notebook gestiti

Se non hai bisogno dell'istanza di notebook gestita da cui hai eseguito la migrazione, eliminala per evitare ulteriori addebiti.

  1. Nella console Google Cloud, vai alla pagina Notebook gestiti.

    Vai a Blocchi note 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