Migrer depuis des notebooks gérés vers des instances Vertex AI Workbench

Cette page explique comment migrer d'une instance de notebooks gérés 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 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 que vous souhaitez migrer. Par exemple, l'outil de migration crée une instance dont le type de machine, le type de configuration, 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 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. Vous pouvez donc continuer à l'utiliser après la migration. Si vous n'avez plus besoin de l'instance de notebooks gérés, supprimez-la pour éviter les frais supplémentaires pour cette instance.

Facturation

Si votre instance de notebooks gérés 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 existe toujours et génère des frais comme auparavant. Si vous n'avez plus besoin de l'instance de notebooks gérés, 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 vers une instance Vertex AI Workbench avec des spécifications correspondantes. Lorsqu'une spécification de votre instance de notebooks gérés 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, 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 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 Migré ; les instances qui utilisent le mode d'accès JupyterLab à utilisateur unique doivent spécifier l'option serviceAccount
Réseau Migré ; les instances qui utilisent un cloud privé virtuel géré par Google doivent spécifier les options network et subnet
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 des options

Les sections suivantes décrivent les cas dans lesquels la spécification d'une option est nécessaire pour migrer votre instance de notebooks gérés vers une instance Vertex AI Workbench.

Instances utilisant le mode d'accès à utilisateur unique

Les instances de notebooks gérés qui utilisent le mode d'accès à utilisateur unique doivent être migrées vers une instance avec l'option serviceAccount spécifiée. L'instance Vertex AI Workbench vers laquelle vous migrez restreint l'accès à JupyterLab à un seul utilisateur, mais elle utilise un compte de service pour interagir avec les services et les API Google Cloud.

Instances utilisant un VPC géré par Google

Les instances de notebooks gérés qui utilisent un VPC géré par Google doivent être migrées vers une instance avec les options network et subnet spécifiées. L'option d'utilisation d'un VPC géré par Google n'est pas prise en charge par les instances Vertex AI Workbench. Vous devez donc spécifier un autre réseau.

Instances utilisant un script post-démarrage

Les instances de notebooks gérés 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, vous devez utiliser la Google Cloud CLI ou l'API REST.

Avant de commencer

  1. Connectez-vous à votre compte Google Cloud. Si vous débutez sur Google Cloud, créez un compte pour évaluer les performances de nos produits en conditions réelles. Les nouveaux clients bénéficient également de 300 $ de crédits gratuits pour exécuter, tester et déployer des charges de travail.
  2. Dans Google Cloud Console, sur la page de sélection du projet, sélectionnez ou créez un projet Google Cloud.

    Accéder au sélecteur de projet

  3. Vérifiez que la facturation est activée pour votre projet Google Cloud.

  4. Activez l'API Notebooks

    Activer l'API

  5. Dans Google Cloud Console, sur la page de sélection du projet, sélectionnez ou créez un projet Google Cloud.

    Accéder au sélecteur de projet

  6. Vérifiez que la facturation est activée pour votre projet Google Cloud.

  7. Activez l'API Notebooks

    Activer l'API

  8. Si vous ne l'avez pas déjà fait, créez une instance de notebooks gérés.

Rôles requis

Pour vous assurer que votre compte utilisateur dispose des autorisations nécessaires pour migrer une instance de notebooks gérés 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 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 vers une instance Vertex AI Workbench :

  • notebooks.runtimes.create
  • notebooks.runtimes.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 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 qui n'ont pas encore été migrées, utilisez la méthode projects.locations.runtimes.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, ou utilisez - pour répertorier les instances de toutes les régions.

Exécutez la commande suivante :

Linux, macOS ou 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

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, 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/runtimes?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/runtimes?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/runtimes?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.runtimes.list inclut ces informations.

Des avertissements s'affichent lorsque des composants spécifiques de la configuration de votre instance de notebooks gérés 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 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 à 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 RuntimeMigrationEligibility.

Migrer en utilisant l'outil de migration

Vous pouvez migrer votre instance de notebooks gérés à 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.

    Accéder à la page "Notebooks gérés"

  2. Cliquez sur le bouton Migrer. La page Migrer des notebooks gérés vers des instances s'ouvre.

  3. Pour migrer des instances ne nécessitant pas d'options, cliquez sur l'onglet Prêt, sélectionnez les instances à migrer, puis cliquez sur Migrer.

  4. Pour migrer des instances pour lesquelles des options doivent être spécifiées, cliquez sur l'onglet Entrée requise, sélectionnez les instances que vous souhaitez migrer, puis cliquez sur Migrer.

    1. Dans la boîte de dialogue Fournir une entrée pour la migration, spécifiez un réseau et un compte de service à utiliser pour les nouvelles instances Vertex AI Workbench que vous avez sélectionnées.

    2. Cliquez sur Envoyer.

  5. Une fois les migrations terminées, accédez à la page Instances pour voir vos nouvelles instances 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
  • RUNTIME_ID : ID de l'instance de notebooks gérés
  • NETWORK (facultatif) : réseau vers lequel vous souhaitez migrer l'instance
  • SUBNET (facultatif) : sous-réseau vers lequel vous souhaitez migrer l'instance
  • SERVICE_ACCOUNT (facultatif) : adresse e-mail du compte de service que vous souhaitez utiliser
  • 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 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

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
  • RUNTIME_ID : ID de l'instance de notebooks gérés
  • NETWORK (facultatif) : réseau vers lequel vous souhaitez migrer l'instance
  • SUBNET (facultatif) : sous-réseau vers lequel vous souhaitez migrer l'instance
  • SERVICE_ACCOUNT (facultatif) : adresse e-mail du compte de service que vous souhaitez utiliser
  • 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/runtimes/RUNTIME_ID:migrate

Corps JSON de la requête :

{
  "network": NETWORK,
  "subnet": SUBNET,
  "serviceAccount": SERVICE_ACCOUNT_EMAIL_ADDRESS,
  "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/runtimes/RUNTIME_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/runtimes/RUNTIME_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 terminal à votre instance de notebooks gérés. 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.

  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, 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 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

Si vous n'avez pas besoin de l'instance de notebooks gérés à 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.

    Accéder à la page "Notebooks gérés"

  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