Migrer des notebooks gérés par l'utilisateur vers des instances Vertex AI Workbench

Cette page explique comment migrer d'une instance de notebooks gérés par l'utilisateur vers une instance Vertex AI Workbench. Vous pouvez migrer à l'aide de l'outil de migration Vertex AI Workbench ou migrer les données et les fichiers de votre instance manuellement.

Présentation de l'outil de migration

Vertex AI Workbench fournit un outil de migration pour migrer d'une instance de notebooks gérés par l'utilisateur vers une instance Vertex AI Workbench.

L'outil de migration crée une instance Vertex AI Workbench avec une configuration semblable à l'instance de notebooks gérés par l'utilisateur que vous souhaitez migrer. Par exemple, l'outil de migration crée une instance dont le type de machine, la configuration réseau, les paramètres d'arrêt en cas d'inactivité et les autres spécifications sont identiques ou similaires. Les fichiers sur le disque de données de votre instance de notebooks gérés par l'utilisateur sont ensuite copiés sur l'instance Vertex AI Workbench.

Vertex AI Workbench ne supprime ni ne modifie votre instance de notebooks gérés par l'utilisateur. Vous pouvez donc continuer à l'utiliser après la migration. Si vous n'avez plus besoin de l'instance de notebooks gérés par l'utilisateur, supprimez-la afin d'éviter des frais supplémentaires pour cette instance.

Facturation

Si votre instance de notebooks gérés par l'utilisateur utilise des disques Persistent Disk Extreme, votre migration génère des frais pour les opérations d'E/S. Consultez la section "IOPS extrêmes provisionnées" dans la section Tarifs des disques Persistent Disk et Hyperdisk de la page "Tarifs des disques".

Après la migration, l'instance de notebooks gérés par l'utilisateur existe toujours et génère des frais comme auparavant. Si vous n'avez plus besoin de l'instance de notebooks gérés par l'utilisateur, supprimez-la afin d'éviter des frais supplémentaires pour cette instance.

Comportements de l'outil de migration par défaut

L'outil de migration Vertex AI Workbench tente de migrer votre instance de notebooks gérés par l'utilisateur vers une instance Vertex AI Workbench avec des spécifications correspondantes. Lorsqu'une spécification de votre instance de notebooks gérés par l'utilisateur n'est pas disponible dans les instances Vertex AI Workbench, Vertex AI Workbench utilise une spécification par défaut lorsque cela est possible. Lorsque l'outil de migration ne peut pas migrer une spécification de votre instance de notebooks gérés par l'utilisateur, il ne migre pas l'instance.

Le tableau suivant répertorie certains des comportements de migration par défaut clés de l'outil de migration.

Catégorie Spécification des notebooks gérés par l'utilisateur Résultat de la migration
OS Toute version d'Ubuntu Debian 11
Toute version de Debian Debian 11
Framework Toute version de CUDA CUDA 11.3
Toute version de Python Python 3.10
Toute version de PyTorch PyTorch 1.13
Toute version de TensorFlow TensorFlow 2.11
Toute version de R Non migré ; voir Ajouter un environnement Conda
Toute version locale de PySpark Non migré ; voir Ajouter un environnement Conda
Toute version de XGBoost Non migré ; voir Ajouter un environnement Conda
Toute version de Kaggle Python Non migré ; voir Ajouter un environnement Conda
Toute version de Jax Non migré ; voir Ajouter un environnement Conda
Toute version d'Apache Beam Non migré ; voir Ajouter un environnement Conda
Type de machine Un type de machine compatible Type de machine identique
Un type de machine non compatible e2-standard-4
Accélérateurs Accélérateurs compatibles Accélérateurs identiques
Accélérateurs non compatibles La migration n'inclut pas les accélérateurs
Paramètre Arrêt en cas d'inactivité Migration effectuée
Déplacer vers la corbeille Migration effectuée
nbconvert Migration effectuée
Téléchargement de fichiers Migration effectuée
Accès au terminal Migration effectuée
Autre Autorisations Identity and Access Management Migré, bien que de nouvelles autorisations puissent être nécessaires pour utiliser l'instance Vertex AI Workbench
Mode d'accès Migration effectuée
Réseau Migration effectuée
Script consécutif au démarrage Lorsque vous utilisez la console Google Cloud, l'instance est migrée sans le script post-démarrage. Pour migrer l'instance avec le script post-démarrage, utilisez la Google Cloud CLI ou l'API REST afin de spécifier l'option PostStartupScriptOption.
Dataproc Hub Non migré ; vous devez migrer manuellement.

