為全域範圍的快照設定預設儲存位置

建立快照時,系統預設會建立全域範圍的快照。針對特定專案,您可以設定快照設定,自訂Google Cloud 儲存全域範圍快照的預設位置。使用快照設定定義自訂預設值,就不必在每次建立快照時手動指定位置。

本文將說明快照設定,以及如何使用這些設定,為專案的全域範圍快照自訂預設儲存位置。

如要管理區域範圍快照的位置資訊設定,請參閱「設定區域範圍快照的建立和還原位置」(預先發布版)。

事前準備

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

    選取這個頁面上範例的預計用途分頁:

    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 進行驗證」一節。

限制

  • 您只能使用 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。

後續步驟