このドキュメントでは、インスタント スナップショットを作成および管理する方法について説明します。インスタント スナップショットはディスクの内容をキャプチャし、これを使用して数分で新しいディスクを作成できます。
インスタント スナップショットは、ソースディスクと同じゾーンまたはリージョンに保存され、標準スナップショットに代わるものではなく、障害復旧用のオフサイト バックアップを提供するものです。Compute Engine で使用できるその他のデータ保護オプションについてご確認ください。
インスタント スナップショットのデータにアクセスするには、インスタント スナップショットを使用して新しいディスクを作成します。
インスタント スナップショットを別の場所にコピーする場合や、ソースディスクが削除された後にスナップショット データを保持する場合は、インスタント スナップショットから標準スナップショットを作成します。
始める前に
- インスタント スナップショットの制限事項を確認して、ユースケースにインスタント スナップショットが適していることを確認します。
-
まだ設定していない場合は、認証を設定します。認証とは、Google Cloud サービスと API にアクセスするために ID を確認するプロセスです。ローカル開発環境からコードまたはサンプルを実行するには、次のように Compute Engine に対する認証を行います。
Select the tab for how you plan to use the samples on this page:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloud
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
- Compute インスタンス管理者(v1)(
roles/compute.instanceAdmin.v1
) - サービス アカウントとして実行できる VM に接続する: サービス アカウント ユーザー(v1)(
roles/iam.serviceAccountUser
) -
インスタント スナップショットを作成する:
compute.instantSnapshots.create
-
インスタント スナップショットを表示する:
compute.instantSnapshots.list
-
インスタント スナップショットの詳細を表示する:
compute.instantSnapshots.get
-
インスタント スナップショットを削除する:
compute.instantSnapshots.delete
Google Cloud コンソールで [VM インスタンス] ページに移動します。
作業するプロジェクトを選択します。
[名前] 列で、バックアップするディスクにアタッチされている VM の名前をクリックします。
[ストレージ] セクションで、次のいずれかの方法でディスクを選択します。
- VM のブートディスクをバックアップするには、[ブートディスク] セクションでブートディスクの名前をクリックします。
- アタッチされた Persistent Disk ボリュームをバックアップするには、[追加ディスク] セクションで、アタッチする Persistent Disk ボリュームの名前をクリックします。
インスタント スナップショットの作成を完了するには、[スナップショットの作成] ページで、次の操作を行います。
- [名前] フィールドに、インスタント スナップショットを識別する一意の名前を入力します。
- 省略可: [説明] フィールドにスナップショットの詳細を追加します。
- [タイプ] フィールドで、[インスタント スナップショット] を選択します。[ロケーション] フィールドは自動的にディスクと同じゾーンまたはリージョンに設定されます。
- [スナップショット ソースの種類] フィールドで、[ディスク] が選択されていることを確認します。
- 省略可: プロジェクトを整理するには、1 つ以上のラベルを追加します。
- [作成] をクリックします。
INSTANT_SNAPSHOT_NAME
: インスタント スナップショットの一意の名前。SOURCE_DISK_NAME
: ソースディスクの名前。SOURCE_DISK_ZONE
: ソースディスクのゾーン。インスタント スナップショットは同じゾーンに作成されます。INSTANT_SNAPSHOT_NAME
: インスタント スナップショットの一意の名前。SOURCE_DISK_NAME
: ソースディスクの名前。SOURCE_DISK_REGION
: ソースディスクのリージョン。インスタント スナップショットは同じリージョンに作成されます。ゾーンディスクのインスタント スナップショットを作成します。
POST
リクエストの URL でゾーンを指定します。リクエストの本文で、新しいスナップショットの名前とソースディスクの URL を指定します。POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/DISK_ZONE/instantSnapshots { "name": "INSTANT_SNAPSHOT_NAME", "sourceDisk": "projects/PROJECT_ID/zones/DISK_ZONE/disks/SOURCE_DISK_NAME" }
以下を対応する値に置き換えます。
PROJECT_ID
: ディスクを含むプロジェクトの名前。DISK_ZONE
: ディスクが配置されているゾーン。インスタント スナップショットはこのゾーンに作成されます。INSTANT_SNAPSHOT_NAME
: インスタント スナップショットの一意の名前。SOURCE_DISK_NAME
: ソースディスクの名前。
リージョン ディスクのインスタント スナップショットを作成します。
POST
リクエストの URL でリージョンを指定します。リクエストの本文に、新しいスナップショットの名前とソースディスクを含めます。POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/DISK_REGION/instantSnapshots { "name": "INSTANT_SNAPSHOT_NAME", "sourceDisk": "projects/PROJECT_ID/regions/DISK_REGION/disks/SOURCE_DISK_NAME" }
リクエスト本文の次の部分を対応する値に置き換えます。
PROJECT_ID
: ディスクを含むプロジェクトの名前。DISK_REGION
: ソースディスクが配置されるリージョン。スナップショットは同じリージョンに作成されます。INSTANT_SNAPSHOT_NAME
: スナップショットの一意の名前。SOURCE_DISK_NAME
: ソースディスクの名前。
Google Cloud コンソールで、[スナップショット] ページに移動します。
[インスタント スナップショット] タブをクリックします。インスタント スナップショットのリストが表示されます。
省略可: [filter_listフィルタ] フィールドを使用して、結果を絞り込みます。[filter_listフィルタ] フィールドにプロパティ名または値を入力するか、使用可能なプロパティから選択します。
特定のプロジェクト内のすべての即時スナップショットを一覧表示します。
gcloud compute instant-snapshots list --project=PROJECT_ID
PROJECT_ID
は、プロジェクトの ID に置き換えます。--zones
引数を使用して、ゾーン内の即時スナップショットを一覧表示します。gcloud compute instant-snapshots list --zones=ZONE
ZONE
は、ターゲット ゾーンの名前に置き換えます。--regions
引数を使用して、リージョンのインスタント スナップショットを一覧表示します。gcloud compute instant-snapshots list --regions=REGION
REGION
は、ターゲット リージョンの名前に置き換えます。プロジェクト内のスナップショットを一覧表示します。
instantSnapshots.aggregatedList メソッドに
GET
リクエストを行います。GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/aggregated/instantSnapshots
PROJECT_ID
は、プロジェクトの ID に置き換えます。ゾーンまたはリージョン内の即時スナップショットを一覧表示します。
instantSnapshots.list メソッドに
GET
リクエストを行います。ゾーン内のインスタント スナップショットを一覧表示します。
GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/SOURCE_ZONE//instantSnapshots
次のように置き換えます。
PROJECT_ID
: プロジェクトの ID。SOURCE_ZONE
: ターゲット ゾーン。例:us-west1-a
リージョン内のリージョン インスタント スナップショットを一覧表示します。
GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/SOURCE_REGION/instantSnapshots
次のように置き換えます。
PROJECT_ID
: プロジェクトの ID。SOURCE_REGION
: ターゲット リージョン。例:us-west1
Google Cloud コンソールで、[スナップショット] ページに移動します。
[インスタント スナップショット] タブをクリックします。プロジェクト内のすべての即時スナップショットのリストが表示されます。
ソースディスクで結果を絞り込みます。
[filter_list フィルタ] フィールドに「
Source disk:
」と入力します。インスタント スナップショットがあるディスクのリストが表示されます。
[値] リストからディスクの名前を選択します。即時スナップショットのリストには、ディスクのすべての即時スナップショットが表示されます。
ディスク名が表示されない場合は、[filter_list フィルタ] フィールドに、ディスク名の最初の数文字を入力して、表示されるフィルタ オプションのリストを変更します。
gcloud compute instant-snapshots list
コマンドと--filter
引数を使用して、ディスクの即時スナップショットを一覧表示します。ゾーンディスクの即時スナップショットを一覧表示します。
gcloud compute instant-snapshots list \ --filter="sourceDisk:projects/PROJECT_ID/zones/ZONE/disks/DISK_NAME
次のように置き換えます。
PROJECT_ID
: プロジェクトの ID。ZONE
: ディスクのゾーン名(例:us-west1-a
)。DISK_NAME
: ソースディスクの名前(例:disk-1
)。
リージョン ディスクの即時スナップショットを一覧表示します。
gcloud compute instant-snapshots list \ --filter=sourceDisk:projects/PROJECT_ID/regions/SOURCE_REGION/disks/DISK_NAME
次のように置き換えます。
PROJECT_ID
: プロジェクトの ID。SOURCE_REGION
: ディスクのリージョン名(例:us-west1
)。DISK_NAME
: ディスクの名前(例:disk-1
)。
ゾーン Persistent Disk ボリュームの即時スナップショットを一覧表示します。
GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/SOURCE_ZONE/instantSnapshots?filter=sourceDisk:'https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/SOURCE_ZONE/disks/DISK_NAME'
次のように置き換えます。
PROJECT_ID
: プロジェクトの ID。SOURCE_ZONE
: ターゲット ゾーン(例:us-west1-a
)。DISK_NAME
: ソースディスクの名前(例:disk-1
)。
リージョン Persistent Disk ボリュームのインスタント スナップショットを一覧表示します。
GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/SOURCE_REGION/instantSnapshots?filter=sourceDisk:'https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/SOURCE_REGION/disks/DISK_NAME'
次のように置き換えます。
PROJECT_ID
: プロジェクトの ID。SOURCE_REGION
: ターゲット リージョン(例:us-west1
)。DISK_NAME
: ソースディスクの名前(例:disk-1
)。
Google Cloud コンソールで、[スナップショット] ページに移動します。
[インスタント スナップショット] タブをクリックします。インスタント スナップショットのリストが表示されます。
[名前] 列で、インスタント スナップショットの名前をクリックします。選択したスナップショットの [インスタント スナップショットの詳細] ページが開き、そのプロパティが表示されます。
インスタント スナップショットに関する情報を表示するには、
gcloud compute instant-snapshots describe
コマンドを使用します。スナップショットがゾーンディスクの場合は、
--zone
フラグを使用してゾーンを指定します。gcloud compute instant-snapshots describe INSTANT_SNAPSHOT_NAME \ --zone=ZONE
以下を対応する値に置き換えます。
INSTANT_SNAPSHOT_NAME
: インスタント スナップショットの名前。ZONE
: インスタント スナップショットが作成されたゾーン。例:us-west1-a
スナップショットがリージョン ディスクの場合は、
--region
フラグを使用してリージョンを指定します。gcloud compute instant-snapshots describe INSTANT_SNAPSHOT_NAME \ --region=REGION
以下を対応する値に置き換えます。
INSTANT_SNAPSHOT_NAME
: インスタント スナップショットの名前。REGION
: スナップショットが作成されたリージョン(例:us-central1
)。
PROJECT_ID
: インスタント スナップショットを含むプロジェクトの名前。ZONE
: インスタント スナップショットが作成されたゾーン。INSTANT_SNAPSHOT_NAME
: インスタント スナップショットの名前。PROJECT_ID
: インスタント スナップショットを含むプロジェクトの名前。REGION
: インスタント スナップショットが作成されたリージョン。INSTANT_SNAPSHOT_NAME
: インスタント スナップショットの名前。Google Cloud コンソールで、[スナップショット] ページに移動します。
[インスタント スナップショット] タブをクリックします。
削除するスナップショットを 1 つ以上選択します。
[スナップショット] ページの上部の [削除] をクリックします。
ゾーンディスクのインスタント スナップショットを削除します。
gcloud compute instant-snapshots delete INSTANT_SNAPSHOT_NAME \ --zone=ZONE
以下を対応する値に置き換えます。
ZONE
: ゾーンの名前。INSTANT_SNAPSHOT_NAME
: インスタント スナップショットの名前。
リージョン ディスクのインスタント スナップショットを削除します。
gcloud compute instant-snapshots delete INSTANT_SNAPSHOT_NAME \ --region=REGION
次のように置き換えます。
REGION
: リージョンの名前。INSTANT_SNAPSHOT_NAME
: インスタント スナップショットの名前。
ゾーンディスクのインスタント スナップショットを削除します。
DELETE https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instantSnapshots/INSTANT_SNAPSHOT_NAME
以下を対応する値に置き換えます。
PROJECT_ID
: プロジェクトの ID。ZONE
: ゾーンの名前。INSTANT_SNAPSHOT_NAME
: インスタント スナップショットの名前。
リージョン ディスクのインスタント スナップショットを削除します。
DELETE https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instantSnapshots/INSTANT_SNAPSHOT_NAME
以下を対応する値に置き換えます。
PROJECT_ID
: プロジェクトの ID。REGION
: リージョンの名前。INSTANT_SNAPSHOT_NAME
: インスタント スナップショットの名前。
REST
このページの REST API サンプルをローカル開発環境で使用するには、gcloud CLI に指定した認証情報を使用します。
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
詳細については、Google Cloud 認証ドキュメントの REST を使用して認証するをご覧ください。
必要なロールと権限
インスタント スナップショットの作成に必要な権限を取得するには、プロジェクトに対する次の IAM ロールを付与するよう管理者に依頼してください。
ロールの付与の詳細については、アクセス権の管理をご覧ください。
これらの事前定義ロールには、インスタント スナップショットの作成に必要な権限が含まれています。必要とされる正確な権限については、「必要な権限」セクションを開いてご確認ください。
必要な権限
インスタント スナップショットを作成するには、次の権限が必要です。
カスタムロールや他の事前定義ロールを使用して、これらの権限を取得することもできます。
Persistent Disk ボリュームのインスタント スナップショットを作成する
ゾーンディスクのインスタント スナップショットは、ソースディスクと同じゾーンに保存されます。同様に、リージョン ディスクの即時スナップショットは、ディスクと同じリージョンに保存されます。
gcloud CLI、Google Cloud コンソール、または REST を使用して、ゾーンまたはリージョン Persistent Disk ボリュームのインスタント スナップショットを作成できます。
コンソール
gcloud
インスタント スナップショットを作成するには、
gcloud compute instant-snapshots create
コマンドを使用します。ゾーンディスク
ゾーンディスクのインスタント スナップショットを作成するには:
gcloud compute instant-snapshots create INSTANT_SNAPSHOT_NAME \ --source-disk=SOURCE_DISK_NAME \ --zone=SOURCE_DISK_ZONE
次のように置き換えます。
リージョン ディスク
リージョン ディスクのインスタント スナップショットを作成するには:
gcloud compute instant-snapshots create INSTANT_SNAPSHOT_NAME \ --source-disk=SOURCE_DISK_NAME \ --region=SOURCE_DISK_REGION
次のように置き換えます。
REST
インスタント スナップショットを作成するには、instantSnapshots.insert メソッドに
POST
リクエストを行います。リクエスト レスポンス
POST
リクエストが成功すると、レスポンス本文は、ポーリングして即時スナップショットの作成ステータスを取得できるオブジェクトになります。詳しくは、API レスポンスの処理をご覧ください。新しい Persistent Disk ボリュームにインスタント スナップショットを復元する
インスタント スナップショットでバックアップされたデータを復元するには、インスタント スナップショットから新しいディスクを作成します。
プロジェクトまたはロケーションでインスタント スナップショットを表示する
gcloud CLI、Google Cloud コンソール、または REST を使用して、プロジェクトまたはロケーション内のすべてのインスタント スナップショットのリストを表示できます。
コンソール
gcloud
特定のプロジェクトまたはロケーションの即時スナップショットを一覧表示するには、
gcloud compute instant-snapshots list
コマンドを使用します。プロジェクト内のすべてのスナップショット、またはゾーンまたはリージョン内のスナップショットを一覧表示します。
REST
特定のプロジェクトまたはロケーションの即時スナップショットのリストを取得できます。
ディスクのインスタント スナップショットを表示する
ディスクのインスタント スナップショットのリストを表示するには、gcloud CLI、Google Cloud コンソール、または REST を使用します。
コンソール
gcloud
REST
instantSnapshots.list メソッドに
GET
リクエストを行って、ゾーンディスクまたはリージョン ディスクの即時スナップショットを一覧表示します。filter=sourceDisk
クエリ パラメータを使用して、ディスクの名前を指定します。インスタント スナップショットに関する情報を表示する
ロケーション、ソースディスク、サイズなど、インスタント スナップショットに関する詳細情報を取得するには、gcloud CLI、Google Cloud コンソール、または REST を使用します。
コンソール
gcloud
REST
使用する API メソッドのリクエストは、リージョンとゾーンのどちらのインスタント スナップショットを使用するかによって異なります。
ゾーンのインスタント スナップショット
リクエストでゾーンを指定して、instantSnapshots.get メソッドに
GET
リクエストを行います。GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instantSnapshots/INSTANT_SNAPSHOT_NAME
以下を対応する値に置き換えます。
リージョンのインスタント スナップショット
リクエストでリージョンを指定して、instantSnapshots.get メソッドに
GET
リクエストを行います。GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instantSnapshots/INSTANT_SNAPSHOT_NAME
以下を対応する値に置き換えます。
インスタント スナップショットの削除
インスタント スナップショットを削除するには、gcloud CLI、Google Cloud コンソール、または REST を使用します。
コンソール
gcloud
インスタント スナップショットを削除するには、ソースゾーンまたはソース リージョンを指定して
gcloud compute instant-snapshots delete
コマンドを使用します。REST
instantSnapshots.delete メソッドに対する
DELETE
リクエストを使用してインスタント スナップショットを削除します。インスタント スナップショットのストレージ ロケーションを変更する
インスタント スナップショットは、常にソースディスクと同じロケーションに保存されます。別のゾーンまたはリージョンからインスタント スナップショットにアクセスできるようにすることはできません。代わりに、インスタント スナップショットから標準スナップショットを作成し、標準スナップショットを使用できます。
インスタント スナップショットから標準スナップショットを作成する方法をご確認ください。
トラブルシューティング
インスタント スナップショットの使用で発生した問題を解決するには、インスタント スナップショットのトラブルシューティングをご覧ください。
特に記載のない限り、このページのコンテンツはクリエイティブ・コモンズの表示 4.0 ライセンスにより使用許諾されます。コードサンプルは Apache 2.0 ライセンスにより使用許諾されます。詳しくは、Google Developers サイトのポリシーをご覧ください。Java は Oracle および関連会社の登録商標です。
最終更新日 2024-11-19 UTC。
-