管理回收桶中的快照

如要避免可復原的快照 (也就是回收桶中的已刪除標準快照) 遭到永久刪除,請在保留期限屆滿前從回收桶復原快照。復原快照後,快照會變成可用的標準快照,您可以使用該快照建立新磁碟。

本文說明如何列出、復原及刪除可復原的快照。

如要進一步瞭解資源回收桶,請參閱「在資源回收桶中保留已刪除的資源」。

事前準備

  • 如果尚未設定驗證,請先完成設定。 驗證可確認您的身分,以便存取 Cloud de Confiance by S3NS 服務和 API。如要從本機開發環境執行程式碼或範例,請選取下列其中一個選項,向 Compute Engine 進行驗證:

    選取這個頁面上您打算如何使用範例的分頁:

    控制台

    使用 Cloud de Confiance 控制台存取 Cloud de Confiance by S3NS 服務和 API 時,無須設定驗證。

    gcloud

    1. 安裝 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 角色:

如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和組織的存取權」。

這些預先定義的角色具備管理可復原快照所需的權限。如要查看確切的必要權限,請展開「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 控制台

  1. 前往 Cloud de Confiance 控制台的「快照」頁面。

    前往「快照」頁面

  2. 按一下「回收桶」。

  3. 按一下「已刪除的快照」分頁標籤。系統會顯示可復原的快照清單。

每個資料欄都會列出可復原快照的詳細資料,包括:

  • 名稱:可復原快照的名稱。
  • 原始快照名稱:原始標準快照的名稱。
  • 快照刪除時間:原始標準快照的刪除時間。
  • 永久刪除時間: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 控制台

  1. 前往 Cloud de Confiance 控制台的「快照」頁面。

    前往「快照」頁面

  2. 按一下「回收桶」。

  3. 按一下「已刪除的快照」分頁標籤。系統會顯示可復原的快照清單。

  4. 在「filter_list Filter」(篩選器清單篩選器) 欄位中,按一下「輸入屬性名稱或值」。 從屬性清單中選取「原始快照名稱」。

  5. 在「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 控制台

  1. 前往 Cloud de Confiance 控制台的「Snapshots」(快照) 頁面。

    前往「快照」頁面

  2. 按一下「回收桶」。

  3. 在「已刪除的快照」分頁中,查看可復原的快照清單。

  4. 每個資料欄都會列出可復原快照的詳細資料,包括:

    • 名稱:可復原快照的名稱。
    • 原始快照名稱:原始標準快照的名稱。
    • 快照刪除時間:原始標準快照的刪除時間。
    • 永久刪除時間: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 控制台

  1. 前往 Cloud de Confiance 控制台的「快照」頁面。

    前往「快照」頁面

  2. 按一下「回收桶」。

  3. 按一下「已刪除的快照」分頁標籤。系統會顯示可復原的快照清單。

  4. 選取要復原的快照。

  5. 按一下「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 控制台

  1. 前往 Cloud de Confiance 控制台的「快照」頁面。

    前往「快照」頁面

  2. 按一下「回收桶」。

  3. 在「已刪除的快照」分頁中,選取要永久刪除的快照。

  4. 依序按一下「刪除」「永久刪除」。

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:可復原的快照名稱。

後續步驟