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


在某些情況下,您可能會想要將即時快照複製到來源磁碟以外的可用區或區域。可能的情況包括:

  • 刪除來源磁碟前,請先保留即時快照中的資料,因為刪除磁碟會刪除其即時快照。
  • 將即時快照儲存在其他位置,以免發生區域或區域停機。
  • 將含有資料的即時快照從事件或專案里程碑移至長期儲存空間。
  • 使用某個位置的即時快照,在另一個位置建立新磁碟。

在這些情況下,您必須從即時快照建立標準快照或封存快照,並使用新建立的快照。

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

事前準備

  • 如果尚未設定,請先設定驗證機制。驗證是指驗證身分,以便存取 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

    1. 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.

    2. 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.snapshots.create 新標準快照的目標專案
    • 來源即時快照的 compute.instantSnapshots.useReadOnly

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

限制

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

您最多可在每 60 分鐘內為個別磁碟建立 6 次標準快照。這個限制也適用於透過磁碟的即時快照建立標準快照。

透過即時快照建立標準快照或封存快照

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

主控台

  1. 找出即時快照:

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

      前往「快照」

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

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

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

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

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

  5. 在「Snapshot source type」(快照來源類型) 下方,選擇「Instant snapshot」(即時快照)

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

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

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

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

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

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

    1. 在「Decryption」部分,在「Encryption key」欄位中輸入加密金鑰。
    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 回應」。

後續步驟