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 con la herramienta de migración de Vertex AI Workbench o migrar los datos y 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 administrada 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, la misma configuración de red, la misma configuración de apagado inactivo y otras especificaciones similares. Luego, los archivos del disco de datos de tu instancia de notebooks administrada 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 sigan generando cargos.

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 Persistent Disk y de Hyperdisk de precios de 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 sigan generando 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 notebooks administrados a una instancia de Vertex AI Workbench con especificaciones coincidentes. Cuando una especificación de tu instancia de notebooks administrados no está disponible en las instancias de Vertex AI Workbench, esta usa una especificación predeterminada cuando es posible. Cuando la herramienta de migración no puede migrar una especificación de tu instancia de notebooks administrados, no migra la instancia.

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 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 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 Kaggle Python 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éntico
Un tipo de máquina no compatible e2-standard-4
Aceleradores Aceleradores compatibles Aceleradores idénticos
Aceleradores no admitidos La migración no incluye aceleradores
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 Se migró, aunque es posible que se requieran 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 usas 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; debes migrar manualmente

Especifica las 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 de 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 especificación de la opción PostStartupScriptOption no es compatible con la consola de Google Cloud. 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. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

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

  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. Asegúrate de que la facturación esté habilitada para tu proyecto de Google Cloud.

  7. Enable the Notebooks API.

    Enable the 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 a proyectos, carpetas y organizaciones.

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

Permisos necesarios

Se requieren los siguientes permisos 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 la elegibilidad de la migración de tu instancia de notebooks administrados mediante la enumeración de tus instancias y la verificación del resultado en busca de advertencias o errores de migración.

Genera una lista de tus instancias

Para enumerar las instancias de notebooks administradas que aún no se migraron, usa el método projects.locations.runtimes.list con el filtro migrated:false. Puedes enumerarlas con gcloud CLI 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: Es la región en la que se encuentra la instancia de notebooks administrada o usa - para mostrar una lista de 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: Es la región en la que se encuentra la instancia de notebooks administrada o usa - para mostrar una lista de 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

Comprueba el resultado en busca de advertencias o 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 la 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, ten en cuenta 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 significan que no puedes migrar la instancia de notebooks administrados con 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 las advertencias y los 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, gcloud CLI o la API de REST.

Console

  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 necesiten opciones especificadas, haz clic en la pestaña Listo, selecciona las instancias que deseas migrar y, luego, haz clic en Migrar.

  4. Para migrar instancias que necesitan opciones especificadas, haz clic en la pestaña Necesita 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 para usar en las instancias nuevas de Vertex AI Workbench que seleccionaste.

    2. Haz clic en Enviar.

  5. Una vez finalizadas las migraciones, ve a la página Instancias para ver tus nuevas instancias 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:

  • Usa 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 con Cloud Storage y la terminal, completa 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 para migrar tus datos. Cuando crees esta instancia, ocurrirá lo siguiente:

    • Habilita el acceso a la terminal.
    • Especifica el tipo de máquina, la red y otras características para 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 gcloud CLI 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.

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

    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 gcloud CLI para copiar tus datos en 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.

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

Confirma la migración

Después de la migración, la instancia de notebooks administrada original sigue 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 notebooks administrados desde la que migraste, bórrala para evitar que se sigan generando cargos.

  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.

Solucionar problemas

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

¿Qué sigue?