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


建立快照時,系統會預設將快照建立為全域範圍的快照。針對特定專案,您可以設定快照設定,自訂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.

    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.

限制

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

後續步驟