Daten mit einem Snapshot sichern und wiederherstellen

Auf dieser Seite wird beschrieben, wie Sie mit einem Snapshot die Daten auf Ihrer Vertex AI Workbench-Instanz sichern und wiederherstellen.

Daten sichern

Wenn Sie Daten auf einer Vertex AI Workbench-Instanz sichern möchten, können Sie einen Snapshot des zugrunde liegenden Compute Engine-VM-Datenträgers erstellen.

Sie können einen Snapshot des Datenlaufwerks Ihrer Instanz mit der Google Cloud Console, der Google Cloud CLI oder der REST API erstellen:

Console

  1. Rufen Sie in der Google Cloud Console die Seite Instanzen auf.

    Zur Seite „VM-Instanzen“

  2. Klicken Sie auf den Instanznamen.

  3. Klicken Sie auf der Seite Instanzdetails auf In Compute Engine ansehen, um die VM-Details zu öffnen.

  4. Klicken Sie im Bereich Zusätzliche Laufwerke auf den Namen des Datenlaufwerks. Der Name des Datenlaufwerks hat folgendes Format:INSTANCE_NAME-data-workspace.

  5. Klicken Sie auf Snapshot erstellen.

  6. Klicken Sie im Dialogfeld Snapshot erstellen auf Erstellen.

Compute Engine erstellt einen Snapshot des Datenlaufwerks.

gcloud

Verwenden Sie zum Erstellen eines Snapshots des Datenlaufwerks Ihrer Instanz den Befehl gcloud compute snapshots create.

Ersetzen Sie folgende Werte, bevor sie einen der Befehlsdaten verwenden:

  • SNAPSHOT_NAME: ein Name für den Snapshot
  • SOURCE_ZONE: Zone, in der sich Ihre Instanz befindet.
  • INSTANCE_NAME: durch den Namen der Instanz
  • STORAGE_LOCATION: Der multiregionale Cloud Storage-Speicherort oder die Cloud Storage-Region, in der Sie den Snapshot speichern möchten. Sie können nur einen Speicherort angeben.

Führen Sie folgenden Befehl aus:

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

Wenn Sie einen Snapshot des Datenlaufwerks Ihrer Instanz erstellen möchten, senden Sie eine POST-Anfrage an die Methode snapshots.insert von Compute Engine.

Ersetzen Sie diese Werte in den folgenden Anfragedaten:

  • DESTINATION_PROJECT_ID: die ID des Projekts, in dem Sie den Snapshot erstellen möchten
  • SNAPSHOT_NAME: ein Name für den Snapshot
  • SOURCE_PROJECT_ID: die ID des Projekts, in dem sich die Instanz befindet.
  • SOURCE_ZONE: Zone, in der sich Ihre Instanz befindet.
  • INSTANCE_NAME: durch den Namen der Instanz
  • STORAGE_LOCATION: Der multiregionale Cloud Storage-Speicherort oder die Cloud Storage-Region, in der Sie den Snapshot speichern möchten. Sie können nur einen Speicherort angeben.

HTTP-Methode und URL:

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

JSON-Text der Anfrage:

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

Wenn Sie die Anfrage senden möchten, wählen Sie eine der folgenden Optionen aus:

curl

Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json und führen Sie den folgenden Befehl aus:

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

Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json und führen Sie den folgenden Befehl aus:

$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

Sicherung planen

Für eine Workbench-Instanz kann ein Sicherungszeitplan konfiguriert werden, indem eine Ressourcenrichtlinie für das Datenlaufwerk angehängt wird.

Sie können eine Instanz mit einem angehängten Snapshot-Zeitplan mit der Google Cloud CLI oder der REST API erstellen:

gcloud

Verwenden Sie zum Erstellen einer Instanz mit einem Snapshot-Zeitplan den Befehl gcloud workbench instances create und geben Sie Ihre Ressourcenrichtlinien mit dem Flag --data-disk-resource-policies an.

Ersetzen Sie folgende Werte, bevor sie einen der Befehlsdaten verwenden:

  • INSTANCE_NAME: der Name Ihrer Vertex AI Workbench-Instanz; muss mit einem Buchstaben beginnen, gefolgt von bis zu 62 Kleinbuchstaben, Ziffern oder Bindestrichen (-) und darf nicht mit einem Bindestrich enden
  • PROJECT_ID: Ihre Projekt-ID.
  • LOCATION: die Zone, in der sich Ihre Instanz befinden soll
  • MACHINE_TYPE: Der Maschinentyp der VM-Instanz, z. B. n2d-standard-2.
  • REGION: die Region, in der sich die Ressourcenrichtlinie befindet
  • RESOURCE_POLICY: Die Ressourcenrichtlinie, die auf das Datenlaufwerk angewendet werden soll.

