创建快照时,默认情况下,快照会作为全局范围快照创建。对于给定项目,您可以通过配置快照设置来自定义Google Cloud 存储全局范围限定快照的默认位置。通过使用快照设置来定义自己的自定义默认值,则无需在每次创建快照时手动指定位置。
本文档介绍了快照设置以及如何使用快照设置为项目的全局范围快照自定义默认存储位置。
如需管理区域范围限定的快照的位置设置,请参阅为区域范围限定的快照设置快照创建和恢复位置(预览版)。
准备工作
-
如果您尚未设置身份验证,请进行设置。身份验证是通过其进行身份验证以访问 Google Cloud 服务和 API 的过程。如需从本地开发环境运行代码或示例,您可以通过选择以下选项之一向 Compute Engine 进行身份验证:
限制
- 您只能使用 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
(可选):如果您包含值为specific-locations
的--storage-location-policy
标志,则必须指定 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
(可选):如果您包含值为SPECIFIC_LOCATIONS
的policy
参数,则必须指定 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。
后续步骤
- 了解如何查看、删除和共享磁盘快照。
- 了解如何为磁盘创建预定快照。
- 了解如何从快照创建磁盘映像。