Sauvegarder et restaurer des données à l'aide d'un instantané

Cette page explique comment utiliser un instantané pour sauvegarder et restaurer les données de votre instance Vertex AI Workbench.

Sauvegarder les données

Pour sauvegarder des données sur une instance Vertex AI Workbench, vous pouvez créer un instantané du disque de données de la machine virtuelle (VM) Compute Engine sous-jacente.

Vous pouvez créer un instantané du disque de données de votre instance à l'aide de la console Google Cloud , de la Google Cloud CLI ou de l'API REST :

Console

  1. Dans la console Google Cloud , accédez à la page Instances.

    Accéder à "Instances"

  2. Cliquez sur le nom de l'instance.

  3. Sur la page Détails de l'instance, cliquez sur Afficher dans Compute Engine pour ouvrir Détails de la VM.

  4. Dans la section Disques supplémentaires, cliquez sur le nom du disque de données. Le nom du disque de données est au format suivant : INSTANCE_NAME-data-workspace.

  5. Cliquez sur Create snapshot (Créer un instantané).

  6. Dans la boîte de dialogue Créer un instantané, cliquez sur Créer.

Compute Engine crée un instantané du disque de données.

gcloud

Pour créer un instantané du disque de données de votre instance, utilisez la commande gcloud compute snapshots create.

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

Exécutez la commande suivante :

Linux, macOS ou Cloud Shell

gcloud compute snapshots create SNAPSHOT_NAME \
    --source-disk-zone=SOURCE_ZONE \
    --source-disk=INSTANCE_NAME-data-workspace \
    --storage-location=STORAGE_LOCATION

Windows (PowerShell)

