如要避免可復原的快照 (也就是回收桶中的已刪除標準快照) 遭到永久刪除,請在保留期限屆滿前從回收桶復原快照。復原快照後,快照會變成可用的標準快照,您可以使用該快照建立新磁碟。
本文說明如何列出、復原及刪除可復原的快照。
如要進一步瞭解資源回收桶,請參閱「在資源回收桶中保留已刪除的資源」。
事前準備
-
如果尚未設定驗證,請先完成設定。
驗證可確認您的身分,以便存取 Cloud de Confiance by S3NS 服務和 API。如要從本機開發環境執行程式碼或範例,請選取下列其中一個選項,向 Compute Engine 進行驗證:
選取這個頁面上您打算如何使用範例的分頁:
控制台
使用 Cloud de Confiance 控制台存取 Cloud de Confiance by S3NS 服務和 API 時,無須設定驗證。
gcloud
-
安裝 Google Cloud CLI,然後 使用聯合身分登入 gcloud CLI。登入後,執行下列指令來初始化 Google Cloud CLI:
gcloud init
-
- 設定預設地區和區域。
REST
如要在本機開發環境中使用本頁的 REST API 範例,請使用您提供給 gcloud CLI 的憑證。
安裝 Google Cloud CLI,然後 使用聯合身分登入 gcloud CLI。
詳情請參閱 Cloud de Confiance 驗證說明文件中的「使用 REST 進行驗證」。
必要角色和權限
如要取得管理可復原快照所需的權限,請要求管理員在專案中授予您下列 IAM 角色:
- Compute 執行個體管理員 (
roles/compute.instanceAdmin) -
如要連線至可做為服務帳戶執行的 VM:
服務帳戶使用者 (v1) (
roles/iam.serviceAccountUser)
如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和組織的存取權」。
這些預先定義的角色具備管理可復原快照所需的權限。如要查看確切的必要權限,請展開「Required permissions」(必要權限) 部分:
所需權限
如要管理可復原快照,必須具備下列權限:
-
如要復原可復原的快照:
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 Filter」(篩選器清單篩選器) 欄位中,按一下「輸入屬性名稱或值」。 從屬性清單中選取「原始快照名稱」。
在「Value」(值) 欄位中輸入原始快照名稱,然後按下 Enter 鍵。
Cloud de Confiance 控制台會顯示可復原的快照清單,這些快照的原始快照名稱與您輸入的名稱相符。
gcloud CLI
如要依原始快照名稱尋找可復原的快照,請使用 gcloud beta compute recoverable-snapshots list 指令。如要依原始快照名稱篩選,請使用 --filter 旗標搭配 originalResource.name 屬性。
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 查詢參數,建構 GET 要求至 recoverableSnapshots.list 方法。
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 控制台的「Snapshots」(快照) 頁面。
按一下「回收桶」。
在「已刪除的快照」分頁中,查看可復原的快照清單。
每個資料欄都會列出可復原快照的詳細資料,包括:
- 名稱:可復原快照的名稱。
- 原始快照名稱:原始標準快照的名稱。
- 快照刪除時間:原始標準快照的刪除時間。
- 永久刪除時間: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 復原」restore_from_trash。
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:可復原的快照名稱。