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


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

本文提供快照設定的相關資訊,以及如何使用這些設定,為專案的全域範圍快照自訂預設儲存位置。

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

事前準備

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

    Select the tab for how you plan to use the samples on this page:

    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.
      3. REST

        如要在本機開發環境中使用本頁的 REST API 範例,請使用您提供給 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.

        詳情請參閱 Google Cloud 驗證說明文件中的「Authenticate for using 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。

後續步驟