Spécifier le script post-démarrage

Les instances de notebooks gérés par l'utilisateur qui utilisent un script post-démarrage doivent être migrées vers une instance avec l'option PostStartupScriptOption spécifiée. Utilisez cette option pour indiquer si vous souhaitez ignorer ou réexécuter le script post-démarrage dans votre nouvelle instance Vertex AI Workbench.

La spécification de l'option PostStartupScriptOption n'est pas acceptée dans la console Google Cloud. Pour spécifier l'option PostStartupScriptOption lorsque vous migrez votre instance de notebooks gérés par l'utilisateur, vous devez utiliser Google Cloud CLI ou l'API REST.

Avant de commencer

  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. Si vous ne l'avez pas déjà fait, créez une instance de notebooks gérés par l'utilisateur.

Rôles requis

Pour vous assurer que votre compte utilisateur dispose des autorisations nécessaires pour migrer une instance de notebooks gérés par l'utilisateur vers une instance Vertex AI Workbench, demandez à votre administrateur d'accorder à votre compte utilisateur le rôle IAM "Exécuteur de notebooks" (roles/notebooks.runner) sur le projet. Pour en savoir plus sur l'attribution de rôles, consultez la section Gérer les accès.

Ce rôle prédéfini contient les autorisations requises pour migrer une instance de notebooks gérés par l'utilisateur vers une instance Vertex AI Workbench. Pour connaître les autorisations exactes requises, développez la section Autorisations requises :

Autorisations requises

Les autorisations suivantes sont requises pour migrer une instance de notebooks gérés par l'utilisateur vers une instance Vertex AI Workbench :

  • notebooks.instances.create
  • notebooks.instances.get

Votre administrateur peut également attribuer ces autorisations au compte utilisateur avec des rôles personnalisés ou d'autres rôles prédéfinis.

Vérification préalable à la migration

Avant de migrer, vérifiez l'éligibilité à la migration de votre instance de notebooks gérés par l'utilisateur en répertoriant vos instances et en vérifiant les avertissements ou erreurs de migration.

Répertorier vos instances

Pour répertorier les instances de notebooks gérés par les utilisateurs qui n'ont pas encore été migrées, utilisez la méthode projects.locations.instances.list avec le filtre migrated:false. Vous pouvez également les répertorier à l'aide de la gcloud CLI ou de l'API REST :

gcloud

Avant d'utiliser les données de la commande ci-dessous, effectuez les remplacements suivants :

  • PROJECT_ID : ID de votre projet
  • LOCATION : région où se trouve votre instance de notebooks gérés par l'utilisateur, ou utilisez - pour répertorier les instances de toutes les régions.

Exécutez la commande suivante :

Linux, macOS ou Cloud Shell

gcloud notebooks instances list --project=PROJECT_ID \
    --location=LOCATION --filter=migrated:false --format=default

Windows (PowerShell)

