Migrar de notebooks gestionados a instancias de Vertex AI Workbench
En esta página se describe cómo migrar de una instancia de cuadernos gestionados a una instancia de Vertex AI Workbench. Puedes migrar con la herramienta de migración de Vertex AI Workbench o migrar los datos y archivos de tu instancia manualmente.
Información general sobre la herramienta de migración
Vertex AI Workbench proporciona una herramienta de migración para migrar de una instancia de notebooks gestionados a una instancia de Vertex AI Workbench.
La herramienta de migración crea una instancia de Vertex AI Workbench con una configuración similar a la de la instancia de cuadernos gestionados que quieras migrar. Por ejemplo, la herramienta de migración crea una instancia que tiene el mismo tipo de máquina, configuración de red, ajustes de apagado por inactividad y otras especificaciones, o similares. A continuación, los archivos del disco de datos de tu instancia de cuadernos gestionados se copian en la instancia de Vertex AI Workbench.
Vertex AI Workbench no elimina ni cambia tu instancia de notebooks gestionados, por lo que puedes seguir usándola después de la migración. Si ya no necesitas la instancia de cuadernos gestionados, elimínala para evitar que se te cobre por ella.
Facturación
Si tu instancia de cuaderno gestionado usa discos persistentes Extreme, la migración generará cargos por operaciones de E/S. Consulta "IOPS aprovisionados extremos" en la sección Precios de Persistent Disk e Hyperdisk de Precios de los discos.
Después de la migración, la instancia de cuadernos gestionados seguirá existiendo y generando cargos como antes. Si ya no necesitas la instancia de cuadernos gestionados, elimínala para evitar que se te apliquen más cargos por ella.
Comportamientos predeterminados de la herramienta de migración
La herramienta de migración de Vertex AI Workbench intenta migrar tu instancia de cuaderno gestionado a una instancia de Vertex AI Workbench con especificaciones coincidentes. Si una especificación de tu instancia de cuadernos gestionados no está disponible en las instancias de Vertex AI Workbench, Vertex AI Workbench usará una especificación predeterminada cuando sea posible. Si la herramienta de migración no puede migrar una especificación de tu instancia de notebooks gestionados, no migrará la instancia.
En la siguiente tabla se enumeran algunos de los comportamientos de migración predeterminados clave de la herramienta de migración.
Categoría | Especificación de cuadernos gestionados | Resultado de la migración |
---|---|---|
SO | Cualquier versión de Ubuntu | Debian 11 |
Cualquier versión de Debian | Debian 11 | |
Framework | Cualquier versión de CUDA | CUDA 11.3 |
Cualquier versión de Python | Python 3.10 | |
Cualquier versión de PyTorch | PyTorch 1.13 | |
Cualquier versión de TensorFlow | TensorFlow 2.11 | |
Cualquier versión de R | No se ha migrado. Consulta Añadir un entorno de conda. | |
Cualquier versión local de PySpark | No se ha migrado. Consulta Añadir un entorno de conda. | |
Cualquier versión de XGBoost | No se ha migrado. Consulta Añadir un entorno de conda. | |
Cualquier versión de Python de Kaggle | No se ha migrado. Consulta Añadir un entorno de conda. | |
Cualquier versión de Jax | No se ha migrado. Consulta Añadir un entorno de conda. | |
Cualquier versión de Apache Beam | No se ha migrado. Consulta Añadir un entorno de conda. | |
Tipo de máquina | Un tipo de máquina admitido | Tipo de máquina idéntico |
Un tipo de máquina no admitido | e2-standard-4 |
|
Aceleradores | Aceleradores admitidos | Aceleradores idénticos |
Aceleradores no admitidos | La migración no incluye aceleradores | |
Ajuste | Apagado por inactividad | Migrado |
Eliminar y enviar a la papelera | Migrado | |
nbconvert |
Migrado | |
Descargando archivo | Migrado | |
Acceso al terminal | Migrado | |
Otro | Permisos de gestión de identidades y accesos | Migrada, aunque es posible que se necesiten nuevos permisos para usar la instancia de Vertex AI Workbench |
Modo de acceso |
Migradas; las instancias que usan el modo de acceso de un solo usuario de JupyterLab deben especificar la opción serviceAccount .
|
|
Red | Migradas; las instancias que usan una nube privada virtual gestionada por Google deben especificar las opciones network y subnet .
|
|
Secuencia de comandos tras el inicio |
Cuando se usa la consola, la instancia se migra sin la secuencia de comandos posterior al inicio. Para migrar la instancia con la secuencia de comandos posterior al inicio, usa la interfaz de línea de comandos de Google Cloud o la API REST para especificar la opción PostStartupScriptOption . Google Cloud
|
|
Dataproc Hub | No migrado; debe migrar manualmente |
Especificar opciones
En las secciones siguientes se describen los casos en los que es necesario especificar una opción para migrar la instancia de cuadernos gestionados a una instancia de Vertex AI Workbench.
Instancias que usan el modo de acceso de un solo usuario
Las instancias de cuadernos gestionados que usan el modo de acceso de un solo usuario deben migrarse a una instancia con la opción serviceAccount
especificada.
La instancia de Vertex AI Workbench a la que migres restringe el acceso a JupyterLab a un solo usuario, pero usa una cuenta de servicio para interactuar con los servicios y las APIs de Google Cloud .
Instancias que usan una VPC gestionada por Google
Las instancias de notebooks gestionadas que usen una VPC gestionada por Google deben migrarse a una instancia con las opciones network
y subnet
especificadas.
La opción de usar una VPC gestionada por Google no se admite en las instancias de Vertex AI Workbench, por lo que se debe especificar otra red.
Instancias que usan una secuencia de comandos tras el inicio
Las instancias de cuadernos gestionados que usan una secuencia de comandos posterior al inicio deben migrarse a una instancia con la opción PostStartupScriptOption
especificada. Usa esta opción para indicar si quieres saltarte o volver a ejecutar la secuencia de comandos posterior al inicio en tu nueva instancia de Vertex AI Workbench.
No se admite la opción PostStartupScriptOption
en la consola Google Cloud . Para especificar la opción PostStartupScriptOption
al migrar tu instancia de cuaderno gestionado, debes usar la API REST o la CLI de Google Cloud.
Antes de empezar
- 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.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator
(
roles/resourcemanager.projectCreator
), which contains theresourcemanager.projects.create
permission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Notebooks API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin
), which contains theserviceusage.services.enable
permission. Learn how to grant roles. -
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator
(
roles/resourcemanager.projectCreator
), which contains theresourcemanager.projects.create
permission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Notebooks API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin
), which contains theserviceusage.services.enable
permission. Learn how to grant roles. - Si aún no lo has hecho, crea una instancia de cuadernos gestionados.
-
notebooks.runtimes.create
-
notebooks.runtimes.get
PROJECT_ID
: tu ID de proyectoLOCATION
: la región en la que se encuentra tu instancia de cuadernos gestionados. También puedes usar-
para enumerar las instancias de todas las regiones.PROJECT_ID
: tu ID de proyectoLOCATION
: la región en la que se encuentra tu instancia de cuadernos gestionados. También puedes usar-
para enumerar las instancias de todas las regiones.En la Google Cloud consola, ve a la página Notebooks gestionados.
Haga clic en el botón Migrar. Se abrirá la página Migrar cuadernos gestionados a instancias.
Para migrar instancias que no necesiten opciones especificadas, haga clic en la pestaña Listo, seleccione las instancias que quiera migrar y, a continuación, haga clic en Migrar.
Para migrar instancias que necesiten que se especifiquen opciones, haz clic en la pestaña Necesita entrada, selecciona las instancias que quieras migrar y, a continuación, haz clic en Migrar.
En el cuadro de diálogo Provide input for migration (Proporcionar información para la migración), especifica una red y una cuenta de servicio que se usarán en las nuevas instancias de Vertex AI Workbench que hayas seleccionado.
Haz clic en Enviar.
Una vez que hayas completado las migraciones, ve a la página Instancias para ver tus nuevas instancias de Vertex AI Workbench.
PROJECT_ID
: tu ID de proyectoLOCATION
: la región en la que se encuentra tu instancia de cuadernos gestionadosRUNTIME_ID
: ID de la instancia de cuadernos gestionadosNETWORK
: la red a la que quieres migrar la instanciaSUBNET
: la subred a la que quieres migrar la instanciaSUBNET_REGION
: la región de la subredSERVICE_ACCOUNT
: Opcional: la dirección de correo de la cuenta de servicio que quieras usar.POST_STARTUP_SCRIPT_OPTION
: opcional. Una de las opciones de secuencia de comandos posterior al inicioPROJECT_ID
: tu ID de proyectoLOCATION
: la región en la que se encuentra tu instancia de cuadernos gestionadosRUNTIME_ID
: ID de la instancia de cuadernos gestionadosNETWORK
: la red a la que quieres migrar la instanciaSUBNET
: la subred a la que quieres migrar la instanciaSERVICE_ACCOUNT
: Opcional: la dirección de correo de la cuenta de servicio que quieras usar.POST_STARTUP_SCRIPT_OPTION
: opcional. Una de las opciones de secuencia de comandos posterior al inicioUsar Cloud Storage y el terminal: copia tus datos y archivos en Cloud Storage y, después, en otra instancia mediante el terminal.
Usar GitHub: copia tus datos y archivos en un repositorio de GitHub con la extensión Git para JupyterLab.
Crea un segmento de Cloud Storage en el mismo proyecto en el que se encuentre tu instancia de cuadernos gestionados.
En ese mismo proyecto, crea una instancia de Vertex AI Workbench para migrar tus datos. Cuando crees esta instancia, ocurrirá lo siguiente:
- Habilita el acceso al terminal.
- Especifica el tipo de máquina, la red y otras características para que se ajusten a tus necesidades.
En la interfaz de JupyterLab de tu instancia de cuadernos gestionados, selecciona Archivo > Nuevo > Terminal para abrir una ventana de terminal.
Usa la CLI de gcloud para copiar tus datos de usuario en un segmento de Cloud Storage. El siguiente comando de ejemplo copia todos los archivos del directorio
/home/jupyter/
de tu instancia en un directorio de un segmento de Cloud Storage.gcloud storage cp /home/jupyter/* gs://BUCKET_NAMEPATH --recursive
Haz los cambios siguientes:
BUCKET_NAME
: el nombre de tu segmento de Cloud StoragePATH
: la ruta al directorio en el que quieres copiar los archivos. Por ejemplo:/copy/jupyter/
En la interfaz de JupyterLab de tu nueva instancia de Vertex AI Workbench, selecciona Archivo > Nuevo > Terminal para abrir una ventana de terminal.
Usa la CLI de gcloud para copiar tus datos en la nueva instancia. El siguiente comando de ejemplo copia todos los archivos de un directorio de Cloud Storage en el directorio
/home/jupyter/
de tu nueva instancia.gcloud storage cp gs://BUCKET_NAMEPATH* /home/jupyter/ --recursive
En la Google Cloud consola, ve a la página Notebooks gestionados.
Selecciona la instancia que quieras eliminar.
Haz clic en
Eliminar. (En función del tamaño de la ventana, el botón Eliminar puede estar en el menú de opciones ).Para confirmar la acción, haz clic en Eliminar.
- Consulta más información sobre las instancias de Vertex AI Workbench.
Roles obligatorios
Para obtener los permisos que necesitas para migrar una instancia de cuadernos gestionados a una instancia de Vertex AI Workbench, pide a tu administrador que te conceda el rol de gestión de identidades y accesos Notebooks Runner (roles/notebooks.runner
) en el proyecto.
Para obtener más información sobre cómo conceder roles, consulta el artículo Gestionar el acceso a proyectos, carpetas y organizaciones.
Este rol predefinido contiene los permisos necesarios para migrar una instancia de cuadernos gestionados a una instancia de Vertex AI Workbench. Para ver los permisos exactos que se necesitan, despliega la sección Permisos necesarios:
Permisos obligatorios
Para migrar una instancia de cuadernos gestionados a una instancia de Vertex AI Workbench, se necesitan los siguientes permisos:
También puedes obtener estos permisos con roles personalizados u otros roles predefinidos.
Comprobación previa a la migración
Antes de migrar, comprueba si tu instancia de cuadernos gestionados cumple los requisitos para la migración. Para ello, enumera tus instancias y consulta el resultado para ver si hay advertencias o errores de migración.
Mostrar tus instancias
Para enumerar las instancias de notebooks gestionados que aún no se han migrado, usa el método projects.locations.runtimes.list
con el filtro migrated:false
. Puedes consultarlas con la CLI de gcloud o la API REST:
gcloud
Antes de usar los datos de los comandos que se indican a continuación, haz los siguientes cambios:
Ejecuta el siguiente 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
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
Método HTTP y URL:
GET https://notebooks.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/runtimes?filter=migrated:false
Para enviar tu solicitud, elige una de estas opciones:
curl
Ejecuta el comando siguiente:
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
Ejecuta el comando siguiente:
$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
Comprobar si hay advertencias o errores en el resultado
Si se detectan advertencias o errores de migración, el resultado del método projects.locations.runtimes.list
incluye esta información.
Las advertencias aparecen cuando determinados componentes de la configuración de tu instancia de cuadernos gestionados no se migran a la misma especificación en una instancia de Vertex AI Workbench. Por ejemplo, si tu instancia de cuadernos gestionados usa un acelerador no compatible, aparecerá una advertencia en la salida. En este caso, la instancia se migra sin ningún acelerador. Puedes adjuntar aceleradores después de la migración. Revisa las advertencias de los resultados, ten en cuenta los comportamientos predeterminados de la herramienta de migración y evalúa si la herramienta de migración es adecuada para tu migración.
Si se produce uno o varios errores en el resultado, significa que no puedes migrar la instancia de cuadernos gestionados con la herramienta de migración. Debes migrar la instancia manualmente.
Para obtener más información sobre las advertencias y los errores de migración, consulta las advertencias y los errores en la documentación de RuntimeMigrationEligibility
.
Migrar con la herramienta de migración
Puedes migrar tu instancia de cuaderno gestionado mediante la consola de Google Cloud , la CLI de gcloud o la API REST.
Consola
gcloud
Antes de usar los datos de los comandos que se indican a continuación, haz los siguientes cambios:
Ejecuta el siguiente 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
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
Método HTTP y URL:
POST https://notebooks.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/runtimes/RUNTIME_ID:migrate
Cuerpo JSON de la solicitud:
{ "network": NETWORK, "subnet": SUBNET, "serviceAccount": SERVICE_ACCOUNT_EMAIL_ADDRESS, "postStartupScriptOption": (POST_STARTUP_SCRIPT_OPTION) }
Para enviar tu solicitud, elige una de estas opciones:
curl
Guarda el cuerpo de la solicitud en un archivo llamado request.json
y ejecuta el siguiente comando:
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
Guarda el cuerpo de la solicitud en un archivo llamado request.json
y ejecuta el siguiente comando:
$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
Migrar manualmente
Para migrar manualmente tu instancia a una instancia de Vertex AI Workbench, puedes usar los siguientes métodos:
En esta guía se describe cómo migrar datos y archivos mediante Cloud Storage y la terminal.
Requisitos
Debes tener acceso a la terminal de tu instancia de cuadernos gestionados. El acceso a la terminal se configura manualmente al crear una instancia. El ajuste de acceso a la terminal no se puede cambiar una vez creada la instancia.
Migrar manualmente con Cloud Storage y el terminal
Para migrar datos y archivos a una nueva instancia de Vertex AI Workbench mediante Cloud Storage y el terminal, haz lo siguiente:
Confirmar la migración
Después de la migración, la instancia original de cuadernos gestionados sigue funcionando como antes. Confirma que la migración se ha completado correctamente antes de eliminar la instancia original.
Eliminar la instancia de cuadernos gestionados
Si no necesitas la instancia de cuadernos gestionados desde la que has migrado, elimínala para evitar que se te apliquen más cargos por ella.
Solucionar problemas
Para consultar métodos para diagnosticar y resolver problemas de migración, consulta Solución de problemas de Vertex AI Workbench.