復元可能なスナップショット(ゴミ箱にある削除された標準スナップショット)が完全に消去されないようにするには、保持期間が切れる前にゴミ箱からスナップショットを復元します。スナップショットを復元すると、新しいディスクの作成に使用できる標準スナップショットになります。
このドキュメントでは、復元可能なスナップショットを一覧表示、復元、削除する方法について説明します。
ごみ箱の詳細については、削除したリソースをごみ箱に保持するをご覧ください。
始める前に
-
まだ設定していない場合は、認証を設定します。認証では、 Cloud de Confiance by S3NS サービスと API にアクセスするための ID が確認されます。ローカル開発環境からコードまたはサンプルを実行するには、次のいずれかのオプションを選択して Compute Engine に対する認証を行います。
このページのサンプルをどのように使うかに応じて、タブを選択してください。
コンソール
Cloud de Confiance コンソールを使用して Cloud de Confiance by S3NS サービスと API にアクセスする場合、認証を設定する必要はありません。
gcloud
-
Google Cloud CLI をインストールし、 フェデレーション ID を使用して gcloud CLI にログインします。ログイン後、次のコマンドを実行して Google Cloud CLI を初期化します。
gcloud init
-
- デフォルトのリージョンとゾーンを設定します。
REST
このページの REST API サンプルをローカル開発環境で使用するには、gcloud CLI に指定した認証情報を使用します。
Google Cloud CLI をインストールし、 フェデレーション ID を使用して gcloud CLI にログインします。
詳細については、 Cloud de Confiance 認証ドキュメントの REST を使用して認証するをご覧ください。
必要なロールと権限
復元可能なスナップショットの管理に必要な権限を取得するには、プロジェクトに対する次の IAM ロールを付与するよう管理者に依頼してください。
- Compute インスタンス管理者 (
roles/compute.instanceAdmin) -
サービス アカウントとして実行できる VM に接続する: サービス アカウント ユーザー(v1) (
roles/iam.serviceAccountUser)
ロールの付与については、プロジェクト、フォルダ、組織へのアクセス権の管理をご覧ください。
これらの事前定義ロールには、復元可能なスナップショットの管理に必要な権限が含まれています。必要とされる正確な権限については、「必要な権限」セクションを開いてご確認ください。
必要な権限
復元可能なスナップショットを管理するには、次の権限が必要です。
-
復元可能なスナップショットを復元する: スナップショットに対する
compute.recoverableSnapshots.recover -
復元可能なスナップショットに関する情報を表示する: スナップショットに対する
compute.recoverableSnapshots.get -
復元可能なスナップショットを完全に削除する: スナップショットに対する
compute.recoverableSnapshots.delete -
プロジェクト内の復元可能なスナップショットを一覧表示する: プロジェクトに対する
compute.recoverableSnapshots.list
カスタムロールや他の事前定義ロールを使用して、これらの権限を取得することもできます。
制限事項
- サポートされているリソース: 標準スナップショットのみがサポートされています。アーカイブ スナップショット、インスタント スナップショット、ディスク、イメージは、削除するとすぐに完全に消去されます。
- 名前の競合: 同じ名前の標準スナップショットがすでに存在し、復元されたスナップショットの新しい名前を指定しない場合、スナップショットの復元は失敗します。このようなスナップショットを復元するには、Google Cloud CLI または REST を使用して新しい名前を指定する必要があります。
- タグの永続性: スナップショットが削除される前にスナップショットに関連付けられたタグは、スナップショットがゴミ箱から復元されても保持されません。ごみ箱から復元したスナップショットにタグを再度追加する必要があります。
- 保持ポリシーの変更: ごみ箱の保持ポリシーの変更は、既存の復元可能なスナップショット(ごみ箱にある既存の削除済み標準スナップショット)には適用されません。
- スケジュールされたスナップショット: 元々スケジュールで作成されたスナップショットを復元すると、スナップショットはスケジュールの一部ではなくなり、スケジュールで指定された期間が経過しても自動的に削除されません。代わりに、Compute Engine はスナップショットを手動で削除するまで無期限に保持します。
- 顧客管理の暗号鍵(CMEK): 回復可能なスナップショットを保護する CMEK を取り消してからスナップショットを復元した場合、鍵を復元するまで、復元したスナップショットを使用してディスクを作成することはできません。保持期間が終了する前にスナップショットを復元しないと、Compute Engine はスナップショットを完全に削除します。
- 使用前に復元が必要: 復元可能なスナップショットは読み取り専用です。復元可能なスナップショットを使用してディスクを作成するには、まず標準スナップショットをゴミ箱から復元する必要があります。
復元可能なスナップショットを一覧表示する
プロジェクト内の復元可能なスナップショットを表示するには、 Cloud de Confiance コンソール、gcloud CLI、または REST を使用します。
Cloud de Confiance コンソール
Cloud de Confiance コンソールで、[スナップショット] ページに移動します。
[ゴミ箱] をクリックします。
[削除されたスナップショット] タブをクリックします。復元可能なスナップショットのリストが表示されます。
各列には、復元可能なスナップショットの詳細が次のように表示されます。
- 名前: 復元可能なスナップショットの名前。
- 元のスナップショット名: 元の標準スナップショットの名前。
- スナップショットの削除時刻: 元の標準スナップショットが削除された時刻。
- 完全削除時間: Compute Engine が復元可能なスナップショットを完全に削除する将来の時刻。
gcloud CLI
プロジェクトのごみ箱にあるすべてのスナップショットを一覧表示するには、gcloud beta compute recoverable-snapshots list コマンドを使用します。復元可能な各スナップショットに関する追加情報を含めるには、--format フラグを使用します。
たとえば、次のコマンドは、プロジェクト内の復元可能な各スナップショットを一覧表示し、復元可能な各スナップショットの詳細を表示します。
gcloud beta compute recoverable-snapshots list \ --project=PROJECT_ID \ --format="yaml(name, creationTimestamp, purgeTimestamp, originalResource)"
PROJECT_ID は、プロジェクトの ID に置き換えます。
出力は、プロジェクト内の復元可能なスナップショットのリストです。次のようになります。
creationTimestamp: '2026-09-01T11:13:50.716-07:00'
name: data-disk-snapshot-20260805-qlb6lyqw
purgeTimestamp: '2026-09-06T11:13:50.609-07:00'
originalResource:
...
name: data-disk-snapshot-20260805
...
sourceDisk: projects/my-project/global/disks/data-disk
---
creationTimestamp: '2026-09-01T12:13:50.229-07:00'
name: disk-snapshot-20260901191347-s0c24h1m
purgeTimestamp: '2026-09-06T12:13:50.070-07:00'
originalResource:
...
name: disk-snapshot-20260901191347
...
sourceDisk: projects/my-project/global/disks/my-disk
---
出力には、復元可能な各スナップショットの次の主要なプロパティが一覧表示されます。
name: 復元可能なスナップショットの名前。スナップショットを復元するには、gcloud CLI または REST を使用する場合、この名前を指定する必要があります。creationTimestamp: 元の標準スナップショットが削除された時刻。purgeTimestamp: Compute Engine が復元可能なスナップショットを完全に削除する将来の時刻。originalResource: 元のスナップショットの詳細(名前やソースディスクなど)を含むオブジェクト。
REST
recoverableSnapshots list メソッドに対して GET リクエストを作成します。
GET https://compute.s3nsapis.fr/compute/beta/projects/PROJECT_ID/global/recoverableSnapshots/
PROJECT_ID は、プロジェクトの ID に置き換えます。
JSON レスポンスの本文には、次のように、プロジェクト内の復元可能なスナップショットのリストが含まれます。
{
"kind": "compute#recoverableSnapshotList",
"id": "projects/PROJECT_ID/global/recoverableSnapshots/",
"items": [
{
"name": "prod-test-snapshot-20260905053732-uj731vz4",
"creationTimestamp": "2026-09-05T22:37:34.164-07:00",
"purgeTimestamp": "2026-09-12T22:37:32.918-07:00",
...
"originalResource": {
"id": "3004584137782651782",
"creationTimestamp": "2025-10-05T22:36:41.868-07:00",
"name": "prod-test-snapshot"
...
}
},
{
"kind": "compute#recoverableSnapshot",
"id": "8914891425536994162",
"name": "my-test-snapshot-20260906053732-uj731vz5",
"creationTimestamp": "2026-09-05T22:37:34.164-07:00",
"purgeTimestamp": "2026-09-12T22:37:32.918-07:00",
...
"originalResource": {
"id": "39904584137782651782",
"creationTimestamp": "2026-08-05T22:36:41.868-07:00",
"name": "my-test-snapshot"
...
}
}
]
}
出力には、復元可能な各スナップショットの次の主要なプロパティが一覧表示されます。
name: 復元可能なスナップショットの名前。スナップショットを復元するには、gcloud CLI または REST を使用する場合、この名前を指定する必要があります。creationTimestamp: 元の標準スナップショットが削除された時刻。purgeTimestamp: Compute Engine が復元可能なスナップショットを完全に削除する将来の時刻。originalResource: 元のスナップショットの詳細(名前やソースディスクなど)を含むオブジェクト。
元のスナップショットの名前で復元可能なスナップショットを見つける
復元可能なスナップショットを見つけて復元するには、元のスナップショットの名前を使用します。復元可能なスナップショットには、元のスナップショットを削除したときに Compute Engine が生成する一意の名前が付けられます。
復元可能なスナップショットの名前を確認するには、復元可能なスナップショットを一覧表示し、元のスナップショット名でフィルタします。
Cloud de Confiance コンソール、gcloud CLI、または REST を使用できます。
Cloud de Confiance コンソール
Cloud de Confiance コンソールで、[スナップショット] ページに移動します。
[ゴミ箱] をクリックします。
[削除されたスナップショット] タブをクリックします。復元可能なスナップショットのリストが表示されます。
[filter_list フィルタ] フィールドで、[プロパティ名または値を入力] をクリックします。プロパティのリストから [元のスナップショット名] を選択します。
[値] フィールドに元のスナップショット名を入力し、Enter キーを押します。
Cloud de Confiance コンソールには、入力した名前と一致する名前の元のスナップショットを持つ、復元可能なスナップショットのリストが表示されます。
gcloud CLI
復元可能なスナップショットを元のスナップショット名で検索するには、gcloud beta compute recoverable-snapshots list コマンドを使用します。元のスナップショット名でフィルタするには、originalResource.name プロパティの --filter フラグを使用します。
gcloud beta compute recoverable-snapshots list \ --project=PROJECT_ID \ --filter="originalResource.name:ORIGINAL_SNAPSHOT_NAME" \ --format="yaml(name, creationTimestamp, purgeTimestamp)"
以下を対応する値に置き換えます。
PROJECT_ID: プロジェクトの ID。ORIGINAL_SNAPSHOT_NAME: スナップショットの元の名前。
出力は、入力した元のスナップショット名と一致する名前の元のスナップショットを持つ、復元可能なスナップショットのリストです。次のようになります。
creationTimestamp: '2026-09-01T11:13:50.716-07:00'
name: disk-20260805-09550-us-central1-a-202-20260901181348-qlb6lyqw
purgeTimestamp: '2026-09-06T11:13:50.609-07:00'
---
creationTimestamp: '2026-09-01T12:13:50.229-07:00'
name: disk-20260805-09550-us-central1-a-202-20260901191347-s0c24h1m
purgeTimestamp: '2026-09-06T12:13:50.070-07:00'
---
creationTimestamp: '2026-09-01T13:13:51.060-07:00'
name: disk-20260805-09550-us-central1-a-202-20260901201348-ogybudsu
purgeTimestamp: '2026-09-06T13:13:50.904-07:00'
元のスナップショットの作成時間または削除時間でフィルタするには、--filter 式を拡張します。
- 元のスナップショットの作成時刻でフィルタリングするには、
--filter式にoriginalResource.creationTimestampの条件を追加します。たとえば、特定の時刻以降に作成された元のスナップショットの復元可能なスナップショットを見つけるには:
--filter="originalResource.creationTimestamp >= 'CREATION_FILTER_TIMESTAMP' AND originalResource.name:ORIGINAL_SNAPSHOT_NAME"
次のように置き換えます。
ORIGINAL_SNAPSHOT_NAME: 元のスナップショットの名前。CREATION_FILTER_TIMESTAMP: フィルタのタイムスタンプ(2026-09-01T10:00:00など)。タイムスタンプは現地時間です。元のスナップショットが削除された日時でフィルタリングするには、
--filter式にcreationTimestampの条件を追加します。たとえば、特定の時刻以降に削除された特定の元のスナップショットの復元可能なスナップショットを見つけるには:
--filter="creationTimestamp >= 'DELETION_FILTER_TIMESTAMP' AND originalResource.name:ORIGINAL_SNAPSHOT_NAME"
次のように置き換えます。
ORIGINAL_SNAPSHOT_NAME: 元のスナップショットの名前。DELETION_FILTER_TIMESTAMP: フィルタのタイムスタンプ(2026-09-01T10:00:00など)。タイムスタンプは現地時間です。
REST
filter クエリ パラメータを使用して、recoverableSnapshots.list メソッドに対して GET リクエストを作成します。
GET 'https://compute.s3nsapis.fr/compute/beta/projects/ PROJECT_ID/global/recoverableSnapshots?filter=originalResource.name:ORIGINAL_SNAPSHOT_NAME'
以下を対応する値に置き換えます。
PROJECT_ID: プロジェクトの ID。ORIGINAL_SNAPSHOT_NAME: スナップショットの元の名前。
レスポンス本文は、復元可能なスナップショットのリストです。元のスナップショット名が入力した元のスナップショット名と一致するスナップショットが、次のように表示されます。
{
"kind": "compute#recoverableSnapshotList",
"id": "projects/PROJECT_ID/global/recoverableSnapshots/",
"items": [
{
"kind": "compute#recoverableSnapshot",
"id": "8914891425536994161",
"name": "prod-test-snapshot-20261006053732-uj731vz4",
"creationTimestamp": "2026-10-05T22:37:34.164-07:00",
"purgeTimestamp": "2026-10-12T22:37:32.918-07:00",
...
"originalResource": {
"name": "prod-test-snapshot",
...
}
}
]
}
items 配列内の各オブジェクトは、復元可能なスナップショットを表し、次のプロパティがあります。
name: 復元可能なスナップショットの名前。スナップショットを復元するには、gcloud CLI または REST を使用する場合、この名前を指定する必要があります。creationTimestamp: 元の標準スナップショットが削除された時刻。purgeTimestamp: Compute Engine が復元可能なスナップショットを完全に削除する将来の時刻。originalResource: 元のスナップショットの詳細(名前やソースディスクなど)を含むオブジェクト。
復元可能なスナップショットに関する情報を表示する
復元可能なスナップショットに関する詳細情報(ソース スナップショットや作成日時など)を取得するには、 Cloud de Confiance コンソール、gcloud CLI、または REST を使用します。
元のスナップショット名しかない場合に復元可能なスナップショットの名前を確認するには、復元可能なスナップショットの名前を確認するをご覧ください。
Cloud de Confiance コンソール
Cloud de Confiance コンソールで、[スナップショット] ページに移動します。
[ゴミ箱] をクリックします。
[削除されたスナップショット] タブに、復元可能なスナップショットの一覧が表示されます。
各列には、復元可能なスナップショットの詳細が一覧表示されます。
- 名前: 復元可能なスナップショットの名前。
- 元のスナップショット名: 元の標準スナップショットの名前。
- スナップショットの削除時刻: 元の標準スナップショットが削除された時刻。
- 完全削除時間: Compute Engine が復元可能なスナップショットを完全に削除する将来の時刻。
gcloud CLI
復元可能なスナップショットに関する情報を表示するには、gcloud beta compute recoverable-snapshots describe コマンドを使用します。
gcloud beta compute recoverable-snapshots describe RECOVERABLE_SNAPSHOT_NAME \ --project=PROJECT_ID
以下を対応する値に置き換えます。
RECOVERABLE_SNAPSHOT_NAME: 復元可能なスナップショットの名前。PROJECT_ID: プロジェクトの ID。
出力は、次のような復元可能なスナップショットの説明です。
creationTimestamp: '2026-09-01T13:13:51.626-07:00'
id: '2573728532034916112'
kind: compute#recoverableSnapshot
name: prod-test-snapshot-uj731vz4
originalResource:
name: prod-test-snapshot
...
storageBytesStatus: UP_TO_DATE
storageLocations:
- us
purgeTimestamp: '2026-09-06T13:13:51.493-07:00'
selfLink: ..
status: READY
出力には、復元可能なスナップショットの次のキー プロパティが含まれます。
name: 復元可能なスナップショットの名前。スナップショットを復元するには、gcloud CLI または REST を使用する場合、この名前を指定する必要があります。creationTimestamp: 元の標準スナップショットが削除された時刻。purgeTimestamp: Compute Engine が復元可能なスナップショットを完全に削除する将来の時刻。originalResource: 元のスナップショットの詳細(名前やソースディスクなど)を含むオブジェクト。
REST
復元可能なスナップショットに関する情報を表示するには、recoverableSnapshots.get メソッドに GET リクエストを送信します。
GET 'https://compute.s3nsapis.fr/compute/beta/projects/PROJECT_ID/global/recoverableSnapshots/RECOVERABLE_SNAPSHOT_NAME'
以下を対応する値に置き換えます。
PROJECT_ID: 復元可能なスナップショットを含むプロジェクトの ID。RECOVERABLE_SNAPSHOT_NAME: 復元可能なスナップショットの名前。
レスポンスは次の例のようになります。
{
"name": "prod-test-snapshot-uj731vz4",
"creationTimestamp": "2026-09-05T22:37:34.164-07:00",
"purgeTimestamp": "2026-09-12T22:37:32.918-07:00",
...
"originalResource": {
"name": "prod-test-snapshot",
...
}
}
レスポンスの本文には、復元可能なスナップショットの次のキー プロパティが含まれます。
name: 復元可能なスナップショットの名前。スナップショットを復元するには、gcloud CLI または REST を使用する場合、この名前を指定する必要があります。creationTimestamp: 元の標準スナップショットが削除された時刻。purgeTimestamp: Compute Engine が復元可能なスナップショットを完全に削除する将来の時刻。originalResource: 元のスナップショットの詳細(名前やソースディスクなど)を含むオブジェクト。
削除されたスナップショットを復元する
スナップショットを復元する前に、次の点を考慮してください。
- タグの永続性: 削除前にスナップショットに付加されたタグは、スナップショットがゴミ箱から復元されても保持されません。ごみ箱から復元したスナップショットにタグを再度追加する必要があります。
- スケジュールされたスナップショット: スケジュールで作成されたスナップショットを復元すると、スナップショットはスケジュールの一部ではなくなり、スケジュールで指定された期間が経過しても自動的に削除されません。代わりに、Compute Engine はスナップショットを手動で削除するまで無期限に保持します。
- 名前の競合: 同じ名前の標準スナップショットがすでに存在し、復元されたスナップショットの新しい名前を指定しない場合、スナップショットの復元は失敗します。このようなスナップショットを復元するには、Google Cloud CLI または REST を使用して新しい名前を指定する必要があります。
- 復元可能なスナップショットは復元後も保持される: スナップショットを復元しても、復元可能なスナップショットはごみ箱から削除されません。復元可能なスナップショットは、保持期間が終了するまでごみ箱に残ります。
- 復元されたスナップショットの新しい作成時間: スナップショットを復元すると、標準スナップショットの作成時間は、スナップショットが最初に作成された時間ではなく、ごみ箱から復元した時間になります。
ごみ箱からスナップショットを復元する
削除されたスナップショットを復元して新しいディスクの作成に使用するには、まず復元可能なスナップショットの名前を見つける必要があります。これを行うには、復元可能なスナップショットの名前を確認するの手順を行います。
復元可能なスナップショットの名前がわかっている場合は、 Cloud de Confiance コンソール、gcloud CLI、または REST を使用してスナップショットを復元します。
Cloud de Confiance コンソール
Cloud de Confiance コンソールで、[スナップショット] ページに移動します。
[ゴミ箱] をクリックします。
[削除されたスナップショット] タブをクリックします。復元可能なスナップショットのリストが表示されます。
復元するスナップショットを選択します。
[restore_from_trash Recover] をクリックします。
gcloud CLI
スナップショットを復元するには、gcloud beta compute recoverable-snapshots recover コマンドを使用します。
スナップショットを復元して元の名前を保持するには:
gcloud beta compute recoverable-snapshots recover \ RECOVERABLE_SNAPSHOT_NAME \ --project=PROJECT_ID
以下を対応する値に置き換えます。
RECOVERABLE_SNAPSHOT_NAME: 復元可能なスナップショットの名前。PROJECT_ID: プロジェクトの ID。
スナップショットを復元し、復元されたスナップショットの新しい名前を指定するには、
--snapshot-nameフラグを使用して新しい名前を指定します。gcloud beta compute recoverable-snapshots recover \ RECOVERABLE_SNAPSHOT_NAME \ --project=PROJECT_ID \ --snapshot-name=NEW_SNAPSHOT_NAME
以下を対応する値に置き換えます。
RECOVERABLE_SNAPSHOT_NAME: 復元可能なスナップショットの名前。PROJECT_ID: プロジェクトの ID。NEW_SNAPSHOT_NAME: 復元されたスナップショットの新しい名前。
REST
スナップショットを復元するには、recoverableSnapshots.recover メソッドに POST リクエストを送信します。
POST https://compute.s3nsapis.fr/compute/beta/projects/PROJECT_ID/global/recoverableSnapshots/RECOVERABLE_SNAPSHOT_NAME/recover
以下を対応する値に置き換えます。
PROJECT_ID: プロジェクトの ID。RECOVERABLE_SNAPSHOT_NAME: 復元可能なスナップショットの名前。
スナップショットを復元し、復元されたスナップショットの新しい名前を指定するには、リクエストの本文の snapshotName フィールドで新しい名前を指定します。
{
"snapshotName": "NEW_SNAPSHOT_NAME"
}
NEW_SNAPSHOT_NAME は、復元されたスナップショットの新しい名前に置き換えます。
復元されたスナップショットからディスクを作成するには、スナップショットからディスクを作成するをご覧ください。
元の標準スナップショットに適用されたタグを追加するには、リソースにタグを追加するをご覧ください。
復元可能なスナップショットを削除する
Cloud de Confiance コンソール、gcloud CLI、または REST を使用して、保持期間が切れる前にゴミ箱からスナップショットを完全に削除できます。
Cloud de Confiance コンソール
Cloud de Confiance コンソールで、[スナップショット] ページに移動します。
[ゴミ箱] をクリックします。
[削除されたスナップショット] タブで、完全に削除するスナップショットを選択します。
[削除完全に削除] をクリックします。
gcloud CLI
復元可能なスナップショットを完全に削除するには、gcloud beta compute recoverable-snapshots delete コマンドを使用します。
gcloud beta compute recoverable-snapshots delete RECOVERABLE_SNAPSHOT_NAME \ --project=PROJECT_ID
以下を対応する値に置き換えます。
RECOVERABLE_SNAPSHOT_NAME: 復元可能なスナップショットの名前。PROJECT_ID: プロジェクトの ID。
REST
復元可能なスナップショットを完全に削除するには、recoverableSnapshots.delete メソッドに DELETE リクエストを送信します。
DELETE https://compute.s3nsapis.fr/compute/beta/projects/PROJECT_ID/global/recoverableSnapshots/RECOVERABLE_SNAPSHOT_NAME
以下を対応する値に置き換えます。
PROJECT_ID: プロジェクトの ID。RECOVERABLE_SNAPSHOT_NAME: 復元可能なスナップショットの名前。