gcloud notebooks instances list --project=PROJECT_ID `
    --location=LOCATION --filter=migrated:false --format=default

Windows (cmd.exe)

gcloud notebooks instances list --project=PROJECT_ID ^
    --location=LOCATION --filter=migrated:false --format=default

REST

Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :

  • PROJECT_ID : ID de votre projet
  • LOCATION : région où se trouve votre instance de notebooks gérés par l'utilisateur, ou utilisez - pour répertorier les instances de toutes les régions.

Méthode HTTP et URL :

GET https://notebooks.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/instances?filter=migrated:false

Pour envoyer votre requête, choisissez l'une des options suivantes :

curl

Exécutez la commande suivante :

curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://notebooks.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/instances?filter=migrated:false"

PowerShell

Exécutez la commande suivante :

$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/instances?filter=migrated:false" | Select-Object -Expand Content

Vérifier les avertissements ou erreurs dans la sortie

Si des avertissements ou des erreurs de migration sont détectés, le résultat de la méthode projects.locations.instances.list inclut ces informations.

Des avertissements s'affichent lorsque des composants spécifiques de la configuration de votre instance de notebooks gérés par l'utilisateur ne migrent pas vers la même spécification dans une instance Vertex AI Workbench. Par exemple, si votre instance de notebooks gérés par l'utilisateur utilise un accélérateur non compatible, un avertissement s'affiche dans la sortie. Dans ce cas, l'instance est migrée sans accélérateur. Vous pouvez associer des accélérateurs après la migration. Examinez les avertissements dans la sortie, prenez en compte les comportements par défaut de l'outil de migration et déterminez si cet outil est acceptable pour votre migration.

Si la sortie contient une ou plusieurs erreurs, vous ne pouvez pas migrer l'instance de notebooks gérés par l'utilisateur à l'aide de l'outil de migration. Vous devez migrer l'instance manuellement.

Pour en savoir plus sur les avertissements et les erreurs de migration, consultez les sections Avertissements et Erreurs dans la documentation InstanceMigrationEligibility.

Migrer en utilisant l'outil de migration

Vous pouvez migrer votre instance de notebooks gérés par l'utilisateur à l'aide de la console Google Cloud, de gcloud CLI ou de l'API REST.

Console

  1. Dans Google Cloud Console, accédez à la page Notebooks gérés par l'utilisateur.

    Accéder à la page Notebooks gérés par l'utilisateur

  2. Cliquez sur le bouton Migrer.

  3. Sur la page Migrer des notebooks gérés par l'utilisateur vers des instances, dans l'onglet Prêt, sélectionnez l'instance que vous souhaitez migrer.

  4. Cliquez sur Transférer.

  5. Une fois la migration terminée, accédez à la page Instances pour voir votre nouvelle instance Vertex AI Workbench.

    Accéder à la page "Instances"

gcloud

Avant d'utiliser les données de la commande ci-dessous, effectuez les remplacements suivants :

  • PROJECT_ID : ID de votre projet
  • LOCATION : région où se trouve votre instance de notebooks gérés par l'utilisateur
  • INSTANCE_ID : ID de l'instance de notebooks gérés par l'utilisateur
  • POST_STARTUP_SCRIPT_OPTION (facultatif) : l'une des options de script post-démarrage

Exécutez la commande suivante :

Linux, macOS ou Cloud Shell

gcloud notebooks instances migrate RUNTIME_ID \
    --project=PROJECT_ID \
    --location=LOCATION \
    --post-startup-script-option=POST_STARTUP_SCRIPT_OPTION

Windows (PowerShell)

gcloud notebooks instances migrate RUNTIME_ID `
    --project=PROJECT_ID `
    --location=LOCATION `
    --post-startup-script-option=POST_STARTUP_SCRIPT_OPTION

Windows (cmd.exe)

gcloud notebooks instances migrate RUNTIME_ID ^
    --project=PROJECT_ID ^
    --location=LOCATION ^
    --post-startup-script-option=POST_STARTUP_SCRIPT_OPTION

REST

Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :

  • PROJECT_ID : ID de votre projet
  • LOCATION : région où se trouve votre instance de notebooks gérés par l'utilisateur
  • INSTANCE_ID : ID de l'instance de notebooks gérés par l'utilisateur
  • POST_STARTUP_SCRIPT_OPTION (facultatif) : l'une des options de script post-démarrage

Méthode HTTP et URL :

POST https://notebooks.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID:migrate

Corps JSON de la requête :

{
  "postStartupScriptOption": (POST_STARTUP_SCRIPT_OPTION)
}

Pour envoyer votre requête, choisissez l'une des options suivantes :

curl

