スナップショットを使用してデータをバックアップする
このページでは、スナップショットを作成して、Vertex AI Workbench のユーザー管理ノートブック インスタンスに保存されたデータをバックアップする方法について説明します。
インスタンス上のデータはゾーンの永続ディスクに保存されます。このディスクのスナップショットを作成して使用することで、データのバックアップ、定期的なバックアップ スケジュールの作成、新しいインスタンスへのデータの復元を行うことができます。
スナップショットを作成する
ディスクが実行中のインスタンスにアタッチされている場合でも、ディスクからスナップショットを作成できます。スナップショットはグローバル リソースであるため、スナップショットを使用して同じプロジェクト内の新しいディスクまたはインスタンスにデータを復元できます。また、プロジェクト間でスナップショットを共有することもできます。
コンソール
-
Google Cloud コンソールで [VM インスタンス] ページに移動します。
VM インスタンスに移動
残りの手順は、Google Cloud コンソールに自動的に表示されます。 - VM インスタンスが含まれているプロジェクトを選択します。
- [名前] 列で、永続ディスクをバックアップする VM の名前をクリックします。
-
[
ストレージ ] で次の操作を行います。- ブートディスクをバックアップするには、[ブートディスク] セクションでブートディスクの名前をクリックします。
- アタッチされた永続ディスクをバックアップするには、[追加ディスク] で、アタッチされた永続ディスクの名前をクリックします。
-
[
スナップショットを作成 ] をクリックします。 -
[名前] に、スナップショットの目的をすぐに識別できる名前を入力します。次に例を示します。
boot-disk-snapshot
attached-persistent-disk-snapshot
-
種類 では、定期的なスナップショットがデフォルトになります。これは、長期のバックアップや障害復旧に適しています。
データの保持にかかる費用対効果を高めるには、[アーカイブ スナップショット] を選択します。
-
[ロケーション] セクションで、スナップショットの保存場所を選択します。スナップショット設定で定義されている事前定義またはカスタマイズされたデフォルトのロケーションが自動的に選択されます。必要に応じて、スナップショット設定をオーバーライドして、次の方法でカスタマイズされた保存場所にスナップショットを保存できます。
-
スナップショットを保存する保存場所の種類を選択します。
-
より高いコストで高い可用性を実現するには、[マルチリージョン] を選択します。
- より低いコストでデータの物理的な位置をより細かく制御するには、[リージョン スナップショット] を選択します。
-
より高いコストで高い可用性を実現するには、[マルチリージョン] を選択します。
-
[ロケーションを選択] フィールドで、使用する特定のリージョンまたはマルチリージョンを選択します。ソースディスクに最も近いリージョンまたはマルチリージョンを使用するには、[ディスクの場所に基づく] を選択します。
-
- 手動スナップショットを作成するには、[作成] をクリックします。
gcloud
-
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
スナップショット設定で定義された保存場所ポリシーまたは任意の別の保存場所を使用して、スナップショットを作成します。詳細については、スナップショットの保存場所を選択するをご覧ください。スナップショット名を指定する必要があります。名前は 1~63 文字で、RFC 1035 に準拠している必要があります。
スナップショット設定で構成された事前定義またはカスタマイズされたデフォルトの場所に、Persistent Disk ボリュームのスナップショットを作成するには、
gcloud compute snapshots create
コマンドを使用します。gcloud compute snapshots create SNAPSHOT_NAME \ --source-disk SOURCE_DISK \ --snapshot-type SNAPSHOT_TYPE \ --source-disk-zone SOURCE_DISK_ZONE
また、スナップショット設定をオーバーライドしてスナップショットをカスタマイズされた保存場所に作成するには、
--storage-location
フラグを指定して、スナップショットの保存先を指定します。gcloud compute snapshots create SNAPSHOT_NAME \ --source-disk SOURCE_DISK \ --source-disk-zone SOURCE_DISK_ZONE \ --storage-location STORAGE_LOCATION \ --snapshot-type SNAPSHOT_TYPE
以下を置き換えます。
- SNAPSHOT_NAME: スナップショットの名前。
- SOURCE_DISK: スナップショットを作成するゾーン Persistent Disk ボリュームの名前。
- SNAPSHOT_TYPE: スナップショットの種類(標準 または アーカイブ)。スナップショットの種類が指定されない場合は、標準 スナップショットが作成されます。データの保持にかかる費用対効果を高めるには、[アクティブ] を選択します。
- SOURCE_DISK_ZONE: スナップショットを作成するゾーン Persistent Disk ボリュームのゾーン。
- STORAGE_LOCATION: カスタマイズされた保存場所の場合、これは Cloud Storage マルチリージョンまたはスナップショットを保存する Cloud Storage リージョンです。保存場所は 1 つだけ指定できます。
--storage-location
フラグは、スナップショット設定で構成した事前定義またはカスタマイズされたデフォルトの保存場所をオーバーライドする場合にのみ使用します。
gcloud CLI は、このオペレーションに対して
READY
またはFAILED
のステータスが返されるか、最長タイムアウトに達してスナップショットの最新の既知情報が返されるまで待機します。
Terraform
ゾーン永続ディスクのスナップショットを作成するには、google_compute_snapshot
リソースを使用します。
Terraform 構成を適用または削除する方法については、基本的な Terraform コマンドをご覧ください。
API
スナップショット設定で定義された保存場所ポリシー、または任意の別の保存場所を使用して、スナップショットを作成します。詳細については、スナップショットの保存場所を選択するをご覧ください。
スナップショット設定で構成された事前定義またはカスタマイズされたデフォルトの場所にスナップショットを作成するには、
snapshots.insert
メソッドにPOST
リクエストを発行します。POST https://compute.googleapis.com/compute/v1/projects/DESTINATION_PROJECT_ID/global/snapshots { "name": SNAPSHOT_NAME "sourceDisk": "projects/SOURCE_PROJECT_ID/zones/SOURCE_ZONE/disks/SOURCE_DISK_NAME "snapshotType": SNAPSHOT_TYPE }
以下を置き換えます。
- DESTINATION_PROJECT_ID: スナップショットを作成するプロジェクトの ID。
- SNAPSHOT_NAME: スナップショットの名前。
- SOURCE_PROJECT_ID: ソースディスク プロジェクトの ID。
- SOURCE_ZONE: ソースディスクのゾーン。
- SOURCE_DISK_NAME: スナップショットを作成する永続ディスクの名前。
- SNAPSHOT_TYPE: スナップショットのタイプ(STANDARD または ARCHIVE)。スナップショットの種類が指定されていない場合は、標準 スナップショットが作成されます。
または、スナップショット設定をオーバーライドしてカスタマイズされた 保存場所にスナップショットを作成するには、
snapshots.insert
メソッドにPOST
リクエストを送信し、リクエストにstorageLocations
プロパティを含めます。POST https://compute.googleapis.com/compute/v1/projects/DESTINATION_PROJECT_ID/global/snapshots { "name": SNAPSHOT_NAME "sourceDisk": "projects/SOURCE_PROJECT_ID/zones/SOURCE_ZONE/disks/SOURCE_DISK_NAME "snapshotType": SNAPSHOT_TYPE "storageLocations": STORAGE_LOCATION }
以下を置き換えます。
- DESTINATION_PROJECT_ID: スナップショットを作成するプロジェクトの ID。
- SNAPSHOT_NAME: スナップショットの名前。
- SOURCE_PROJECT_ID: ソースディスク プロジェクトの ID。
- SOURCE_ZONE: ソースディスクのゾーン。
- SOURCE_DISK_NAME: スナップショットを作成する永続ディスクの名前。
- SNAPSHOT_TYPE: スナップショットのタイプ(STANDARD または ARCHIVE)。スナップショットの種類が指定されていない場合は、標準スナップショットが作成されます。
STORAGE_LOCATION: スナップショットを保存する Cloud Storage マルチリージョンまたは Cloud Storage リージョン。保存場所は 1 つだけ指定できます。
storageLocations
パラメータは、スナップショット設定で構成した事前定義またはカスタマイズされたデフォルトの保存場所をオーバーライドする場合にのみ使用します。
Go
Go
このサンプルを試す前に、Compute Engine クイックスタート: クライアント ライブラリの使用にある設定手順を完了してください。Compute Engine に対して認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
Java
Java
このサンプルを試す前に、Compute Engine クイックスタート: クライアント ライブラリの使用にある設定手順を完了してください。Compute Engine に対して認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
Node.js
Node.js
このサンプルを試す前に、Compute Engine クイックスタート: クライアント ライブラリの使用にある設定手順を完了してください。Compute Engine に対して認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
Python
Python
このサンプルを試す前に、Compute Engine クイックスタート: クライアント ライブラリの使用にある設定手順を完了してください。Compute Engine に対して認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
定期的なバックアップのスケジュールを設定する
スナップショット スケジュールを作成するときに、1 つ以上の永続ディスクに適用可能なリソース ポリシーを作成します。スナップショット スケジュールは次の方法で作成できます。
スナップショット スケジュールには、次のプロパティがあります。
- スケジュール名
- スケジュールの説明
- スナップショット頻度(時間、日、週単位)
- スナップショット開始時刻
- スナップショット スケジュールが利用可能なリージョン
- ソースディスク削除ポリシー(ソースディスクが削除された場合、自動生成されたスナップショットを処理するためのポリシー)
- 保持ポリシーを使用すると、スナップショット スケジュールによって生成されたスナップショットの保持期間を定義できます。
制限事項
- 永続ディスクに一度に関連付けられるスナップショット スケジュールは 10 個までです。
- スナップショット スケジュールを使用してアーカイブ スナップショットを作成することはできません。
- リージョンごとの使用中のスナップショット スケジュールを最大で 1,000 個作成できます。
- スナップショット スケジュールは、それが作成されたプロジェクトにのみ適用されます。他のプロジェクトや組織では使用できません。
- リージョンで追加のリソースが必要になった場合、コンソールからリソース割り当ての増量を申請する必要があります。
- ディスクに関連付けられているスナップショット スケジュールを削除することはできません。このようなスケジュールを削除するためには、削除する前にすべてのディスクからそのスケジュールとの関連付けを解除する必要があります。
- 既存のスナップショット スケジュールを更新して、説明、スケジュール、ラベルを変更できます。スナップショット スケジュールの他の値を更新するには、スナップショット スケジュールを削除して新しいスケジュールを作成する必要があります。
- 顧客指定の暗号鍵(CSEK)を使用する永続ディスクの場合、スナップショット スケジュールを作成することはできません。
- 顧客管理の暗号鍵(CMEK)を使用する永続ディスクの場合、スナップショット スケジュールで作成されたすべてのスナップショットは同じ鍵で自動的に暗号化されます。
スケジュールを作成する
Google Cloud コンソール、Google Cloud CLI、または Compute Engine API を使用して、永続ディスクのスナップショット スケジュールを作成します。スナップショット スケジュールは、永続ディスクが存在する同じリージョン内で作成する必要があります。たとえば、永続ディスクがゾーン us-west1-a
に存在する場合、スナップショット スケジュールは us-west1
リージョン内に存在する必要があります。詳細については、保存場所を選択するをご覧ください。
コンソール
-
Google Cloud コンソールで [VM インスタンス] ページに移動します。
[VM インスタンス] に移動
残りの手順は、Google Cloud コンソールに自動的に表示されます。 - VM インスタンスが含まれているプロジェクトを選択します。
- [名前] 列で、永続ディスクを含む VM の名前をクリックして、スナップショット スケジュールを作成します。
-
[
ストレージ ] で、ブートディスクの名前をクリックするか、スナップショット スケジュールを作成する追加ディスクの名前をクリックします。 - [編集] をクリックします。必要に応じて、 [その他の操作] メニューをクリックし、 [編集] をクリックします。
- [スナップショット スケジュール] で [スケジュールを作成] を選択します。
-
[名前] で、スナップショット スケジュールに次のいずれかの名前を入力します。
boot-disk-snapshot-schedule
attached-persistent-disk-snapshot-schedule
-
[ロケーション] セクションで、スナップショットのストレージ ロケーションを選択します。スナップショット設定で定義されている事前定義またはカスタマイズされたデフォルトのロケーションが自動的に選択されます。必要に応じて、スナップショット設定をオーバーライドして、次の方法でカスタム ストレージ ロケーションにスナップショットを保存できます。
-
スナップショットを保存するストレージ ロケーションの種類を選択します。
- より高いコストで高い可用性を実現するには、[マルチリージョン] を選択します。
- より低いコストでデータの物理的ロケーションをより細かく制御するには、[リージョン スナップショット] を選択します。
- より高いコストで高い可用性を実現するには、[マルチリージョン] を選択します。
-
[ロケーションを選択] フィールドで、使用する特定のリージョンまたはマルチリージョンを選択します。ソースディスクに最も近いリージョンまたはマルチリージョンを使用するには、[ディスクの場所に基づく] を選択します。
-
- スナップショット スケジュールの作成を終了するには、[作成] をクリックします。
- このスナップショット スケジュールを永続ディスクに適用するには、[保存] をクリックします。
gcloud
永続ディスクのスナップショット スケジュールを作成するには、gcloud
コマンドの compute resource-policies create snapshot-schedule
を使用します。スケジュール頻度を時間、日、週単位から設定します。
gcloud compute resource-policies create snapshot-schedule [SCHEDULE_NAME] \
--description "[SCHEDULE_DESCRIPTION]" \
--max-retention-days [MAX_RETENTION_DAYS] \
--start-time [START_TIME] \
--hourly-schedule [SNAPSHOT_INTERVAL] \
--daily-schedule \
--weekly-schedule [SNAPSHOT_INTERVAL] \
--weekly-schedule-from-file [FILE_NAME] \
--on-source-disk-delete [DELETION_OPTION]
ここで
[SCHEDULE_NAME]
は、新しいスナップショット スケジュールの名前です。"[SCHEDULE_DESCRIPTION]"
は、スナップショット スケジュールの説明です。引用符で説明を囲みます。[MAX_RETENTION_DAYS]
は、スナップショットを保持する日数です。たとえば、3
を設定すると、スナップショットは 3 日間保持されてから削除されます。保持ポリシーの値は、少なくとも 1 日に設定する必要があります。[START_TIME]
は UTC 開始時刻です。開始時刻は正時でなければなりません。次に例を示します。- 午後 2 時(PST)は
22:00
です。 - 開始時間を
22:13
に設定すると、エラーが発生します。
- 午後 2 時(PST)は
[SNAPSHOT_INTERVAL]
は、スナップショットを生成する間隔を定義します。時間単位のスケジュールを設定するには、1~23 の整数を使用します。24 を割り切れる数値を時間として選択してください。たとえば、--hourly-schedule
を 12 に設定すると、スナップショットは 12 時間ごとに生成されます。週単位スケジュールの場合は、スナップショットを生成する曜日を定義します。曜日を指定する必要があります。大文字と小文字は区別されません。スナップショット頻度のフラグhourly-schedule
、daily-schedule
、weekly-schedule
は相互に排他的です。スナップショット スケジュールに応じて、いずれかのフラグを選択する必要があります。[FILE_NAME]
は、週単位スナップショット スケジュールが含まれるファイルの名前です(この形式でスケジュールを指定することを選択した場合)。ファイルを使用して、曜日ごとに異なる開始時刻を設定した週単位スケジュールを指定できます(コマンドラインで直接、複数の週単位スケジュールを指定することはできません)。たとえば、ファイルには、月曜日と水曜日のスナップショット スケジュールを[{"day": "MONDAY", "startTime": "04:00"}, {"day": "WEDNESDAY", "startTime": "02:00"}]
のように指定できます。開始時刻をファイルに含める場合、--start-time
フラグを設定する必要はありません。スケジュールでは UTC 時間基準が使用されます。[DELETION_OPTION]
は、ソースディスクが削除された場合のスナップショットの処理方法を決定します。このフラグを省略してデフォルトのkeep-auto-snapshots
を選択するか、apply-retention-policy
を選択して保持ポリシーを適用します。
以下に、スナップショット スケジュールの設定の追加例を記載します。次の設定については、すべての例で共通しています。
- ディスク削除ルールが含まれています。
--on-source-disk-delete
フラグをデフォルトのkeep-auto-snapshots
に設定して、自動生成されたすべてのスナップショットを永久に保持します。あるいは、このフラグをapply-retention-policy
に設定してスナップショット保持ポリシーを使用することもできます。 - ストレージ ロケーションは
US
に設定されています。したがって、生成されたすべてのスナップショットは米国のマルチリージョン内に保存されます。 - 生成されたすべてのスナップショットに、
env=dev
とmedia=images
のラベルが適用されます。 - 保持ポリシーは 10 日に設定されています。
時間単位スケジュール: この例では、スナップショット スケジュールは 22 時(UTC)に開始し、4 時間ごとに生成されます。
gcloud compute resource-policies create snapshot-schedule SCHEDULE_NAME \
--description "MY HOURLY SNAPSHOT SCHEDULE" \
--max-retention-days 10 \
--start-time 22:00 \
--hourly-schedule 4 \
--region us-west1 \
--on-source-disk-delete keep-auto-snapshots \
--snapshot-labels env=dev,media=images \
--storage-location US
日単位スケジュール: この例では、スナップショット スケジュールは 22 時(UTC)に開始し、毎日同じ時刻に生成されます。--daily-schedule
フラグを指定する必要がありますが、ここでは値を設定していません。
gcloud compute resource-policies create snapshot-schedule SCHEDULE_NAME \
--description "MY DAILY SNAPSHOT SCHEDULE" \
--max-retention-days 10 \
--start-time 22:00 \
--daily-schedule \
--region us-west1 \
--on-source-disk-delete keep-auto-snapshots \
--snapshot-labels env=dev,media=images \
--storage-location US
週単位スケジュール: この例では、スナップショット スケジュールは 22 時(UTC)に開始し、毎週火曜日と木曜日に生成されます。
gcloud compute resource-policies create snapshot-schedule SCHEDULE_NAME \
--description "MY WEEKLY SNAPSHOT SCHEDULE" \
--max-retention-days 10 \
--start-time 22:00 \
--weekly-schedule tuesday,thursday \
--region us-west1 \
--on-source-disk-delete keep-auto-snapshots \
--snapshot-labels env=dev,media=images \
--storage-location US
API
API で、resourcePolicies.insert
に対する POST
リクエストを作成し、スナップショット スケジュールを作成します。リクエスト本文には少なくとも、スナップショット スケジュール名、リージョン内のスナップショットのストレージ ロケーション、スナップショット頻度を含める必要があります。
デフォルトの onSourceDiskDelete
パラメータは keepAutoSnapshots
に設定されています。つまり、ソースディスクが削除されても、自動生成されたそのディスクのスナップショットは無期限に保持されます。あるいは、このフラグを applyRetentionPolicy
に設定して保持ポリシーを適用することもできます。
次の例では、毎日 12 時(UTC)に開始される日単位スナップショット スケジュールを設定しています。この例では、5 日の保持ポリシーも設定されています。したがって、スナップショットは生成されてから 5 日後に自動的に削除されます。
スナップショットが指定のロケーションに確実に保存されるよう、リクエスト本文にスナップショット ロケーション オプションとスナップショット ラベルを含めることもできます。
POST https://compute.googleapis.com/compute/v1/projects/[PROJECT_ID]/regions/[REGION]/resourcePolicies
{
"name": "[SCHEDULE_NAME]",
"description": "[SCHEDULE_DESCRIPTION]",
"snapshotSchedulePolicy": {
"schedule": {
"dailySchedule": {
"startTime": "12:00",
"daysInCycle": "1"
}
},
"retentionPolicy": {
"maxRetentionDays": "5"
},
"snapshotProperties": {
"guestFlush": "False",
"labels": {
"env": "dev",
"media": "images"
},
"storageLocations": ["US"]
}
}
}
ここで
[PROJECT_ID]
は、プロジェクト名です。[REGION]
は、スナップショット スケジュール リソース ポリシーのロケーションです。[SCHEDULE_DESCRIPTION]
は、スナップショット スケジュールの説明です。[SCHEDULE_NAME]
は、スナップショット スケジュールの名前です。
週単位または月単位スケジュールも同じようにして作成できます。週単位または月単位スケジュールの設定に固有の詳細については、API リファレンスをご覧ください。
たとえば次のリクエストでは、月曜日の 9 時と木曜日の 2 時に実行される週単位スケジュールを作成しています。
POST https://compute.googleapis.com/compute/v1/projects/[PROJECT_ID]/regions/[REGION]/resourcePolicies
{
"name": "[SCHEDULE_NAME]",
"description": "[SCHEDULE_DESCRIPTION]",
"snapshotSchedulePolicy": {
"schedule": {
"weeklySchedule": {
"dayOfWeeks": [
{
"day": "Monday",
"startTime": "9:00"
},
{
"day": "Thursday",
"startTime": "2:00"
}
]
}
},
"retentionPolicy": {
"maxRetentionDays": "5"
},
"snapshotProperties": {
"guestFlush": "False",
"labels": {
"production": "webserver"
},
"storageLocations": ["US"]
}
}
}
スナップショット スケジュールをディスクに関連付ける
スケジュールを作成したら、それを既存のディスクに関連付けます。コンソール、gcloud
コマンド、Compute Engine API メソッドのいずれかを使用できます。
Console
スナップショット スケジュールを既存のディスクに関連付けます。
- Google Cloud コンソールで、[ディスク] ページに移動します。
- スナップショット スケジュールを関連付けるディスクの名前を選択します。[ディスクの管理] ページが開きます。
- [ディスクの管理] ページで、その他の操作メニュー にカーソルを合わせてクリックし、編集アイコン を選択します。
- [スナップショット スケジュール] プルダウン メニューを使用して、スケジュールをディスクに追加します。または、新しいスケジュールを作成します。
- 新しいスケジュールを作成した場合は、[作成] をクリックします。
- [保存] をクリックしてタスクを完了します。
gcloud
スナップショット スケジュールをディスクにアタッチするには、gcloud
コマンドの disks add-resource-policies
を使用します。
gcloud compute disks add-resource-policies [DISK_NAME] \
--resource-policies [SCHEDULE_NAME] \
--zone [ZONE]
ここで
[DISK_NAME]
は、既存のディスクの名前です。[SCHEDULE_NAME]
は、スナップショット スケジュールの名前です。[ZONE]
は、ディスクのロケーションです。
API
API で、disks.addResourcePolicies
に対する POST
リクエストを作成し、スナップショット スケジュールを既存のディスクにアタッチします。
POST https://compute.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/[ZONE]/disks/[DISK_NAME]/addResourcePolicies
{
"resourcePolicies": [
"regions/[REGION]/resourcePolicies/[SCHEDULE_NAME]"
]
}
ここで
[PROJECT_ID]
は、プロジェクト名です。[ZONE]
は、ディスクのロケーションです。[REGION]
は、スナップショット スケジュールのロケーションです。[DISK_NAME]
は、ディスクの名前です。[SCHEDULE_NAME]
は、このディスクに適用しているリージョン内のスナップショット スケジュールの名前です。
スナップショットからデータを復元する
スナップショットを使用してブートディスクや非ブートディスクをバックアップした場合は、スナップショットに基づいて新しいディスクを作成できます。
制限事項
- 新しいディスクは、少なくともスナップショットの元のソースディスクと同じサイズか、それ以上である必要があります。スナップショットの元のソースディスクよりも大きいディスクを作成する場合は、その永続ディスクでファイル システムのサイズを変更して、追加のディスク スペースを含める必要があります。オペレーティング システムおよびファイルシステムの種類によっては、異なるファイルシステム サイズ変更ツールの使用が必要になることがあります。詳細については、オペレーティング システムのドキュメントをご覧ください。
スナップショットからディスクを作成して VM にアタッチする
コンソール
Google Cloud コンソールで、[スナップショット] ページに移動します。
復元するスナップショットの名前を探します。
[ディスク] ページに移動します。
[新しいディスクの作成] をクリックします。
次の構成パラメータを指定します。
- ディスクの名前。
- ディスクの種類。
- 必要に応じて、デフォルトのリージョンとゾーンの選択をオーバーライドできます。ソース スナップショットのストレージ ロケーションに関係なく、任意のリージョンとゾーンを選択できます。
[ソースタイプ] で、[スナップショット] をクリックします。
復元するスナップショットの名前を選択します。
新しいディスクのサイズ(ギガバイト単位)を選択します。この数は、スナップショットの元のソースディスク以上である必要があります。
[作成] をクリックしてディスクを作成します。
新しいディスクを既存のインスタンスにアタッチできます。
- [VM インスタンス] ページに移動します。
- ブートディスク以外のディスクを復元する先となるインスタンスの名前をクリックします。
- インスタンス詳細ページの一番上で [編集] をクリックします。
- [追加ディスク] で [既存のディスクを接続] をクリックします。
- スナップショットから作成された新しいディスクの名前を選択します。
- [完了] をクリックしてディスクをアタッチします。
- インスタンスの詳細ページの一番下にある [保存] をクリックして、変更内容をインスタンスに適用します。
gcloud
gcloud compute snapshots list
コマンドを使用して、復元するスナップショットの名前を確認します。gcloud compute snapshots list
gcloud compute snapshots describe
コマンドを使用して、復元するスナップショットのサイズを確認します。gcloud compute snapshots describe SNAPSHOT_NAME
SNAPSHOT_NAME は、復元するスナップショットの名前に置き換えます。
gcloud compute disks create
コマンドを使用して、スナップショットから新しいリージョン ディスクまたはゾーンディスクを作成します。スループットや IOPS を上げるために SSD 永続ディスクが必要な場合は、--type
フラグでpd-ssd
を指定します。gcloud compute disks create DISK_NAME \ --size=DISK_SIZE \ --source-snapshot=SNAPSHOT_NAME \ --type=DISK_TYPE
次のように置き換えます。
- DISK_NAME: 新しいディスクの名前。
- DISK_SIZE: 新しいディスクのサイズ(ギガバイト単位)。この数は、スナップショットの元のソースディスク以上である必要があります。
- SNAPSHOT_NAME: 復元するスナップショットの名前。
- DISK_TYPE: ディスクのタイプの完全な URL または部分的な URL。例:
https://www.googleapis.com/compute/v1/projects/PROJECT_ID /zones/ZONE/diskTypes/pd-ssd
gcloud compute instances attach-disk
コマンドを使用して、新しいディスクを既存のインスタンスにアタッチします。gcloud compute instances attach-disk INSTANCE_NAME \ --disk DISK_NAME
次のように置き換えます。
- INSTANCE_NAME はインスタンス名です。
- DISK_NAME は、スナップショットから作成されたディスクの名前です。
API
snapshots.list
へのGET
リクエストを作成して、プロジェクト内のスナップショットを一覧表示します。GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/snapshots
PROJECT_ID は、実際のプロジェクト ID に置き換えます。
POST
リクエストを作成して、disks.insert
メソッドでゾーンディスクを作成します。name
、sizeGb
、type
プロパティを含めます。スナップショットを使用してディスクを復元するには、sourceSnapshot
プロパティを含める必要があります。POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/disks { "name": "DISK_NAME", "sizeGb": "DISK_SIZE", "type": "zones/ZONE/diskTypes/DISK_TYPE" "sourceSnapshot": "SNAPSHOT_NAME" }
次のように置き換えます。
- PROJECT_ID: 実際のプロジェクト ID。
- ZONE: インスタンスと新しいディスクが配置されるゾーン。
- DISK_NAME: 新しいディスクの名前。
- DISK_SIZE: 新しいディスクのサイズ(ギガバイト単位)。この数は、スナップショットの元のソースディスク以上である必要があります。
- DISK_TYPE: ディスクのタイプの完全な URL または部分的な URL。例:
https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ ZONE/diskTypes/pd-ssd
。 - SNAPSHOT_NAME は、復元するディスクのソース スナップショットです。
instances.attachDisk
メソッドに対するPOST
リクエストを作成し、スナップショットから作成したディスクへの URL を含めることで、新しいディスクを既存のインスタンスにアタッチできます。POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/attachDisk { "source": "/compute/v1/projects/PROJECT_ID/zones/ZONE/disks/DISK_NAME" }
次のように置き換えます。
- PROJECT_ID はプロジェクト ID です。
- ZONE は、インスタンスと新しいディスクが配置されるゾーンです。
- INSTANCE_NAME は、新しいディスクを追加するインスタンスの名前です。
- DISK_NAME は、新しいディスクの名前です。
Go
Go
このサンプルを試す前に、Vertex AI クイックスタート: クライアント ライブラリの使用にある Go の設定手順を完了してください。詳細については、Vertex AI Go API のリファレンス ドキュメントをご覧ください。
Vertex AI に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
Java
Java
このサンプルを試す前に、Vertex AI クイックスタート: クライアント ライブラリの使用にある Java の設定手順を完了してください。詳細については、Vertex AI Java API のリファレンス ドキュメントをご覧ください。
Vertex AI に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
Node.js
Node.js
このサンプルを試す前に、Vertex AI クイックスタート: クライアント ライブラリの使用にある Node.js の設定手順を完了してください。詳細については、Vertex AI Node.js API のリファレンス ドキュメントをご覧ください。
Vertex AI に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
Python
Python
Python をインストールまたは更新する方法については、Vertex AI SDK for Python をインストールするをご覧ください。詳細については、Python API リファレンス ドキュメントをご覧ください。
ディスクをマウントする
ターミナルで、
lsblk
コマンドを使用してインスタンスに接続されているディスクを一覧表示し、マウントするディスクを探します。$ sudo lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 10G 0 disk └─sda1 8:1 0 10G 0 part / sdb 8:16 0 250G 0 disk
この例では、
sdb
が新しい空の永続ディスクのデバイス名です。mount ツールを使用してインスタンスにディスクをマウントし、
discard
オプションを有効にします。$ sudo mount -o discard,defaults /dev/DEVICE_NAME /home/jupyter
次のように置き換えます。
DEVICE_NAME
: マウントするディスクのデバイス名。
ディスクに読み取り権限と書き込み権限を構成します。この例では、ディスクへの書き込みアクセス権をすべてのユーザーに付与します。
$ sudo chmod a+w /home/jupyter
次のステップ
- ノートブックを GitHub に保存する方法を確認する。
- スナップショットの作成について学習する。
- スナップショットのスケジュール設定について学習する。