將即時快照複製到其他位置

在某些情況下,您可能想將即時快照複製到與來源磁碟不同的可用區或區域。可能適用的場合包括:

  • 在刪除來源磁碟前保留即時快照中的資料,因為刪除磁碟會連帶刪除即時快照。
  • 將即時快照儲存在不同位置,避免可用區或區域中斷服務時受到影響。
  • 將含有活動或專案里程碑資料的即時快照移至長期儲存空間。
  • 使用某個位置的即時快照,在另一個位置建立新磁碟。

在這些情況下,您必須從即時快照建立標準或封存快照,並使用新建立的快照。新的標準或封存快照會儲存在磁碟現有的快照鏈中,做為增量資源。

本頁說明如何從即時快照建立標準快照或封存快照。

事前準備

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

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

    控制台

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

    gcloud

    1. 安裝 Google Cloud CLI。 完成後,執行下列指令來初始化 Google Cloud CLI:

      gcloud init

      若您採用的是外部識別資訊提供者 (IdP),請先使用聯合身分登入 gcloud CLI

  • 設定預設地區和區域
  • REST

    如要在本機開發環境中使用本頁的 REST API 範例,請使用您提供給 gcloud CLI 的憑證。

      安裝 Google Cloud CLI。

      若您採用的是外部識別資訊提供者 (IdP),請先使用聯合身分登入 gcloud CLI

    詳情請參閱 Google Cloud 驗證說明文件中的「使用 REST 進行驗證」。

必要角色和權限

如要取得從即時快照建立標準快照所需的權限,請要求管理員在專案中授予您下列 IAM 角色:

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

這些預先定義的角色具備從即時快照建立標準快照所需的權限。如要查看確切的必要權限,請展開「Required permissions」(必要權限) 部分:

所需權限

如要透過即時快照建立標準快照,您必須具備下列權限:

  • compute.snapshots.create 新標準快照的目的地專案
  • compute.instantSnapshots.useReadOnly 即時快照的權限

您或許還可透過自訂角色或其他預先定義的角色取得這些權限。

限制

如果即時快照的來源磁碟是以客戶提供的加密金鑰 (CSEK) 加密,即時快照也會以同一組金鑰加密。因此,如要透過以 CSEK 加密的即時快照建立標準快照,您必須提供用於加密來源磁碟的金鑰。

每 60 分鐘最多可建立 6 次個別磁碟的標準快照。從磁碟的即時快照建立標準快照時,也適用這項限制。

從即時快照建立標準或封存快照

您可以使用 gcloud CLI、 Google Cloud 控制台或 REST,從即時快照建立標準或封存快照。

控制台

  1. 尋找即時快照:

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

      前往「快照」

    2. 按一下「即時快照」分頁標籤。

    3. 在「名稱」欄中,記下要還原的快照名稱。

  2. 按一下 [Create snapshot] (建立快照)。

  3. 在「名稱」欄位中,輸入用於識別快照的專屬名稱。

  4. 選用。在「說明」欄位中新增快照的詳細資料。

  5. 在「快照來源類型」下方,選擇「即時快照」

  6. 在「來源即時快照」清單中,選取要使用的即時快照。

  7. 在「Type」(類型) 中,選擇「Snapshot」(快照) 或「Archive snapshot」(封存快照)

  8. 在「Location」(位置) 部分,選擇快照儲存位置。系統會自動選取快照設定中指定的預先定義或自訂預設位置。如要覆寫快照設定,將快照儲存在自訂儲存位置,請執行下列步驟:

    1. 選擇快照的儲存位置類型。

      • 若選擇「Multi-regional」(多區域),費用較高但提供較高可用性。
      • 選擇「Regional snapshots」(區域快照),便能以較低的費用進一步控管資料的實際位置。
    2. 在「Select location」(選取位置) 欄位,選擇要使用的特定區域或多區域。如要使用最接近來源磁碟的區域或多區域,請選取「Based on disk's location」(根據磁碟位置)

  9. 如果即時快照已透過 CSEK 加密,請提供加密金鑰:

    1. 在「解密」區段的「加密金鑰」欄位中,輸入加密金鑰。
    2. 如果金鑰已使用公開 RSA 金鑰包裝,請選取「Wrapped key」(經過包裝的金鑰)
  10. 按一下 [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:要建立的快照類型,可以是 STANDARDARCHIVE。如果省略這個旗標,系統會建立標準快照。

  • 如要覆寫快照設定,在自訂儲存位置中建立標準或封存快照,請加入 --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:要建立的快照類型,可以是 STANDARDARCHIVE。如果省略這個旗標,系統會建立標準快照。

區域即時快照

使用快照設定中定義的儲存位置政策,或使用您選擇的替代儲存位置,從區域即時快照建立標準或封存快照。詳情請參閱選擇快照儲存位置

  • 如要在快照設定中指定的預先定義或自訂預設位置建立標準快照或封存快照,請使用下列指令:
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:要建立的快照類型,可以是 STANDARDARCHIVE。如果省略這個旗標,系統會建立標準快照。

  • 如要覆寫快照設定,在自訂儲存位置中建立標準或封存快照,請加入 --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:要建立的快照類型,可以是 STANDARDARCHIVE。如果省略這個旗標,系統會建立標準快照。

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:要建立的快照類型,可以是 STANDARDARCHIVE
  • 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:要建立的快照類型,可以是 STANDARDARCHIVE
  • SOURCE_PROJECT:包含來源即時快照的專案。
  • SOURCE_REGION:即時快照所在的區域。
  • SOURCE_INSTANT_SNAPSHOT_NAME:來源即時快照的名稱。
  • SOURCE_ENCRYPTION_KEY:如果即時快照使用客戶提供的金鑰或客戶管理的金鑰加密,請以金鑰資訊取代這個值。否則可以省略這個屬性。

API 要求回應

如果 POST 要求成功,回應主體會是物件,您可以輪詢該物件,取得快照建立作業的狀態。詳情請參閱「處理 API 回應」。

後續步驟