Enregistrez le corps de la requête dans un fichier nommé request.json, puis exécutez la commande suivante :

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/instances/INSTANCE_ID:migrate"

PowerShell

Enregistrez le corps de la requête dans un fichier nommé request.json, puis exécutez la commande suivante :

$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/instances/INSTANCE_ID:migrate" | Select-Object -Expand Content

Migrer manuellement

Pour migrer manuellement votre instance vers une instance Vertex AI Workbench, envisagez d'utiliser les méthodes suivantes :

  • Utiliser Cloud Storage et le terminal : copiez vos données et vos fichiers dans Cloud Storage, puis sur une autre instance à l'aide du terminal.

  • Utiliser GitHub : copiez vos données et vos fichiers dans un dépôt GitHub en utilisant l'extension Git pour JupyterLab.

Ce guide explique comment migrer des données et des fichiers à l'aide de Cloud Storage et du terminal.

Conditions requises

Vous devez disposer d'un accès au terminal de votre instance de notebooks gérés par l'utilisateur. L'accès au terminal est défini manuellement lorsque vous créez une instance. Le paramètre d'accès au terminal ne peut pas être modifié une fois l'instance créée.

Migrer manuellement à l'aide de Cloud Storage et du terminal

Pour migrer des données et des fichiers vers une nouvelle instance Vertex AI Workbench à l'aide de Cloud Storage et du terminal, procédez comme suit :

  1. Créez un bucket Cloud Storage dans le projet où se trouve votre instance de notebooks gérés par l'utilisateur.

  2. Dans ce même projet, créez une instance Vertex AI Workbench vers laquelle migrer vos données. Lorsque vous créez cette instance :

    • Activez l'accès au terminal.
    • Spécifiez le type de machine, le réseau et les autres caractéristiques en fonction de vos besoins.
  3. Dans l'interface JupyterLab de votre instance de notebooks gérés par l'utilisateur, sélectionnez Fichier > Nouveau > Terminal pour ouvrir une fenêtre de terminal.

  4. Utilisez gsutil tool pour copier vos données utilisateur dans un bucket Cloud Storage. L'exemple de commande suivant copie tous les fichiers du répertoire /home/jupyter/ de votre instance dans un répertoire situé dans un bucket Cloud Storage.

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

    Remplacez les éléments suivants :

    • BUCKET_NAME : nom de votre bucket Cloud Storage
    • PATH : chemin d'accès au répertoire dans lequel vous souhaitez copier vos fichiers (par exemple : /copy/jupyter/)
  5. Dans l'interface JupyterLab de votre nouvelle instance Vertex AI Workbench, sélectionnez Fichier > Nouveau > Terminal pour ouvrir une fenêtre de terminal.

  6. Utilisez gsutil tool pour copier vos données sur la nouvelle instance. L'exemple de commande suivant copie tous les fichiers d'un répertoire Cloud Storage vers le répertoire /home/jupyter/ de votre nouvelle instance.

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

Confirmer la migration

Après la migration, l'instance de notebooks gérés par l'utilisateur d'origine continue de fonctionner comme auparavant. Vérifiez que la migration a réussi avant de supprimer l'instance d'origine.

Supprimer l'instance de notebooks gérés par l'utilisateur

Si vous n'avez pas besoin de l'instance de notebooks gérés par l'utilisateur à partir de laquelle vous avez migré, supprimez-la pour éviter des frais supplémentaires pour cette instance.

  1. Dans Google Cloud Console, accédez à la page Notebooks gérés par l'utilisateur.

    Accéder à la page Notebooks gérés par l'utilisateur

  2. Sélectionnez l'instance que vous souhaitez supprimer.

  3. Cliquez sur  Supprimer. (Selon la taille de votre fenêtre, le bouton Supprimer peut se trouver dans le menu d'options .)

  4. Pour confirmer l'opération, cliquez sur Supprimer.

Résoudre les problèmes

Pour connaître les méthodes de diagnostic et de résolution des problèmes de migration, consultez la page Résoudre les problèmes liés à Vertex AI Workbench.

Étapes suivantes