Migra de notebooks administrados a instancias de Vertex AI Workbench

En esta página, se describe cómo migrar de una instancia de notebooks administrados a una instancia de Vertex AI Workbench. Puedes migrar mediante la herramienta de migración de Vertex AI Workbench o puedes migrar los datos y los archivos de tu instancia de forma manual.

Descripción general de la herramienta de migración

Vertex AI Workbench proporciona una herramienta de migración para migrar de una instancia de notebooks administrados 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 instancia de notebooks administrados que deseas migrar. Por ejemplo, la herramienta de migración crea una instancia que tiene el mismo tipo de máquina o uno similar, la configuración de red, la configuración de cierre inactivo y otras especificaciones. Luego, los archivos en el disco de datos de la instancia de notebooks administrados se copian en la instancia de Vertex AI Workbench.

Vertex AI Workbench no borra ni cambia tu instancia de notebooks administrados, por lo que después de la migración puedes seguir usándola. Si ya no necesitas la instancia de notebooks administrados, bórrala para evitar que se generen cargos adicionales por esa instancia.

Facturación

Si tu instancia de notebooks administrados usa discos persistentes extremos, la migración genera cargos por las operaciones de E/S. Consulta “IOPS aprovisionadas en extremo” en la sección de precios de discos persistentes y hiperdiscos de los discos.

Después de la migración, la instancia de notebooks administrados aún existe y genera cargos como antes. Si ya no necesitas la instancia de notebooks administrados, bórrala para evitar que se generen cargos adicionales por esa instancia.

Comportamientos predeterminados de la herramienta de migración

La herramienta de migración de Vertex AI Workbench intenta migrar la instancia de notebooks administrados a una instancia de Vertex AI Workbench con especificaciones coincidentes. Cuando una especificación en tu instancia de notebooks administrados no está disponible en instancias de Vertex AI Workbench, Vertex AI Workbench usa una especificación predeterminada cuando sea posible. Cuando la herramienta de migración no puede migrar una especificación de tu instancia de notebooks administrados, no se migra.

En la siguiente tabla, se enumeran algunos de los comportamientos de migración predeterminados clave para la herramienta de migración.

Categoría Especificación de notebooks administrados Resultado de la migración
SO Cualquier versión de Ubuntu Debian 11
Cualquier versión de Debian Debian 11
Framework Cualquier versión 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 migrado; consulta Agrega un entorno conda.
Cualquier versión local de PySpark No migrado; consulta Agrega un entorno conda.
Cualquier versión de XGBoost No migrado; consulta Agrega un entorno conda.
Cualquier versión de Python de Kaggle No migrado; consulta Agrega un entorno conda.
Cualquier versión de Jax No migrado; consulta Agrega un entorno conda.
Cualquier versión de Apache Beam No migrado; consulta Agrega un entorno conda.
Tipo de máquina Un tipo de máquina compatible Tipo de máquina idéntica
Un tipo de máquina no compatible e2-standard-4
Aceleradores Aceleradores compatibles Aceleradores idénticos
Aceleradores no compatibles La migración no incluye aceleradores
Parámetro de configuración Cierre inactivo Migrada
Enviar a la papelera Migrada
nbconvert Migrada
Descarga de archivos Migrada
Acceso a la terminal Migrada
Otro Permisos de Identity and Access Management Migrada, aunque es posible que se necesiten permisos nuevos para usar la instancia de Vertex AI Workbench
Modo de acceso Migrado; las instancias que usan el modo de acceso de JupyterLab de usuario único deben especificar la opción serviceAccount.
Red Migrado; las instancias que usan una nube privada virtual administrada por Google deben especificar las opciones network y subnet.
Secuencia de comandos posterior al inicio Cuando se usa la consola de Google Cloud, 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 Google Cloud CLI o la API de REST para especificar la opción PostStartupScriptOption
Dataproc Hub No migrado debe migrarse de forma manual

Especifica opciones

En las siguientes secciones, se describen casos en los que se requiere especificar una opción para migrar tu instancia de notebooks administrados a una instancia de Vertex AI Workbench.

Instancias que usan el modo de acceso de usuario único

Las instancias de notebooks administrados que usan el modo de acceso de usuario único deben migrarse a una instancia con la opción serviceAccount especificada. La instancia de Vertex AI Workbench que migras se restringe para acceder a JupyterLab al usuario único, pero usa una cuenta de servicio a fin de interactuar con los servicios y las APIs de Google Cloud.

Instancias que usan una VPC administrada por Google

Las instancias de notebooks administrados que usan una VPC administrada por Google deben migrarse a una instancia con las opciones network y subnet especificadas. La opción para usar una VPC administrada por Google no es compatible con las instancias de Vertex AI Workbench, por lo que se debe especificar una red diferente.

