全球和区域服务端点

本页面介绍了 Spanner 全球和区域服务端点以及如何使用它们。

服务端点是指定 API 服务的网络地址的基础网址。Spanner 具有全球和区域端点。您可以使用全球或区域服务端点向 Spanner 发出请求。

如果您没有严格的区域限制要求,请使用全球端点。虽然数据存储在所选区域内,但可能会在该区域外进行处理。Spanner 的全球端点为 spanner.googleapis.com。默认 API 端点会访问全球端点。

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

如需了解可以使用哪些区域,请参阅可用于区域端点的区域。无论您使用哪个端点,底层 Spanner 存储政策都不会发生变化。

区域端点的安全性和合规性

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

您只能使用属于相应区域实例配置的区域端点。例如,如果您要访问的实例属于 us-central1 区域实例配置,则无法使用 spanner.me-central2.rep.googleapis.com 处理请求。请求会遭到拒绝,并显示 InvalidRegionalRequest 错误。

区域端点的限制

您无法通过区域端点访问双区域或多区域实例配置。您必须使用全球端点访问双区域或多区域实例配置。例如,如果您在多区域实例配置 nam7 中有一个实例,则无法使用区域端点 spanner.us-central1.rep.googleapis.comnam7 中的实例发送请求。

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

区域端点命名惯例

Spanner 区域端点名称遵循与区域实例配置名称相同的命名惯例。区域端点采用 spanner.REGION.rep.googleapis.com 格式。例如,达曼的区域实例配置名称和区域端点名称均为 me-central2。因此,区域端点为 spanner.me-central2.rep.googleapis.com

如需了解详情,请参阅可用于区域端点的区域

指定区域端点

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

gcloud

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

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

请提供以下值:

REGION
要为其设置区域端点的区域。例如 me-central2

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

gcloud config set api_endpoint_overrides/spanner https://spanner.me-central2.rep.googleapis.com/

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

gcloud config unset api_endpoint_overrides/spanner

REST API

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

https://spanner.REGION.rep.googleapis.com

例如,如果您想在达曼区域实例配置 (me-central2) 中强制执行数据保证,请使用:

  https://spanner.me-central2.rep.googleapis.com

如需了解详情,请参阅 REST API可用于区域端点的区域

RPC API

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

spanner.REGION.rep.googleapis.com

例如,如果您想在达曼区域实例配置 (me-central2) 中强制执行数据保证,请使用:

spanner.me-central2.rep.googleapis.com

如需了解详情,请参阅 RPC API可用于区域端点的区域

可用于区域端点的区域

Spanner 区域端点可在以下区域中使用:

基本区域名称 区域说明
美洲
us-central1 艾奥瓦
us-central2 俄克拉何马
us-east1 南卡罗来纳
us-east4 北弗吉尼亚
us-east5 哥伦布
us-east7 亚拉巴马
us-south1 Dallas
us-west1 俄勒冈
us-west2 洛杉矶
us-west3 盐湖城
us-west4 拉斯维加斯
us-west8 Phoenix
中东
me-central2 Dammam
欧洲
europe-west8 米兰

限制全球 API 端点使用

为了帮助强制使用区域端点,请使用 constraints/gcp.restrictEndpointUsage 组织政策限制条件来阻止对全球 API 端点的请求。如需了解详情,请参阅限制端点使用

后续步骤