本文說明如何建立及管理即時快照。即時快照會擷取磁碟內容,並可用於在幾分鐘內建立新磁碟。
即時快照會儲存在與來源磁碟相同的可用區或區域,且無法取代標準快照,後者可提供異地備份,用於災難復原。瞭解 Compute Engine 提供的其他資料保護選項。
如要存取即時快照中的資料,請使用即時快照建立新磁碟。
如要將即時快照複製到其他位置,或在刪除來源磁碟後保留快照資料,請從即時快照建立標準快照。
事前準備
-
如果尚未設定驗證,請先完成設定。
「驗證」是指驗證身分的程序,確認您有權存取 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
-
安裝 Google Cloud CLI。 安裝完成後,執行下列指令初始化 Google Cloud CLI:
gcloud init
如果您使用外部識別資訊提供者 (IdP),請先 使用聯合身分登入 gcloud CLI。
- Set a default region and zone.
REST
如要在本機開發環境中使用本頁的 REST API 範例,請使用您提供給 gcloud CLI 的憑證。
安裝 Google Cloud CLI。 安裝完成後,執行下列指令初始化 Google Cloud CLI:
gcloud init
如果您使用外部識別資訊提供者 (IdP),請先 使用聯合身分登入 gcloud CLI。
詳情請參閱 Google Cloud 驗證說明文件中的「Authenticate for using REST」。
必要角色和權限
如要取得建立即時快照所需的權限,請要求管理員將專案的下列 IAM 角色授予您:
-
Compute 執行個體管理員 (v1) (
roles/compute.instanceAdmin.v1
) -
如要連線至可做為服務帳戶執行的 VM:
服務帳戶使用者 (v1) (
roles/iam.serviceAccountUser
)
如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和機構的存取權」。
這些預先定義的角色具備建立即時快照所需的權限。如要查看確切的必要權限,請展開「必要權限」部分:
所需權限
如要建立即時快照,必須具備下列權限:
-
如要建立即時快照,請按照下列步驟操作:
compute.instantSnapshots.create
-
如要查看即時快照,請按照下列步驟操作:
compute.instantSnapshots.list
-
如要查看即時快照詳細資料,請按照下列步驟操作:
compute.instantSnapshots.get
-
如要刪除即時快照:
compute.instantSnapshots.delete
限制
- 您無法為 Extreme Persistent Disk、Hyperdisk Throughput 或 Hyperdisk ML 磁碟區建立即時快照。
您無法選取即時快照的儲存位置。 快照一律會儲存在與來源磁碟相同的區域或可用區。
刪除磁碟時,系統會一併刪除該磁碟的所有即時快照。也就是說,刪除 VM 時,系統會一併刪除 VM 開機磁碟的即時快照。如果您為磁碟啟用自動刪除功能,系統也會刪除附加至 VM 的非開機磁碟即時快照。如要在刪除即時快照前保留資料,請從即時快照建立標準快照。
即時快照只能在儲存所在的可用區或區域中存取。 如要將即時快照移至其他地區,必須先從即時快照建立標準快照。
透過以 CMEK 加密的即時快照建立磁碟時,您必須提供即時快照的加密金鑰。
您最多每 60 分鐘可建立 6 次個別磁碟的標準快照。從磁碟的即時快照建立標準快照時,也適用這項限制。
您無法透過開機磁碟的即時快照建立 VM。請先從即時快照建立磁碟,然後選擇該磁碟做為 VM 的來源。
您最多每 30 秒可建立一次指定磁碟的即時快照。
同一個磁碟最多只能有 32 個即時快照。
您無法透過快照排程建立即時快照。
您無法在非同步複製的次要 Persistent Disk 磁碟區上建立即時快照。
即時快照是當機一致性,而非應用程式一致性。也就是說,如果記憶體中的資料尚未寫入磁碟,即時快照就不會擷取這些資料。如要確保應用程式一致性,請建立與應用程式一致的標準快照。
您必須先刪除磁碟的所有即時快照,才能移動磁碟。 詳情請參閱「移動含有即時快照的磁碟」。
您無法編輯即時快照中儲存的資料。
刪除的即時快照無法復原。
建立磁碟的即時快照
區域磁碟的即時快照會儲存在與來源磁碟相同的可用區。同樣地,地區磁碟的即時快照會儲存在與磁碟相同的地區。
您可以使用 gcloud CLI、 Google Cloud 控制台或 REST 建立即時快照。
主控台
前往 Google Cloud 控制台的「VM instances」(VM 執行個體) 頁面。
選取要使用的專案。
在「Name」(名稱) 欄中,按一下要備份磁碟所連結的 VM 名稱。
在「儲存空間」部分,選取磁碟的方式如下:
- 如要備份 VM 的開機磁碟,請按一下「Boot disk」(開機磁碟) 區段中的開機磁碟「Name」(名稱)。
- 如要備份已連結的磁碟區,請在「Additional disks」(其他磁碟) 區段中,點選磁碟「Name」(名稱)。
如要完成建立即時快照,請在「建立快照」頁面中執行下列操作:
- 在「名稱」欄位中,輸入可識別即時快照的專屬名稱。
- 選用:在「說明」欄位中新增快照的詳細資料。
- 在「類型」欄位中,選取「即時快照」。「位置」欄位會自動設為與磁碟相同的可用區或區域。
- 在「快照來源類型」欄位中,確認已選取「磁碟」。
- 選用:如要整理專案,請新增一或多個標籤。
- 點選「建立」。
gcloud
如要建立即時快照,請使用
gcloud compute instant-snapshots create
指令:可用區磁碟
如要建立區域磁碟的即時快照,請按照下列步驟操作:
gcloud compute instant-snapshots create INSTANT_SNAPSHOT_NAME \ --source-disk=SOURCE_DISK_NAME \ --zone=SOURCE_DISK_ZONE
更改下列內容:
INSTANT_SNAPSHOT_NAME
:即時快照的專屬名稱。SOURCE_DISK_NAME
:來源磁碟的名稱。SOURCE_DISK_ZONE
:來源磁碟的可用區。 即時快照會建立在相同可用區中。
區域磁碟
如要建立區域磁碟的即時快照,請按照下列步驟操作:
gcloud compute instant-snapshots create INSTANT_SNAPSHOT_NAME \ --source-disk=SOURCE_DISK_NAME \ --region=SOURCE_DISK_REGION
更改下列內容:
INSTANT_SNAPSHOT_NAME
:即時快照的專屬名稱。SOURCE_DISK_NAME
:來源磁碟的名稱。SOURCE_DISK_REGION
:來源磁碟的區域。即時快照會建立在相同區域。
REST
如要建立即時快照,請對 instantSnapshots.insert 方法發出
POST
要求。建立區域磁碟的即時快照:
在
POST
要求的網址中指定區域。在要求主體中,指定新快照的名稱和來源磁碟的網址。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
要求的網址中指定區域。在要求主體中加入新快照的名稱和來源磁碟。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
:來源磁碟的名稱。
要求回應
如果
POST
要求成功,回應主體會是物件,您可以輪詢該物件,取得即時快照建立狀態。詳情請參閱「處理 API 回應」一文。將即時快照還原至新磁碟
如要還原透過即時快照備份的資料,請從即時快照建立新磁碟。
查看專案或位置的即時快照
您可以使用 gcloud CLI、 Google Cloud 控制台或 REST,查看專案或位置中的所有即時快照清單。
主控台
前往 Google Cloud 控制台的「快照」頁面。
按一下「即時快照」分頁標籤。系統會顯示即時快照清單。
選用:使用 filter_list「篩選」欄位縮小結果範圍。在 filter_list「Filter」(篩選條件) 欄位中輸入屬性名稱或值,或從可用屬性中選擇。
gcloud
您可以使用
gcloud compute instant-snapshots 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
替換為目標區域的名稱。
REST
您可以擷取特定專案或位置的即時快照清單。
列出專案中的快照:
對 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
。
查看磁碟的即時快照
您可以使用 gcloud CLI、 Google Cloud 控制台或 REST,查看磁碟的即時快照清單。
主控台
前往 Google Cloud 控制台的「快照」頁面。
按一下「即時快照」分頁標籤。系統會顯示專案中所有即時快照的清單。
依來源磁碟縮小結果範圍:
在 filter_list「Filter」(篩選條件) 欄位中輸入
Source disk:
。系統會顯示含有即時快照的磁碟清單。
從「Values」清單中選取磁碟名稱。即時快照清單會顯示磁碟的所有即時快照。
如果「篩選」 filter_list 欄位中未顯示磁碟名稱,請輸入磁碟名稱的前幾個字母,變更顯示的篩選選項清單。
gcloud
使用
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
。
REST
如要列出區域或地區磁碟的即時快照,請向 instantSnapshots.list 方法提出
GET
要求。使用
filter=sourceDisk
查詢參數指定磁碟名稱。列出區域磁碟的即時快照:
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
。
查看即時快照的相關資訊
使用 gcloud CLI、 Google Cloud 控制台或 REST,擷取即時快照的詳細資訊,例如位置、來源磁碟和大小。
主控台
前往 Google Cloud 控制台的「快照」頁面。
按一下「即時快照」分頁標籤。系統會顯示即時快照清單。
在「Name」(名稱) 欄中,按一下即時快照的名稱。系統會顯示所選快照的「即時快照詳細資料」頁面,並顯示其屬性。
gcloud
如要查看即時快照的相關資訊,請使用
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
。
REST
您使用的 API 方法要求取決於您處理的是區域或地區即時快照。
區域即時快照
對 instantSnapshots.get 方法發出
GET
要求,並在要求中指定區域:GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instantSnapshots/INSTANT_SNAPSHOT_NAME
將下列項目替換為對應的值:
PROJECT_ID
:包含即時快照的專案名稱。ZONE
:建立即時快照的可用區。INSTANT_SNAPSHOT_NAME
:即時快照的名稱。
區域即時快照
向 instantSnapshots.get 方法發出
GET
要求,並在要求中指定區域:GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instantSnapshots/INSTANT_SNAPSHOT_NAME
將下列項目替換為對應的值:
PROJECT_ID
:包含即時快照的專案名稱。REGION
:建立即時快照的區域。INSTANT_SNAPSHOT_NAME
:即時快照的名稱。
刪除即時快照
您可以使用 gcloud CLI、Google Cloud 主控台或 REST 刪除即時快照。
主控台
前往 Google Cloud 控制台的「快照」頁面。
按一下「即時快照」分頁標籤。
選取要刪除的一或多個快照。
按一下「Snapshots」(快照) 頁面頂端的 [Delete] (刪除)。
gcloud
使用
gcloud compute instant-snapshots delete
指令刪除即時快照,並指定來源可用區或來源區域。刪除區域磁碟的即時快照:
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
:即時快照的名稱。
REST
向 instantSnapshots.delete 方法發出
DELETE
要求,刪除即時快照:刪除區域磁碟的即時快照:
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
:即時快照的名稱。
變更即時快照的儲存位置
即時快照一律會儲存在與來源磁碟相同的位置。您無法從其他可用區或區域存取即時快照。 您可以改用即時快照建立標準快照,並使用標準快照。
瞭解如何從即時快照建立標準快照。
疑難排解
如要解決使用即時快照時遇到的問題,請參閱「排解即時快照問題」。
除非另有註明,否則本頁面中的內容是採用創用 CC 姓名標示 4.0 授權,程式碼範例則為阿帕契 2.0 授權。詳情請參閱《Google Developers 網站政策》。Java 是 Oracle 和/或其關聯企業的註冊商標。
上次更新時間:2025-07-31 (世界標準時間)。
-