Instancias que usan una secuencia de comandos posterior al inicio

Las instancias de notebooks administrados 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 deseas omitir o volver a ejecutar la secuencia de comandos posterior al inicio en tu nueva instancia de Vertex AI Workbench.

La consola de Google Cloud no admite la especificación de la opción PostStartupScriptOption. Para especificar la opción PostStartupScriptOption cuando migras tu instancia de notebooks administrados, debes usar Google Cloud CLI o la API de REST.

Antes de comenzar

  1. Accede a tu cuenta de Google Cloud. Si eres nuevo en Google Cloud, crea una cuenta para evaluar el rendimiento de nuestros productos en situaciones reales. Los clientes nuevos también obtienen $300 en créditos gratuitos para ejecutar, probar y, además, implementar cargas de trabajo.
  2. En la página del selector de proyectos de la consola de Google Cloud, selecciona o crea un proyecto de Google Cloud.

    Ir al selector de proyectos

  3. Asegúrate de que la facturación esté habilitada para tu proyecto de Google Cloud.

  4. Habilita la API de Notebooks.

    Habilita la API

  5. En la página del selector de proyectos de la consola de Google Cloud, selecciona o crea un proyecto de Google Cloud.

    Ir al selector de proyectos

  6. Asegúrate de que la facturación esté habilitada para tu proyecto de Google Cloud.

  7. Habilita la API de Notebooks.

    Habilita la API

  8. Si aún no lo hiciste, crea una instancia de notebooks administrados.

Roles obligatorios

Para asegurarte de que tu cuenta de usuario tenga los permisos necesarios para migrar una instancia de notebooks administrados a una de Vertex AI Workbench, pídele a tu administrador que le otorgue a tu cuenta de usuario lo siguiente: rol de IAM de ejecutor de notebooks (roles/notebooks.runner) en el proyecto. Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso.

Este rol predefinido contiene los permisos necesarios para migrar una instancia de notebooks administrados a una de Vertex AI Workbench. Para ver los permisos exactos que son necesarios, expande la sección Permisos requeridos:

Permisos necesarios

Los siguientes permisos son necesarios para migrar una instancia de notebooks administrados a una instancia de Vertex AI Workbench:

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

Es posible que tu administrador también pueda otorgar estos permisos a tu cuenta de usuario con roles personalizados o con otros roles predefinidos.

Verificación previa a la migración

Antes de migrar, verifica que la instancia de notebooks administrada sea apta para la migración. Para ello, enumera tus instancias y verifica el resultado de las advertencias o los errores de migración.

Genera una lista de tus instancias

Para enumerar las instancias de notebooks administrados que aún no se migraron, usa el método projects.locations.runtimes.list con el filtro migrated:false. Puedes enumerarlas mediante la CLI de gcloud o la API de REST:

gcloud

Antes de usar cualquiera de los datos de comando a continuación, realiza los siguientes reemplazos:

  • PROJECT_ID: el ID de tu proyecto
  • LOCATION: La región en la que se encuentra la instancia de notebook administrada, o usa - 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 cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

  • PROJECT_ID: el ID de tu proyecto
  • LOCATION: La región en la que se encuentra la instancia de notebook administrada, o usa - para enumerar las instancias de todas las regiones.

HTTP method and 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 siguiente 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

Ejecuta el siguiente 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

Revisa el resultado para ver las advertencias o los errores

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 los componentes específicos de la configuración de tu instancia de notebooks administrados no se migrarán a la misma especificación en una instancia de Vertex AI Workbench. Por ejemplo, si tu instancia de notebooks administrados usa un acelerador no compatible, aparecerá una advertencia en el resultado. En este caso, la instancia se migra sin aceleradores. Puedes adjuntar aceleradores después de la migración. Revisa las advertencias en el resultado, considera los comportamientos predeterminados de la herramienta de migración y evalúa si la herramienta de migración es aceptable para tu migración.

Uno o más errores en el resultado significa que no puedes migrar la instancia de notebooks administrados mediante la herramienta de migración. Debes migrar la instancia de forma manual.

Para obtener más información sobre las advertencias y los errores de migración, consulta advertencias y errores en la documentación de RuntimeMigrationEligibility.

Migra con la herramienta de migración

Puedes migrar tu instancia de notebooks administrados mediante la consola de Google Cloud, la CLI de gcloud o la API de REST.

