スナップショットを使用してデータをバックアップおよび復元する
このページでは、スナップショットを使用して Vertex AI Workbench インスタンスのデータをバックアップおよび復元する方法について説明します。
データをバックアップする
Vertex AI Workbench インスタンスのデータをバックアップするには、基盤となる Compute Engine 仮想マシン(VM)データディスクのスナップショットを取得します。
インスタンスのデータディスクのスナップショットを作成するには、 Google Cloud コンソール、Google Cloud CLI、または REST API を使用します。
コンソール
Google Cloud コンソールで、[インスタンス] ページに移動します。
インスタンス名をクリックします。
[インスタンスの詳細] ページで [Compute Engine で表示] をクリックして、[VM の詳細] を開きます。
[追加ディスク] セクションで、データディスクの名前をクリックします。データディスクの名前の形式は
INSTANCE_NAME-data-workspace
です。[スナップショットを作成] をクリックします。
[スナップショットの作成] ダイアログで、[作成] をクリックします。
Compute Engine がデータディスクのスナップショットを作成します。
gcloud
インスタンスのデータディスクのスナップショットを作成するには、gcloud compute snapshots create
コマンドを使用します。
後述のコマンドデータを使用する前に、次のように置き換えます。
SNAPSHOT_NAME
: スナップショットの名前SOURCE_ZONE
: インスタンスが配置されているゾーンINSTANCE_NAME
: インスタンスの名前-
STORAGE_LOCATION
: スナップショットを保存する Cloud Storage マルチリージョンまたは Cloud Storage リージョン。保存場所は 1 つだけ指定できます。
次のコマンドを実行します。
Linux、macOS、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
インスタンスのデータディスクのスナップショットを作成するには、Compute Engine の snapshots.insert
メソッドに POST
リクエストを送信します。
リクエストのデータを使用する前に、次のように置き換えます。
-
DESTINATION_PROJECT_ID
: スナップショットを作成するプロジェクトの ID SNAPSHOT_NAME
: スナップショットの名前-
SOURCE_PROJECT_ID
: インスタンスが配置されているプロジェクトの ID SOURCE_ZONE
: インスタンスが配置されているゾーンINSTANCE_NAME
: インスタンスの名前-
STORAGE_LOCATION
: スナップショットを保存する Cloud Storage マルチリージョンまたは Cloud Storage リージョン。保存場所は 1 つだけ指定できます。
HTTP メソッドと URL:
POST https://compute.googleapis.com/compute/v1/projects/DESTINATION_PROJECT_ID/global/snapshots
リクエストの本文(JSON):
{ "name": "SNAPSHOT_NAME", "sourceDisk": "projects/SOURCE_PROJECT_ID/zones/SOURCE_ZONE/disks/INSTANCE_NAME-data-workspace", "storageLocations": [ "STORAGE_LOCATION" ], }
リクエストを送信するには、次のいずれかのオプションを選択します。
curl
リクエスト本文を request.json
という名前のファイルに保存して、次のコマンドを実行します。
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
リクエスト本文を request.json
という名前のファイルに保存して、次のコマンドを実行します。
$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
スナップショットからデータを復元する
スナップショットを使用して、インスタンスのデータを復元できます。インスタンスのデータを復元すると、Vertex AI Workbench はインスタンスにアタッチされている既存のデータディスクを削除し、スナップショットに基づいて新しいデータディスクを作成して、新しいデータディスクをインスタンスにアタッチします。
インスタンスのデータを復元するには、gcloud CLI または REST API を使用します。
gcloud
インスタンスのデータを復元するには、gcloud workbench instances restore
コマンドを使用します。
後述のコマンドデータを使用する前に、次のように置き換えます。
INSTANCE_NAME
: インスタンスの名前LOCATION
: インスタンスが配置されているゾーン-
SNAPSHOT_PROJECT_NAME
: スナップショットが配置されているプロジェクト名 SNAPSHOT_NAME
: 復元するスナップショットの名前
次のコマンドを実行します。
Linux、macOS、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
インスタンスのデータを復元するには、projects.locations.instances.restore
メソッドに POST
リクエストを送信します。
リクエストのデータを使用する前に、次のように置き換えます。
PROJECT_ID
: 実際のプロジェクト ID。LOCATION
: インスタンスが配置されているゾーンINSTANCE_ID
: インスタンスの ID-
SNAPSHOT_ID
: 復元するスナップショットの ID。スナップショットの ID を取得するには、Compute Engine の snapshots.get メソッドを使用します。 SNAPSHOT_PROJECT_ID
: スナップショットのプロジェクト ID
HTTP メソッドと URL:
POST https://notebooks.googleapis.com/v2/projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID:restore
リクエストの本文(JSON):
{ "snapshot": { { "snapshotId": SNAPSHOT_ID, "projectId": SNAPSHOT_PROJECT_ID } } }
リクエストを送信するには、次のいずれかのオプションを選択します。
curl
リクエスト本文を request.json
という名前のファイルに保存して、次のコマンドを実行します。
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
リクエスト本文を request.json
という名前のファイルに保存して、次のコマンドを実行します。
$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