標準磁碟快照可協助您定期備份永久磁碟和 Google Cloud Hyperdisk 中的資料。
您可以查看、列出及刪除磁碟快照。您也可以跨專案共用快照。
事前準備
-
如果尚未設定,請先設定驗證機制。「驗證」是指驗證身分,以便存取 Google Cloud 服務和 API 的程序。如要從本機開發環境執行程式碼或範例,請選取下列任一選項,以便對 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
-
After installing the Google Cloud CLI, initialize it by running the following command:
gcloud init
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
- Set a default region and zone.
-
Compute 執行個體管理員 (v1) (
roles/compute.instanceAdmin.v1
) -
如要連線至可以服務帳戶形式執行的 VM,請按照下列步驟操作:
服務帳戶使用者 (v1) (
roles/iam.serviceAccountUser
) -
如要列出快照:
compute.snapshots.list
專案上 -
如要查看快照相關資訊,請執行下列操作:
compute.snapshots.get
on the snapshot -
如要刪除快照,請按照下列步驟操作:
compute.snapshots.delete
在快照上 -
如何根據篩選條件刪除快照:
-
快照的
compute.snapshots.delete
-
compute.snapshots.list
專案
-
快照的
-
如要跨專案共用快照資料,請按照下列步驟操作:
-
專案的
compute.storageAdmin
(用於存取所有標準快照) -
compute.disks.create
要共用的專案 -
來源專案的
compute.snapshots.create
-
來源磁碟上的
compute.disks.createSnapshot
-
專案的
前往 Google Cloud 控制台的「Snapshots」(快照) 頁面。
您可以在「Snapshots」分頁中,查看目前專案的標準快照。
(選用步驟) 使用 filter_list 篩選器欄位縮小結果範圍。在「Filter」欄位中輸入屬性名稱或值,或從可用的屬性中選擇。
如要查看特定專案中可用的所有快照清單,請使用
gcloud compute snapshots list
指令。gcloud compute snapshots list --project=PROJECT_ID
(預先發布版) 如要在特定專案中查看可用的區域範圍快照清單,請使用
gcloud compute snapshots list
指令並指定區域。gcloud compute snapshots list --region=REGION_NAME
如要查看特定專案中可用的全域範圍快照清單,請使用
gcloud compute snapshots list
指令,並加入--global
旗標。gcloud compute snapshots list --global
PROJECT_ID
:選用。請用專案 ID 取代。如果省略這個標記,系統會使用目前的專案。您可以使用 gcloud CLI 指令gcloud config set project PROJECT_ID
設定工作階段的預設專案。REGION_NAME
:您要查看快照的區域名稱。如要查看特定專案中可用的所有快照清單,請對
snapshots.list
方法發出GET
要求,並指定「aggregated」。GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/aggregated/snapshots
(預先發布版) 如要查看特定專案中可用的區域範圍快照清單,請對
snapshots.list
方法發出GET
要求,然後指定區域。GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION_NAME/snapshots
如要查看特定專案中可用的全域範圍快照清單,請對
snapshots.list
方法發出GET
要求,並指定「global」。GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/snapshots
PROJECT_ID
:專案 ID。REGION_NAME
:您要查看快照的區域名稱。前往 Google Cloud 控制台的「Snapshots」(快照) 頁面。
在「快照」分頁中,系統會顯示專案中所有標準快照的清單。
依來源磁碟縮小搜尋結果範圍:
在 filter_list「Filter」欄位中輸入
Source disk:
,或按一下「Filter」欄位,然後從「Properties」清單中選擇Source disk
值。在「Filter」欄位中,從「Values」清單中選取「
Source disk:
」旁邊的名稱。主控台現在會顯示指定磁碟的所有標準快照。
如果您在「值」清單中找不到磁碟名稱,請在
Source disk:
旁邊的「篩選器」欄位中,輸入來源磁碟名稱的前幾個字母,以變更您看到的值清單。
列出區域磁碟的標準快照:
gcloud compute snapshots list --filter="sourceDisk:projects/PROJECT_ID/zones/SOURCE_ZONE/disks/DISK_NAME
列出地區磁碟的標準快照:
gcloud compute snapshots list --filter=sourceDisk:projects/PROJECT_ID/regions/SOURCE_REGION/disks/DISK_NAME
PROJECT_ID
:專案 ID。SOURCE_ZONE
:(僅限區域磁碟) 磁碟的區域名稱,例如us-west1-a
。SOURCE_REGION
:(僅限區域磁碟) 磁碟的區域名稱,例如us-west1
。DISK_NAME
:磁碟名稱,例如disk-1
。列出區域磁碟的標準快照:
GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/snapshots?filter=sourceDisk:'https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/SOURCE_ZONE/disks/DISK_NAME'
列出地區磁碟的標準快照:
GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/snapshots?filter=sourceDisk:'https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/SOURCE_REGION/disks/DISK_NAME'
PROJECT_ID
:專案 ID。SOURCE_ZONE
:(僅限區域磁碟) 磁碟的區域名稱,例如us-west1-a
。SOURCE_REGION
:(僅限區域磁碟) 磁碟的區域名稱,例如us-west1
。DISK_NAME
:來源磁碟的名稱,例如disk-1
。前往 Google Cloud 控制台的「Snapshots」(快照) 頁面。
在「快照」分頁中,查看專案中的快照清單。
在「Name」欄中,按一下標準快照的名稱。系統會顯示所選快照的「Snapshot details」頁面,並顯示其屬性。
如要查看全域範圍標準快照的相關資訊,請使用
gcloud compute snapshots describe
指令。gcloud compute snapshots describe SNAPSHOT_NAME
(預覽) 如要查看區域範圍標準快照的相關資訊,請使用
gcloud compute snapshots describe
指令並指定區域。gcloud compute snapshots describe SNAPSHOT_NAME --regions=REGION_NAME
SNAPSHOT_NAME
:標準快照的名稱。REGION_NAME
:快照的範圍所屬區域名稱。如要查看全域範圍標準快照的相關資訊,請對
snapshots.get
方法發出GET
要求。GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/snapshots/SNAPSHOT_NAME
(預覽) 如要查看地區範圍標準快照的相關資訊,請對
snapshots.get
方法提出GET
要求,並指定地區。GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION_NAME/snapshots/SNAPSHOT_NAME
PROJECT_ID
:包含標準快照的專案名稱。SNAPSHOT_NAME
:標準快照的名稱。REGION_NAME
:快照的範圍所屬區域名稱。前往 Google Cloud 控制台的「Snapshots」(快照) 頁面。
選取您要刪除的一或多個快照。
按一下「Snapshots」(快照) 頁面頂端的 [Delete] (刪除)。
如要刪除全域範圍的快照,請使用
gcloud compute snapshots delete
指令。gcloud compute snapshots delete SNAPSHOT_NAME
(預先發布) 如要刪除區域範圍的快照,請使用
gcloud compute snapshots delete
指令,並指定區域名稱。gcloud compute snapshots delete SNAPSHOT_NAME --regions=REGION_NAME
- SNAPSHOT_NAME:要刪除的快照名稱。
- REGION_NAME:快照的範圍。
如要刪除全域範圍的快照,請對
snapshots.delete
方法發出DELETE
要求。DELETE https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/snapshots/SNAPSHOT_NAME
(預先發布) 如要刪除地區範圍的快照,請對
snapshots.delete
方法發出DELETE
要求,並指定地區。DELETE https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION_NAME/snapshots/SNAPSHOT_NAME
- PROJECT_ID:專案名稱。
- SNAPSHOT_NAME:要刪除的快照名稱。
- REGION_NAME:快照的範圍。
使用
gcloud compute snapshots create
指令,在目的地專案中建立標準快照。舉例來說,如要建立區域永久磁碟或 Hyperdisk 的快照,請使用下列指令:gcloud compute snapshots create SNAPSHOT_NAME \ --source-disk https://www.googleapis.com/compute/v1/projects/SOURCE_PROJECT_ID/zones/ZONE/disks/SOURCE_DISK_NAME \ --project DESTINATION_PROJECT_ID
更改下列內容:
- SNAPSHOT_NAME:新快照的名稱。
- SOURCE_PROJECT_ID:來源磁碟的專案 ID。
- ZONE:來源磁碟的可用區。
- SOURCE_DISK_NAME:來源磁碟的名稱。
- DESTINATION_PROJECT_ID:新快照的目標專案 ID。
在目的專案中,使用
gcloud compute disks create
指令建立以快照為基礎的區域或地區磁碟:gcloud compute disks create DISK_NAME \ --source-snapshot SNAPSHOT_NAME \ --project DESTINATION_PROJECT_ID
更改下列內容:
- DISK_NAME:新磁碟的名稱。
- SNAPSHOT_NAME:快照名稱。
- DESTINATION_PROJECT_ID:新磁碟的目標專案 ID。
呼叫
snapshots.insert
方法,即可在目的專案中建立標準快照。舉例來說,如要拍攝區域性永久磁碟或 Hyperdisk 的快照,請提出以下要求: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 }
更改下列內容:
- DESTINATION_PROJECT_ID:新快照的目標專案 ID。
- SNAPSHOT_NAME:快照的名稱。
- SOURCE_PROJECT_ID:來源磁碟專案的 ID。
- SOURCE_ZONE:來源磁碟的可用區。
- SOURCE_DISK_NAME:來源磁碟的名稱。
在目的專案中,使用區域
disks.insert
方法或地區regionDisks.insert
方法,建立以快照為基礎的區域或地區磁碟。舉例來說,如要建立區域磁碟,請提出下列要求:
POST https://compute.googleapis.com/compute/v1/projects/DESTINATION_PROJECT_ID/zones/DESTINATION_ZONE/disks { "name": DISK_NAME "sourceSnapshot": SNAPSHOT_NAME }
更改下列內容:
- DESTINATION_PROJECT_ID:新磁碟的目標專案 ID。
- DESTINATION_ZONE:新磁碟在目的專案中的區域。
- DISK_NAME:新磁碟的名稱。
- SNAPSHOT_NAME:快照名稱。
在來源專案中,使用
gcloud compute disks create
指令建立以快照為基礎的磁碟。gcloud compute disks create DISK_NAME \ --source-snapshot SNAPSHOT_NAME \ --project SOURCE_PROJECT_ID \ --zone ZONE
更改下列內容:
- DISK_NAME:新磁碟的名稱。
- SNAPSHOT_NAME:快照名稱。
- SOURCE_PROJECT_ID:來源專案的 ID。
- ZONE:建立新磁碟的可用區。
這個磁碟是暫時磁碟,僅用於在不同機構之間複製快照。
在目標專案中,使用
gcloud compute snapshots create
指令建立快照。舉例來說,如要使用第一個步驟中建立的區域磁碟建立快照,請使用下列指令:
gcloud compute snapshots create SNAPSHOT_NAME \ --source-disk https://www.googleapis.com/compute/v1/projects/SOURCE_PROJECT_ID/zones/ZONE/disks/DISK_NAME \ --project DESTINATION_PROJECT_ID
更改下列內容:
- SNAPSHOT_NAME:快照的名稱。
- SOURCE_PROJECT_ID:包含來源磁碟的專案 ID。
- ZONE:來源磁碟的可用區。
- DISK_NAME:在步驟 1 中建立的磁碟名稱。
- DESTINATION_PROJECT_ID:新快照的目標專案 ID。
如要取得可用的快照清單,請參閱「查看專案或位置中的標準快照」。
使用
gcloud compute disks delete
指令刪除第一步驟中建立的臨時磁碟。gcloud compute disks delete DISK_NAME \ --project SOURCE_PROJECT_ID --zone ZONE
更改下列內容:
- DISK_NAME:在步驟 1 中建立的磁碟名稱。
- SOURCE_PROJECT_ID:包含來源磁碟的專案 ID。
- ZONE:磁碟區域。
在來源專案中,使用區域
disks.insert
方法建立以快照為基礎的區域或地區磁碟。舉例來說,如要建立區域磁碟,請提出下列要求:
POST https://compute.googleapis.com/compute/v1/projects/SOURCE_PROJECT_ID/zones/SOURCE_ZONE/disks { "name": DISK_NAME "sourceSnapshot": SNAPSHOT_NAME }
更改下列內容:
- SOURCE_PROJECT_ID:新磁碟的來源專案 ID。
- SOURCE_ZONE:新磁碟的可用區。
- DISK_NAME:新磁碟的名稱。
- SNAPSHOT_NAME:快照名稱。
這個磁碟是暫時磁碟,僅用於在不同機構之間複製快照。
呼叫
snapshots.insert
方法,在目標專案中建立快照。舉例來說,如要使用第一步中建立的區域磁碟建立快照,請使用下列指令:
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/DISK_NAME }
更改下列內容:
- DESTINATION_PROJECT_ID:新快照的目標專案 ID。
- SNAPSHOT_NAME:快照的名稱。
- SOURCE_PROJECT_ID:包含來源磁碟的專案 ID。
- SOURCE_ZONE:來源磁碟的可用區。
- DISK_NAME:來源磁碟的名稱。
使用
disks.delete
方法刪除第一步驟中建立的臨時磁碟。DELETE https://compute.googleapis.com/compute/v1/projects/SOURCE_PROJECT_ID/zones/SOURCE_ZONE/disks/DISK_NAME
更改下列內容:
- SOURCE_PROJECT_ID:包含暫時性磁碟的專案 ID。
- SOURCE_ZONE:磁碟區域。
- DISK_NAME:在步驟 1 中建立的臨時磁碟名稱。
- 瞭解如何為磁碟建立排程快照。
- 瞭解如何從快照建立磁碟映像檔。
REST
如要在本機開發環境中使用本頁的 REST API 範例,請使用您提供給 gcloud CLI 的憑證。
After installing the Google Cloud CLI, initialize it by running the following command:
gcloud init
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
詳情請參閱 Google Cloud 驗證說明文件中的「驗證以使用 REST」。
必要角色和權限
如要取得管理標準快照所需的權限,請要求管理員授予您專案的下列 IAM 角色:
如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和機構的存取權」。
這些預先定義的角色包含管理標準快照所需的權限。如要查看確切的必要權限,請展開「必要權限」部分:
所需權限
如要管理標準快照,您必須具備下列權限:
查看專案或位置中的標準快照
您可以使用 gcloud CLI、 Google Cloud 控制台或 REST,查看或列出專案或位置中的標準快照。
主控台
gcloud
更改下列內容:
REST
更改下列內容:
查看磁碟的標準快照
您可以使用 Google Cloud 主控台、gcloud CLI 或 REST,查看磁碟的標準快照清單。
主控台
gcloud
使用
gcloud compute snapshots list
指令和--filter
引數,列出磁碟的標準快照。更改下列內容:
REST
向
snapshots.list
方法提出GET
要求,列出區域或地區磁碟的標準快照。使用
filter=sourceDisk
查詢參數指定磁碟名稱。更改下列內容:
查看標準快照的相關資訊
使用 Google Cloud 控制台、Google Cloud CLI 或 REST,擷取標準快照的詳細資訊,例如建立時間、來源磁碟和大小。
主控台
gcloud
更改下列內容:
REST
更改下列內容:
刪除快照
Compute Engine 使用差異快照,讓每個快照只包含前一個快照後變更的資料。由於後續快照可能需要存放在先前快照上的資訊,因此請注意,刪除快照不一定會刪除快照上的所有資料。
如要進一步瞭解如何刪除快照,請參閱「刪除快照」。
主控台
gcloud
更改下列內容:
Go
Java
Node.js
Python
REST
更改下列內容:
根據篩選條件刪除多個快照
Compute Engine 使用差異快照,讓每個快照只包含前一個快照後變更的資料。由於後續快照可能需要存放在先前快照上的資訊,因此請注意,刪除快照不一定會刪除快照上的所有資料。
如要進一步瞭解如何刪除快照,請參閱「刪除快照」。
您可以根據指定的篩選條件刪除多個快照。如要進一步瞭解如何搭配使用 gcloud CLI 和篩選器,請參閱 gcloud CLI 主題篩選器。
如要刪除快照,請使用
gcloud compute snapshots list
指令與指定篩選器,以及gcloud compute snapshots delete
指令與xargs
。gcloud compute snapshots list --filter="EXPRESSION" --uri | xargs gcloud compute snapshots delete
將
EXPRESSION
替換為 gcloud CLI 主題篩選器。例如,
--filter="creationTimestamp<'2023-12-31'"
會刪除 2023 年 12 月 31 日前建立的所有快照。跨同一機構的專案共用快照資料
您可以使用這個程序,將資料從一個專案的磁碟移至同一機構中其他專案的磁碟。
gcloud
REST
如要取得可用的快照清單,請參閱「查看專案或位置中的標準快照」。
跨不同機構的專案共用快照
您可以使用這個程序,將一個機構專案中的標準快照,分享給另一個機構中的不同專案。
gcloud
REST
後續步驟
除非另有註明,否則本頁面中的內容是採用創用 CC 姓名標示 4.0 授權,程式碼範例則為阿帕契 2.0 授權。詳情請參閱《Google Developers 網站政策》。Java 是 Oracle 和/或其關聯企業的註冊商標。
上次更新時間:2025-06-19 (世界標準時間)。
-