Consola

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

    Ir a Notebooks administrados

  2. Haz clic en el botón Migrar. Se abrirá la página Migra notebooks administrados a instancias.

  3. Para migrar instancias que no necesitan opciones especificadas, haz clic en la pestaña Listo, selecciona las instancias que deseas migrar y, luego, haz clic en Migrar.

  4. Para migrar las instancias que necesitan opciones especificadas, haz clic en la pestaña Requiere entrada, selecciona las instancias que deseas migrar y, luego, haz clic en Migrar.

    1. En el cuadro de diálogo Proporcionar entrada para la migración, especifica una red y una cuenta de servicio que se usarán en las instancias de Vertex AI Workbench nuevas que seleccionaste.

    2. Haz clic en Enviar.

  5. Cuando finalicen las migraciones, ve a la página Instancias para ver las instancias nuevas de Vertex AI Workbench.

    Ir a Instancias

gcloud

Antes de usar cualquiera de los datos de comando a continuación, realiza los siguientes reemplazos:

  • PROJECT_ID: el ID de tu proyecto
  • LOCATION: La región en la que se encuentra la instancia de notebook administrada
  • RUNTIME_ID: El ID de la instancia de notebooks administrados
  • NETWORK: La red a la que deseas migrar la instancia (opcional)
  • SUBNET: La subred a la que deseas migrar la instancia (opcional).
  • SERVICE_ACCOUNT: La dirección de correo electrónico de la cuenta de servicio que deseas usar (opcional)
  • POST_STARTUP_SCRIPT_OPTION: Una de las opciones de secuencia de comandos posteriores al inicio (opcional)

Ejecuta el siguiente 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

Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

  • PROJECT_ID: el ID de tu proyecto
  • LOCATION: La región en la que se encuentra la instancia de notebook administrada
  • RUNTIME_ID: El ID de la instancia de notebooks administrados
  • NETWORK: La red a la que deseas migrar la instancia (opcional)
  • SUBNET: La subred a la que deseas migrar la instancia (opcional).
  • SERVICE_ACCOUNT: La dirección de correo electrónico de la cuenta de servicio que deseas usar (opcional)
  • POST_STARTUP_SCRIPT_OPTION: Una de las opciones de secuencia de comandos posteriores al inicio (opcional)

HTTP method and 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

Migra manualmente

Para migrar tu instancia a una instancia de Vertex AI Workbench de forma manual, considera usar los siguientes métodos:

  • Usar Cloud Storage y la terminal: Copia tus datos y archivos a Cloud Storage y, luego, a otra instancia mediante la terminal.

  • Usa GitHub: Copia tus datos y archivos a un repositorio de GitHub con la extensión de 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 notebooks administrados. El acceso a la terminal se establece de forma manual cuando creas una instancia. La configuración de acceso a la terminal no se puede cambiar después de que se crea la instancia.

Migra de forma manual mediante Cloud Storage y la terminal

Para migrar datos y archivos a una nueva instancia de Vertex AI Workbench mediante Cloud Storage y la terminal, haz lo siguiente:

  1. Crea un bucket de Cloud Storage en el mismo proyecto en el que se encuentra la instancia de notebook administrada.

  2. En ese mismo proyecto, crea una instancia de Vertex AI Workbench a la que se migrarán tus datos. Cuando crees esta instancia, ten en cuenta lo siguiente:

    • Habilitar el acceso a la terminal
    • Especifica el tipo de máquina, la red y otras características que coincidan con lo que necesitas.
  3. En la interfaz de JupyterLab de tu instancia de notebook administrada, selecciona Archivo > Nuevo > Terminal para abrir una ventana de la terminal.

  4. Usa gsutil tool para copiar tus datos del usuario en un bucket de Cloud Storage. Con el siguiente comando de ejemplo, se copian todos los archivos del directorio /home/jupyter/ de la instancia a un directorio en un bucket de Cloud Storage.

    gsutil cp -R /home/jupyter/* gs://BUCKET_NAMEPATH
    

    Reemplaza lo siguiente:

    • BUCKET_NAME: El nombre de tu bucket de Cloud Storage.
    • PATH: La ruta de acceso al directorio en el que deseas 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 la terminal.

  6. Usa gsutil tool para copiar tus datos a la instancia nueva. En el siguiente comando de ejemplo, se copian todos los archivos de un directorio de Cloud Storage al directorio /home/jupyter/ de tu instancia nueva.

    gsutil cp gs://BUCKET_NAMEPATH* /home/jupyter/
    

Confirma la migración

Después de la migración, la instancia de notebooks administrada original seguirá funcionando como antes. Confirma que la migración se realizó de forma correcta antes de borrar la instancia original.

Borra la instancia de notebooks administrados

Si no necesitas la instancia de notebook administrada desde la que migraste, bórrala para evitar que se generen cargos adicionales por esa instancia.

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

    Ir a Notebooks administrados

  2. Selecciona la instancia que deseas borrar.

  3. Haz clic en  Borrar. (Según el tamaño de la ventana, puede que el botón Borrar esté en el menú de opciones de ).

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

Solución de problemas

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

¿Qué sigue?