gcloud compute snapshots create SNAPSHOT_NAME `
    --source-disk-zone=SOURCE_ZONE `
    --source-disk=INSTANCE_NAME-data-workspace `
    --storage-location=STORAGE_LOCATION

Windows (cmd.exe)

gcloud compute snapshots create SNAPSHOT_NAME ^
    --source-disk-zone=SOURCE_ZONE ^
    --source-disk=INSTANCE_NAME-data-workspace ^
    --storage-location=STORAGE_LOCATION

REST

Pour créer un instantané du disque de données de votre instance, envoyez une requête POST à la méthode snapshots.insert de Compute Engine.

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

  • DESTINATION_PROJECT_ID : ID du projet dans lequel vous souhaitez créer l'instantané
  • SNAPSHOT_NAME : nom de votre instantané
  • SOURCE_PROJECT_ID : ID du projet dans lequel se trouve votre instance
  • SOURCE_ZONE : zone où se trouve votre instance
  • INSTANCE_NAME : nom de l'instance
  • STORAGE_LOCATION : emplacement multirégional Cloud Storage ou emplacement régional Cloud Storage dans lequel vous souhaitez stocker l'instantané. Vous ne pouvez spécifier qu'un seul emplacement de stockage.

Méthode HTTP et URL :

POST https://compute.googleapis.com/compute/v1/projects/DESTINATION_PROJECT_ID/global/snapshots

Corps JSON de la requête :

{
  "name": "SNAPSHOT_NAME",
  "sourceDisk": "projects/SOURCE_PROJECT_ID/zones/SOURCE_ZONE/disks/INSTANCE_NAME-data-workspace",
  "storageLocations": [
      "STORAGE_LOCATION"
  ],
}

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://compute.googleapis.com/compute/v1/projects/DESTINATION_PROJECT_ID/global/snapshots"

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://compute.googleapis.com/compute/v1/projects/DESTINATION_PROJECT_ID/global/snapshots" | Select-Object -Expand Content

Programmer une sauvegarde

Vous pouvez configurer un calendrier de sauvegarde pour une instance de notebook en associant une règle de ressources au disque de données.

Vous pouvez créer une instance à laquelle est associée une programmation d'instantanés à l'aide de la Google Cloud CLI ou de l'API REST :

gcloud

Pour créer une instance avec une programmation d'instantanés, utilisez la commande gcloud workbench instances create et spécifiez vos règles de ressources à l'aide de l'option --data-disk-resource-policies.

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

  • INSTANCE_NAME : nom de votre instance Vertex AI Workbench. Ce nom doit commencer par une lettre, suivie de 62 caractères (lettres minuscules, chiffres ou traits d'union (-)), et ne peut pas se terminer par un trait d'union.
  • PROJECT_ID : ID de votre projet.
  • LOCATION : zone dans laquelle vous souhaitez placer votre instance.
  • MACHINE_TYPE : type de machine de la VM de votre instance (par exemple, n2d-standard-2).
  • REGION : région où se trouve la règle de ressource
  • RESOURCE_POLICY : stratégie de ressources à appliquer au disque de données.

Exécutez la commande suivante :

Linux, macOS ou Cloud Shell

gcloud workbench instances create INSTANCE_NAME \
    --project=PROJECT_ID \
    --location=LOCATION \
    --machine-type=MACHINE_TYPE \
    --data-disk-resource-policies=projects/PROJECT_ID/regions/REGION/resourcePolicies/RESOURCE_POLICY

Windows (PowerShell)

gcloud workbench instances create INSTANCE_NAME `
    --project=PROJECT_ID `
    --location=LOCATION `
    --machine-type=MACHINE_TYPE `
    --data-disk-resource-policies=projects/PROJECT_ID/regions/REGION/resourcePolicies/RESOURCE_POLICY

Windows (cmd.exe)

gcloud workbench instances create INSTANCE_NAME ^
    --project=PROJECT_ID ^
    --location=LOCATION ^
    --machine-type=MACHINE_TYPE ^
    --data-disk-resource-policies=projects/PROJECT_ID/regions/REGION/resourcePolicies/RESOURCE_POLICY

REST

Pour créer une instance avec une planification des instantanés, utilisez la méthode projects.locations.instances.create et définissez resourcePolicies dans votre DataDisk.

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

  • PROJECT_ID : ID de votre projet
  • LOCATION : zone dans laquelle vous souhaitez placer votre instance.
  • MACHINE_TYPE : type de machine de la VM de votre instance (par exemple, n2d-standard-2).
  • REGION : région où se trouve la règle de ressource
  • RESOURCE_POLICY : stratégie de ressources à appliquer au disque de données.

Méthode HTTP et URL :

POST https://notebooks.googleapis.com/v2/projects/PROJECT_ID/locations/LOCATION/instances

Corps JSON de la requête :

{
  "gce_setup": {
    "machine_type": "MACHINE_TYPE",
    "data_disks": [
      {
        "resource_policies": [
          "projects/PROJECT_ID/regions/REGION/resourcePolicies/RESOURCE_POLICY"
        ]
      }
    ]
  }
}

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/v2/projects/PROJECT_ID/locations/LOCATION/instances"

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/v2/projects/PROJECT_ID/locations/LOCATION/instances" | Select-Object -Expand Content

Limites du planificateur de sauvegarde

Tenez compte des limites suivantes concernant les sauvegardes planifiées lorsque vous planifiez votre projet :

  • Vous devez ajouter la programmation de sauvegarde lorsque vous créez l'instance. Si votre instance a été créée sans programmation de sauvegarde, sauvegardez l'instance existante, créez-en une avec une programmation de sauvegarde, puis restaurez l'instance à l'aide de la sauvegarde.

  • Il est impossible de modifier la planification des sauvegardes sur une instance. Cela inclut l'ajout, la modification et la suppression de la programmation des sauvegardes.

Restaurer des données à partir d'un instantané

Vous pouvez restaurer des données sur une instance à l'aide d'un instantané. Lorsque vous restaurez des données sur une instance, Vertex AI Workbench supprime le disque de données existant associé à l'instance, crée un disque de données basé sur l'instantané et associe le nouveau disque de données à l'instance.

Vous pouvez restaurer des données sur une instance à l'aide de la gcloud CLI ou de l'API REST :

gcloud

Pour restaurer des données sur une instance, utilisez la commande gcloud workbench instances restore.

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

  • INSTANCE_NAME : nom de l'instance
  • LOCATION : zone où se trouve votre instance
  • SNAPSHOT_PROJECT_NAME : nom du projet dans lequel se trouve votre instantané
  • SNAPSHOT_NAME : nom de l'instantané à restaurer

Exécutez la commande suivante :

Linux, macOS ou Cloud Shell

gcloud workbench instances restore INSTANCE_NAME \
    --location=LOCATION \
    --snapshot-project=SNAPSHOT_PROJECT_NAME \
    --snapshot=SNAPSHOT_NAME

Windows (PowerShell)

gcloud workbench instances restore INSTANCE_NAME `
    --location=LOCATION `
    --snapshot-project=SNAPSHOT_PROJECT_NAME `
    --snapshot=SNAPSHOT_NAME

Windows (cmd.exe)

gcloud workbench instances restore INSTANCE_NAME ^
    --location=LOCATION ^
    --snapshot-project=SNAPSHOT_PROJECT_NAME ^
    --snapshot=SNAPSHOT_NAME

REST

Pour restaurer des données sur une instance, envoyez une requête POST à la méthode projects.locations.instances.restore.

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

  • PROJECT_ID : ID de votre projet.
  • LOCATION : zone où se trouve votre instance
  • INSTANCE_ID : ID de votre instance
  • SNAPSHOT_ID : ID de l'instantané à restaurer. Pour obtenir l'ID d'un instantané, utilisez la méthode snapshots.get de Compute Engine.
  • SNAPSHOT_PROJECT_ID : ID du projet de l'instantané

Méthode HTTP et URL :

POST https://notebooks.googleapis.com/v2/projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID:restore

Corps JSON de la requête :

{
  "snapshot": {
    {
      "snapshotId": SNAPSHOT_ID,
      "projectId": SNAPSHOT_PROJECT_ID
    }
  }
}

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/v2/projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID:restore"

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/v2/projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID:restore" | Select-Object -Expand Content

Étapes suivantes