建立快照時,系統預設會建立全域範圍的快照。針對特定專案,您可以設定快照設定,自訂Google Cloud 儲存全域範圍快照的預設位置。使用快照設定定義自訂預設值,就不必在每次建立快照時手動指定位置。
本文將說明快照設定,以及如何使用這些設定,為專案的全域範圍快照自訂預設儲存位置。
如要管理區域範圍快照的位置資訊設定,請參閱「設定區域範圍快照的建立和還原位置」(預先發布版)。
事前準備
-
如果尚未設定驗證,請先完成設定。驗證可確認您的身分,以便存取 Google Cloud 服務和 API。如要從本機開發環境執行程式碼或範例,您可以選取下列其中一個選項,向 Compute Engine 進行驗證:
選取這個頁面上範例的預計用途分頁:
gcloud
-
安裝 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 進行驗證」一節。
限制
- 您只能使用 gcloud CLI 或 REST 查看及更新快照設定。
- 您無法自訂即時快照的預設儲存位置。您只能對標準快照和封存快照執行這項操作。
- 修改專案快照設定中的位置政策,只會影響修改後建立的快照。更新專案的快照設定不會變更任何現有快照的位置。
- 如果您在建立快照時手動指定位置,系統會覆寫快照設定,並在您指定的新位置建立快照。 Google Cloud不過,快照設定中的儲存空間位置政策會維持不變。
- 預設儲存位置僅適用於全域範圍的快照。如要控管區域範圍快照的儲存位置,您必須設定允許的快照建立位置。
- 設定預設儲存位置只會控管快照的儲存位置。 使用全域範圍快照時,您無法設定快照資料的還原位置。如要設定快照還原的允許位置,您需要建立區域快照,並設定允許的還原位置。
快照設定的運作方式
專案快照設定的儲存位置政策,定義了Google Cloud 自動儲存該專案快照的位置。 Google Cloud會保留這項儲存位置政策的預先定義值,直到您更新快照設定並設定新的預設值為止。更新快照設定並設定新的預設儲存位置後,Google Cloud 會使用這個位置儲存該專案中建立的所有新快照。
您可以更新快照設定,不限次數修改儲存位置政策。不過,修改專案的快照設定只會影響修改後建立的快照位置。更新專案的快照設定不會變更任何現有快照的位置。
為確保 Google Cloud 使用快照設定定義的儲存位置,請勿在建立快照時手動指定位置。如果在建立快照時手動指定位置,系統會覆寫快照設定,並在您指定的新位置建立快照。 Google Cloud不過,快照設定中的儲存空間位置政策會維持不變。
您可以使用快照設定,自訂標準和封存快照的預設儲存位置。您無法自訂即時快照的預設儲存位置。
儲存位置選項
設定專案的快照設定並指定新的預設儲存位置時,您可以選擇特定區域,或使用以磁碟為準的位置設定。具體來說,您可以為儲存位置政策選擇下列任一位置選項:
- 最接近來源磁碟的多區域
- 與來源磁碟相同的本機區域
- 您選擇的特定區域
Google Cloud 預先定義的儲存位置政策
首次更新快照設定前, Google Cloud會維持儲存位置政策的預先定義值。這項預先定義的政策會提供快照的預設儲存位置,直到您更新專案的快照設定,自行設定預設儲存位置為止。系統會根據來源磁碟的位置,將預先定義的儲存位置政策設為地理位置最接近的多區域。
- 如果來源磁碟位於多區域內,快照設定的儲存位置政策就會設為該多區域。舉例來說,如果磁碟位於
us-central1等位置,預設儲存位置就是多區域us。 - 如果位置不在多區域內,預設儲存位置會是該區域外地理位置最接近的多區域。如果是
australia-southeast1這類位置,預設位置會變成asia多區域。
定價影響
使用專案的快照設定時,不需支付額外費用。不過,您使用快照設定指定的位置值會影響其他作業,進而影響這些作業的費用。
使用快照設定,為專案設定預設儲存位置
您可以使用 REST 和 gcloud CLI 更新專案的快照設定,並設定新的預設儲存空間位置。
如果您未在快照設定中設定儲存位置政策,系統會使用Google Cloud 預先定義的儲存位置政策建立快照。
gcloud
如要為專案新增快照設定或更新現有快照設定,請使用 gcloud compute snapshot-settings update 指令:
gcloud compute snapshot-settings update \
--project=PROJECT_ID \
--storage-location-policy=STORAGE_LOCATION \
--storage-location-names=REGION_NAME
更改下列內容:
PROJECT_ID:專案 ID。STORAGE_LOCATION:專案的快照儲存位置政策。可能的值如下:nearest-multi-region:將位置政策指定為最接近磁碟位置的Cloud Storage 多區域。local-region:將位置政策指定為磁碟所在的 Cloud Storage 區域。specific-locations:指定位置政策,做為您選擇的自訂 Cloud Storage 區域位置。如果指定這個選項,也必須使用--storage-location-names旗標指定所需位置。
REGION_NAME:選用:如果加入--storage-location-policy旗標,且值為specific-locations,則必須指定 Cloud Storage 區域。您只能指定一個區域,且不得為 Cloud Storage 多區域。將這個值設為要指定為儲存位置政策的區域名稱。
使用快照設定設定儲存位置政策的範例
假設 us-central1 區域中有一個範例專案 my-project。
- 如要將專案快照設定的儲存位置政策,設為最靠近磁碟的 Cloud Storage 多區域,請執行下列指令:
gcloud compute snapshot-settings update \
--project=my-project \
--storage-location-policy=nearest-multi-region
- 如要將專案快照設定的儲存位置政策,設為與磁碟相同的 Cloud Storage 區域,請執行下列指令:
gcloud compute snapshot-settings update \
--project=my-project \
--storage-location-policy=local-region
- 如要將專案快照設定的儲存位置政策設為您選擇的特定位置 (例如
us-central1),請使用--storage-location-names標記並執行下列指令:
gcloud compute snapshot-settings update \
--project=my-project \
--storage-location-policy=specific-locations \
--storage-location-names=us-central1
REST
如要新增快照設定或更新專案現有的快照設定,請向 snapshotSettings.update 方法提出 PATCH 要求:
PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/snapshotSettings
{
"storageLocation": {
"policy": "STORAGE_LOCATION",
"locations": {
"REGION_NAME": { "name": "REGION_NAME" }
}
}
}
更改下列內容:
PROJECT_ID:專案 ID。STORAGE_LOCATION:專案的快照儲存位置政策。可能的值如下:NEAREST_MULTI_REGION:將位置政策指定為最接近磁碟位置的Cloud Storage 多區域。LOCAL_REGION:將位置政策指定為與磁碟所在的Cloud Storage 區域相同。SPECIFIC_LOCATIONS:指定位置政策,做為您選擇的自訂 Cloud Storage 區域位置。如果指定這個選項,您也必須在要求中使用locations參數指定所需位置。
REGION_NAME:選用:如果您加入policy參數並將值設為SPECIFIC_LOCATIONS,則必須指定 Cloud Storage 區域。您只能指定一個區域,且不得為 Cloud Storage 多區域。將這個值設為要指定為儲存空間位置政策的區域名稱。
使用快照設定設定儲存位置政策的範例
假設 us-central1 區域中有一個範例專案 my-project。
- 如要將專案快照設定的儲存位置政策,設為最靠近磁碟的 Cloud Storage 多區域,請發出下列
PATCH要求:
PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/snapshotSettings
{
"storageLocation": {
"policy": "NEAREST_MULTI_REGION"
}
}
- 如要將專案快照設定的儲存位置政策,設為與磁碟相同的 Cloud Storage 區域,請提出下列
PATCH要求:
PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/snapshotSettings
{
"storageLocation": {
"policy": "LOCAL_REGION"
}
}
- 如要將專案快照設定的儲存位置政策設為特定位置 (例如
us-central1),請提出下列PATCH要求:
PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/snapshotSettings
{
"storageLocation": {
"policy": "SPECIFIC_LOCATIONS",
"locations": {
"us-central1": { "name": "us-central1"}
}
}
}
查看專案快照設定定義的預設儲存位置
您可以使用 Compute Engine API 和 gcloud CLI 查看專案的快照設定。
gcloud
如要查看專案的快照設定,請使用 gcloud compute snapshot-settings describe 指令:
gcloud compute snapshot-settings describe \
--project=PROJECT_ID
將 PROJECT_ID 替換為專案 ID。
REST
如要查看專案的快照設定,請對 snapshotSettings.get 方法發出 GET 要求:
GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/snapshotSettings
將 PROJECT_ID 替換為專案 ID。
後續步驟
- 瞭解如何查看、刪除及共用磁碟快照。
- 瞭解如何為磁碟建立排程快照。
- 瞭解如何從快照建立磁碟映像檔。