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

  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.

    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 the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. 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 the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the API

  5. 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 the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  6. Verify that billing is enabled for your Google Cloud project.

  7. 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 the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the API

  8. Si aún no lo has hecho, crea una instancia de cuadernos gestionados.
  9. 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:

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

    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:

    • PROJECT_ID: tu ID de proyecto
    • LOCATION: 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.

    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:

    • PROJECT_ID: tu ID de proyecto
    • LOCATION: 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.

    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

    1. En la Google Cloud consola, ve a la página Notebooks gestionados.

      Ir a Cuadernos gestionados

    2. Haga clic en el botón Migrar. Se abrirá la página Migrar cuadernos gestionados a instancias.

    3. 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.

    4. 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.

      1. 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.

      2. Haz clic en Enviar.

    5. Una vez que hayas completado las migraciones, ve a la página Instancias para ver tus nuevas instancias de Vertex AI Workbench.

      Ir a Instancias

    gcloud

    Antes de usar los datos de los comandos que se indican a continuación, haz los siguientes cambios:

    • PROJECT_ID: tu ID de proyecto
    • LOCATION: la región en la que se encuentra tu instancia de cuadernos gestionados
    • RUNTIME_ID: ID de la instancia de cuadernos gestionados
    • NETWORK: la red a la que quieres migrar la instancia
    • SUBNET: la subred a la que quieres migrar la instancia
    • SUBNET_REGION: la región de la subred
    • SERVICE_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 inicio

    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:

    • PROJECT_ID: tu ID de proyecto
    • LOCATION: la región en la que se encuentra tu instancia de cuadernos gestionados
    • RUNTIME_ID: ID de la instancia de cuadernos gestionados
    • NETWORK: la red a la que quieres migrar la instancia
    • SUBNET: la subred a la que quieres migrar la instancia
    • SERVICE_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 inicio

    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:

    • Usar 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.

    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:

    1. Crea un segmento de Cloud Storage en el mismo proyecto en el que se encuentre tu instancia de cuadernos gestionados.

    2. 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.
    3. En la interfaz de JupyterLab de tu instancia de cuadernos gestionados, selecciona Archivo > Nuevo > Terminal para abrir una ventana de terminal.

    4. 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 Storage
      • PATH: la ruta al directorio en el que quieres copiar los archivos. Por ejemplo: /copy/jupyter/
    5. En la interfaz de JupyterLab de tu nueva instancia de Vertex AI Workbench, selecciona Archivo > Nuevo > Terminal para abrir una ventana de terminal.

    6. 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

    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.

    1. En la Google Cloud consola, ve a la página Notebooks gestionados.

      Ir a Cuadernos gestionados

    2. Selecciona la instancia que quieras eliminar.

    3. Haz clic en  Eliminar. (En función del tamaño de la ventana, el botón Eliminar puede estar en el menú de opciones ).

    4. Para confirmar la acción, haz clic en Eliminar.

    Solucionar problemas

    Para consultar métodos para diagnosticar y resolver problemas de migración, consulta Solución de problemas de Vertex AI Workbench.

    Siguientes pasos