Führen Sie folgenden Befehl aus:

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

Wenn Sie eine Instanz mit einem Snapshot-Zeitplan erstellen möchten, verwenden Sie die Methode projects.locations.instances.create und legen Sie resourcePolicies in Ihrem DataDisk fest.

Ersetzen Sie diese Werte in den folgenden Anfragedaten:

  • PROJECT_ID: Ihre Projekt-ID.
  • LOCATION: die Zone, in der sich Ihre Instanz befinden soll
  • MACHINE_TYPE: Der Maschinentyp der VM-Instanz, z. B. n2d-standard-2.
  • REGION: die Region, in der sich die Ressourcenrichtlinie befindet
  • RESOURCE_POLICY: Die Ressourcenrichtlinie, die auf das Datenlaufwerk angewendet werden soll.

HTTP-Methode und URL:

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

JSON-Text der Anfrage:

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

Wenn Sie die Anfrage senden möchten, wählen Sie eine der folgenden Optionen aus:

curl

Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json und führen Sie den folgenden Befehl aus:

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

Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json und führen Sie den folgenden Befehl aus:

$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

Einschränkungen des Sicherungsplaners

Beachten Sie beim Planen Ihres Projekts die folgenden Einschränkungen für geplante Sicherungen:

  • Sie müssen den Sicherungszeitplan beim Erstellen der Instanz hinzufügen. Wenn Ihre Instanz ohne Sicherungszeitplan erstellt wurde, sichern Sie die vorhandene Instanz, erstellen Sie eine neue Instanz mit einem Sicherungszeitplan und stellen Sie die Instanz mithilfe der Sicherung wieder her.

  • Der Sicherungszeitplan einer Instanz kann nicht geändert werden. Dazu gehört das Hinzufügen, Aktualisieren und Entfernen des Sicherungszeitplans.

Daten aus einem Snapshot wiederherstellen

Sie können Daten auf einer Instanz mithilfe eines Snapshots wiederherstellen. Wenn Sie Daten auf einer Instanz wiederherstellen, löscht Vertex AI Workbench das vorhandene Datenträger, das an die Instanz angehängt ist, erstellt ein neues Datenträger basierend auf dem Snapshot und hängt das neue Datenträger an die Instanz an.

Sie können Daten auf einer Instanz mit der gcloud CLI oder der REST API wiederherstellen:

gcloud

Verwenden Sie den Befehl gcloud workbench instances restore, um Daten auf einer Instanz wiederherzustellen.

Ersetzen Sie folgende Werte, bevor sie einen der Befehlsdaten verwenden:

  • INSTANCE_NAME: durch den Namen der Instanz
  • LOCATION: Zone, in der sich Ihre Instanz befindet.
  • SNAPSHOT_PROJECT_NAME: der Projektname, in dem sich der Snapshot befindet
  • SNAPSHOT_NAME: der Name des wiederherzustellenden Snapshots

Führen Sie folgenden Befehl aus:

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

Wenn Sie Daten in einer Instanz wiederherstellen möchten, stellen Sie eine POST-Anfrage an die Methode projects.locations.instances.restore.

Ersetzen Sie diese Werte in den folgenden Anfragedaten:

  • PROJECT_ID: Ihre Projekt-ID.
  • LOCATION: Zone, in der sich Ihre Instanz befindet.
  • INSTANCE_ID: die ID Ihrer Instanz
  • SNAPSHOT_ID: die ID des Snapshots, der wiederhergestellt werden soll. Verwenden Sie die Compute Engine-Methode snapshots.get, um die ID eines Snapshots abzurufen.
  • SNAPSHOT_PROJECT_ID: die Projekt-ID des Snapshots.

HTTP-Methode und URL:

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

JSON-Text der Anfrage:

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

Wenn Sie die Anfrage senden möchten, wählen Sie eine der folgenden Optionen aus:

curl

Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json und führen Sie den folgenden Befehl aus:

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

Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json und führen Sie den folgenden Befehl aus:

$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

Nächste Schritte