区域性端点

本页面介绍了 Cloud Spanner 区域端点。您可以使用全球或区域服务端点向 Spanner 发出请求。使用区域端点实施区域限制,并确保您的数据在同一区域内存储和处理。

服务端点是指定 API 服务的网络地址的基本网址。Spanner 同时具有全球端点和区域端点。

如果您没有严格的区域限制要求,请使用全球端点。虽然数据存储在选定区域内,但在极少数情况下,系统也可以处理该区域以外的数据。Spanner 的全球端点为 spanner.googleapis.com。默认 API 端点用于访问全球端点。

区域端点实施区域限制。数据在同一区域内存储和处理。Spanner 的区域端点可确保存储和处理的数据仅限于数据库所在的 Spanner 区域实例配置。如果您的数据位置必须受到限制并受到控制以满足监管要求,请使用区域端点。您无法使用区域端点来访问属于不同实例配置的资源。您必须先在区域实例配置中创建实例,然后才能使用该实例配置的区域端点。

Spanner 区域端点适用于所有区域实例配置。它们在多区域实例配置中不可用。无论您使用哪个端点,底层 Spanner 存储政策都不会更改。

安全与法规遵从

与全球端点相比,使用 Spanner 区域端点的优势在于,该区域端点可提供区域隔离和保护,以满足安全性、合规性和监管要求。

您只能使用属于该区域实例配置的区域级端点。例如,如果要访问的实例属于 us-central1 区域实例配置,则您无法使用 us-west1-spanner.googleapis.com 处理请求。请求将被拒绝并返回 InvalidRegionalRequest 错误。

限制

您无法使用区域端点访问多区域实例配置。您必须使用全球端点来访问多区域实例配置。例如,如果您在多区域实例配置 nam7 中有一个实例(该实例有 us-central1 作为其副本位置),则无法使用区域端点 us-central1-spanner.googleapis.comnam7 中的实例发送请求。

如果有任何请求使用任何实例资源上的区域端点,则实例移动会影响使用区域端点的所有请求,因为区域强制执行会阻止对跨区域实例的访问。使用全球端点的请求不受影响。

地区端点语义

Spanner 区域端点名称与区域实例配置名称采用相同的命名惯例。区域端点遵循 <REGION>-spanner.googleapis.com 格式。例如,爱荷华的区域实例配置名称和区域端点名称均为 us-central1。在本例中,区域端点为 us-central1-spanner.googleapis.com。如需查看所有可用的区域实例配置的列表,请参阅区域配置

如何指定区域端点

您可以指定使用 Google Cloud CLI 以及 REST 或 RPC API 请求的 Spanner 区域端点。

gcloud

如需指定区域端点并替换全球端点,请运行以下命令:

gcloud config set api_endpoint_overrides/spanner https://REGION-spanner.googleapis.com/

请提供以下值:

REGION
要为其设置区域端点的区域。例如,us-central1europe-west1

例如,如需将区域端点配置为 us-central1,请运行以下命令:

gcloud config set api_endpoint_overrides/spanner https://us-central1-spanner.googleapis.com/

如需将区域端点重新配置为全球端点,请运行以下命令:

gcloud config unset api_endpoint_overrides/spanner

REST API

默认 API 端点会访问全球端点。如需使用区域端点,请使用以下模式将端点配置为区域端点的地址:

https://REGION-spanner.googleapis.com

例如,如果要在爱荷华区域实例配置 (us-central1) 中实施数据保证,请使用以下命令:

  https://us-central1-spanner.googleapis.com

如需了解详情,请参阅 REST API

RPC API

默认 API 端点会访问全球端点。如需使用区域端点,请使用以下模式将端点配置为区域端点的地址:

REGION-spanner.googleapis.com

例如,如果要在爱荷华区域实例配置 (us-central1) 中实施数据保证,请使用以下命令:

us-central1-spanner.googleapis.com

如需了解详情,请参阅 RPC API

后续步骤