在某些情況下,您可能會想要將即時快照複製到來源磁碟以外的可用區或區域。可能的情況包括:
- 刪除來源磁碟前,請先保留即時快照中的資料,因為刪除磁碟會刪除其即時快照。
- 將即時快照儲存在其他位置,以免發生區域或區域停機。
- 將含有資料的即時快照從事件或專案里程碑移至長期儲存空間。
- 使用某個位置的即時快照,在另一個位置建立新磁碟。
在這些情況下,您必須從即時快照建立標準快照或封存快照,並使用新建立的快照。
本頁面說明如何從即時快照建立標準快照或封存快照。
事前準備
-
如果尚未設定,請先設定驗證機制。驗證是指驗證身分,以便存取 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.
REST
To use the REST API samples on this page in a local development environment, you use the credentials you provide to the 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.
For more information, see Authenticate for using REST in the Google Cloud authentication documentation.
-
必要角色和權限
如要取得從即時快照建立標準快照所需的權限,請要求管理員授予您專案的下列 IAM 角色:
-
Compute 執行個體管理員 (v1) (
roles/compute.instanceAdmin.v1
) -
如要連線至可以服務帳戶形式執行的 VM,請按照下列步驟操作:
服務帳戶使用者 (v1) (
roles/iam.serviceAccountUser
)
如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和機構的存取權」。
這些預先定義的角色包含從即時快照建立標準快照所需的權限。如要查看確切的必要權限,請展開「必要權限」部分:
所需權限
如要透過即時快照建立標準快照,必須具備下列權限:
-
如要建立標準快照,請按照下列步驟操作:
-
compute.snapshots.create
新標準快照的目標專案 -
來源即時快照的
compute.instantSnapshots.useReadOnly
-
限制
如果即時快照的來源磁碟使用客戶提供的加密金鑰 (CSEK) 加密,即時快照也會使用相同的金鑰加密。因此,如要透過 CSEK 加密的即時快照建立標準快照,您必須提供用於加密來源磁碟的金鑰。
您最多可在每 60 分鐘內為個別磁碟建立 6 次標準快照。這個限制也適用於透過磁碟的即時快照建立標準快照。
透過即時快照建立標準快照或封存快照
您可以使用 gcloud CLI、Google Cloud 主控台或 REST,從即時快照建立標準快照或封存快照。
主控台
找出即時快照:
前往 Google Cloud 控制台的「Snapshots」(快照)頁面。
按一下「即時快照」分頁標籤。
在「名稱」欄中,記下要還原的快照名稱。
按一下 [Create snapshot] (建立快照)。
在「名稱」欄位中,輸入用於識別快照的專屬名稱。
選用設定。在「Description」欄位中新增快照的詳細資料。
在「Snapshot source type」(快照來源類型) 下方,選擇「Instant snapshot」(即時快照)。
在「Source instant snapshot」清單中,選取要使用的即時快照。
在「Type」(類型) 中,選擇「Snapshot」(快照) 或「Archive snapshot」(封存快照)。
在「Location」(位置) 部分,選擇快照儲存位置。系統會自動選取快照設定中指定的預先定義或自訂預設位置。如要覆寫快照設定,將快照儲存在自訂儲存位置,請執行下列步驟:
如果即時快照已加密 CSEK,請提供加密金鑰:
- 在「Decryption」部分,在「Encryption key」欄位中輸入加密金鑰。
- 如果金鑰已使用公開 RSA 金鑰包裝,請選取「Wrapped key」。
按一下 [Create] (建立) 以建立快照。
gcloud
使用 gcloud compute snapshots create
指令,從區域或地區即時快照建立標準快照。您可以根據即時快照是區域磁碟或地區磁碟,使用不同的標記。
區域即時快照
您可以使用快照設定定義的儲存位置政策,或使用自選的替代儲存位置,從區域即時快照建立標準快照或封存快照。詳情請參閱「選擇快照儲存位置」一文。
- 如要在快照設定中預先定義或自訂的預設位置建立標準快照或封存快照,請使用下列指令:
gcloud compute snapshots create NEW_STANDARD_SNAPSHOT_NAME \ --source-instant-snapshot=SRC_INSTANT_SNAPSHOT_NAME \ --source-instant-snapshot-zone=SOURCE_ZONE \ --snapshot-type=SNAPSHOT_TYPE
將下列內容替換為對應的值:
NEW_STANDARD_SNAPSHOT_NAME
:新標準快照的專屬名稱。SRC_INSTANT_SNAPSHOT_NAME
:來源即時快照的名稱。SOURCE_ZONE
:即時快照所在的區域。SNAPSHOT_TYPE
:要建立的快照類型,可為STANDARD
或ARCHIVE
。如果省略這個旗標,系統會建立標準快照。如要覆寫快照設定,並在自訂儲存位置建立標準快照或封存快照,請加入
--storage-location
標記,以指示快照的儲存位置:
gcloud compute snapshots create NEW_STANDARD_SNAPSHOT_NAME \ --source-instant-snapshot=SRC_INSTANT_SNAPSHOT_NAME \ --source-instant-snapshot-zone=SOURCE_ZONE \ --storage-location=STORAGE_LOCATION \ --snapshot-type=SNAPSHOT_TYPE
將下列內容替換為對應的值:
NEW_STANDARD_SNAPSHOT_NAME
:新快照的專屬名稱。SRC_INSTANT_SNAPSHOT_NAME
:來源即時快照的名稱。SOURCE_ZONE
:即時快照所在的區域。STORAGE_LOCATION
:如果是自訂儲存空間位置,則是您要儲存快照的 Cloud Storage 多地區或 Cloud Storage 地區。您只能指定一個儲存位置。只有在您想覆寫快照設定中預先定義或自訂的預設儲存位置時,才使用
--storage-location
標記。SNAPSHOT_TYPE
:要建立的快照類型,可為STANDARD
或ARCHIVE
。如果省略這個旗標,系統會建立標準快照。
區域即時快照
您可以使用快照設定中定義的儲存位置政策,或使用自選的替代儲存位置,從地區即時快照建立標準快照或封存快照。詳情請參閱「選擇快照儲存位置」一文。
- 如要在快照設定中預先定義或自訂的預設位置建立標準快照或封存快照,請使用下列指令:
gcloud compute snapshots create NEW_STANDARD_SNAPSHOT_NAME \ --source-instant-snapshot=SRC_INSTANT_SNAPSHOT_NAME \ --source-instant-snapshot-region=SOURCE_REGION \ --snapshot-type=SNAPSHOT_TYPE
將下列內容替換為對應的值:
NEW_STANDARD_SNAPSHOT_NAME
:新標準快照的專屬名稱。SRC_INSTANT_SNAPSHOT_NAME
:來源即時快照的名稱。SOURCE_REGION
:即時快照所在的區域。SNAPSHOT_TYPE
:要建立的快照類型,可為STANDARD
或ARCHIVE
。如果省略這個旗標,系統會建立標準快照。如要覆寫快照設定,並在自訂儲存位置建立標準快照或封存快照,請加入
--storage-location
標記,以指示快照的儲存位置:
gcloud compute snapshots create NEW_STANDARD_SNAPSHOT_NAME \ --source-instant-snapshot=SRC_INSTANT_SNAPSHOT_NAME \ --source-instant-snapshot-region=SOURCE_REGION \ --storage-location=STORAGE_LOCATION \ --snapshot-type=SNAPSHOT_TYPE
將下列內容替換為對應的值:
NEW_STANDARD_SNAPSHOT_NAME
:新快照的專屬名稱。SRC_INSTANT_SNAPSHOT_NAME
:來源即時快照的名稱。SOURCE_REGION
:即時快照所在的區域。STORAGE_LOCATION
:如果是自訂儲存位置,則是您要儲存快照的 Cloud Storage 多地區或 Cloud Storage 地區。您只能指定一個儲存位置。只有在您想覆寫快照設定中預先定義或自訂的預設儲存位置時,才使用
--storage-location
標記。SNAPSHOT_TYPE
:要建立的快照類型,可為STANDARD
或ARCHIVE
。如果省略這個旗標,系統會建立標準快照。
REST
如要從區域或地區即時快照建立標準快照,請對 snapshots.insert 方法發出 POST
要求。
API 要求的屬性取決於即時快照是區域性磁碟還是區域磁碟。
區域即時快照
您可以使用快照設定定義的儲存位置政策,或使用自選的替代儲存位置,從區域即時快照建立標準快照或封存快照。詳情請參閱「選擇快照儲存位置」一文。
如要在預先定義或自訂的預設位置 (在快照設定中設定) 建立標準快照或封存快照,請對
snapshots.insert
方法發出POST
要求。如要覆寫快照設定,並在自訂儲存位置建立快照,請在要求中加入
storageLocations
屬性。
POST https://compute.googleapis.com/compute/v1/projects/DESTINATION_PROJECT/global/snapshots { "name": "NEW_STANDARD_SNAPSHOT_NAME", "snapshotType": "NEW_SNAPSHOT_TYPE", "sourceInstantSnapshot": "projects/SOURCE_PROJECT/zones/SOURCE_ZONE/instantSnapshots/SOURCE_INSTANT_SNAPSHOT_NAME", "sourceInstantSnapshotEncryptionKey": "SOURCE_ENCRYPTION_KEY" }
將下列內容替換為對應的值:
DESTINATION_PROJECT
:建立新快照的專案。NEW_STANDARD_SNAPSHOT_NAME
:新快照的專屬名稱。NEW_SNAPSHOT_TYPE
:要建立的快照類型,可為STANDARD
或ARCHIVE
。SOURCE_PROJECT
:包含來源即時快照的專案。SOURCE_ZONE
:即時快照所在的區域。SOURCE_INSTANT_SNAPSHOT_NAME
:來源即時快照的名稱。SOURCE_ENCRYPTION_KEY
:如果即時快照是使用客戶提供的金鑰或客戶管理的金鑰加密,請將這個值替換為金鑰資訊。否則,您可以省略這個屬性。STORAGE_LOCATION
:選用。您要儲存快照的 Cloud Storage 多地區或 Cloud Storage 地區。您只能指定一個儲存位置。
只有在您想覆寫快照設定中預先定義或自訂的預設儲存位置時,才使用 storageLocations
參數。
區域即時快照
您可以使用快照設定定義的儲存位置政策,或使用自選的替代儲存位置,從地區即時快照建立地區標準快照或封存快照。詳情請參閱「選擇快照儲存位置」一文。
如要在快照設定中設定的預先定義或自訂預設位置建立標準或封存快照磁碟區,請對 snapshots.insert
方法發出 POST
要求。
POST https://compute.googleapis.com/compute/v1/projects/DESTINATION_PROJECT/global/snapshots { "name": "NEW_STANDARD_SNAPSHOT_NAME", "snapshotType": "NEW_SNAPSHOT_TYPE", "sourceInstantSnapshot": "projects/SOURCE_PROJECT/regions/SOURCE_REGION/instantSnapshots/SOURCE_INSTANT_SNAPSHOT_NAME", "sourceInstantSnapshotEncryptionKey": "SOURCE_ENCRYPTION_KEY" }
將下列內容替換為對應的值:
DESTINATION_PROJECT
:建立新快照的專案。NEW_STANDARD_SNAPSHOT_NAME
:新快照的專屬名稱。NEW_SNAPSHOT_TYPE
:要建立的快照類型,可為STANDARD
或ARCHIVE
。SOURCE_PROJECT
:包含來源即時快照的專案。SOURCE_REGION
:即時快照所在的區域。SOURCE_INSTANT_SNAPSHOT_NAME
:來源即時快照的名稱。SOURCE_ENCRYPTION_KEY
:如果即時快照是使用客戶提供的金鑰或客戶管理的金鑰加密,請將這個值替換為金鑰資訊。否則,您可以省略這個屬性。
API 要求回應
如果 POST
要求成功,回應主體會是您可以輪詢的物件,用於取得快照建立狀態。詳情請參閱「處理 API 回應」。
後續步驟
- 瞭解如何跨專案共用標準快照。
- 瞭解如何從標準快照建立 VM。
- 如要瞭解如何排解建立標準快照時發生的錯誤和建立即時快照時發生的錯誤,請參閱相關說明。