位置端点

本页面介绍了 Bigtable 位置端点,还介绍了 以及如何使用 Google Cloud CLI

您可以使用全球或位置服务端点向 Bigtable。Bigtable 的位置端点可确保 实例的数据在 Bigtable 中存储和处理 数据所在的区域。您可能需要使用 特定地理区域中的 Bigtable 的位置端点 以满足您项目的安全性和合规性需求。

在阅读本文档之前,您应先熟悉实例、集群和节点以及应用配置文件

主要概念包括:

  • 服务端点服务端点是指定 API 服务的网络地址的基础网址。Bigtable 具有全球和位置端点。

  • 全球端点全球端点使 Bigtable 可以将 Bigtable 实例中的数据存储和路由到包含该实例集群的任何区域。Cloud Bigtable API (Data API) 的全球端点为 bigtable.googleapis.com。默认的 Data API 端点访问全球端点。

  • 位置端点位置端点会强制实施 进行限制,确保数据按照指定的 区域。

位置端点只能与 Cloud Bigtable API(数据 API)。Cloud Bigtable Admin API 不支持位置端点。

何时使用位置端点

相对于全球范围使用 Bigtable 位置端点 这个端点就是提供位置隔离功能 以满足安全性、合规性和监管要求。

如果您的数据位置必须受到限制且 以遵守监管要求。

如果您没有严格的位置限制要求,请使用全球端点。

使用位置端点时的注意事项

使用位置端点时,请考虑以下因素。

集群位置

您必须先在以下位置创建实例,然后才能使用位置端点: 在您想要隔离数据的区域中至少拥有一个集群。 Bigtable 位置端点在所有 Bigtable 位置

您只能使用属于所需区域的位置端点 来隔离您的数据例如,如果您要访问的集群位于 us-central1 区域,则无法使用 us-west1-bigtable.googleapis.com 响应请求。

如果您尝试使用 端点访问其他区域中的集群时,该请求会被拒绝并 出现 FAILED_PRECONDITION 错误,并显示一条说明没有集群的消息 可使用指定集群和端点访问例如,发送给 us-central1 以访问 us-west1-bigtable.googleapis.com 中集群的请求会失败并显示 FAILED_PRECONDITION。如需详细了解 FAILED_PRECONDITION,请参阅 Bigtable 状态代码

应用配置文件

设置位置端点后,您必须使用符合以下条件的应用配置文件: 配置为将请求路由到该端点所在区域的集群

如果您尝试使用配置为从端点向不同区域中的单个集群(使用单集群路由)或多个集群(使用多集群路由)发送写入请求的应用配置文件,则会收到“不满足前提条件”错误消息 There are no clusters accessible through this app profile and the REGION_NAME endpoint.。如需详细了解集群路由,请参阅路由政策

如果您使用的应用配置文件配置为路由到 实例以实现高可用性 (HA),同时还使用位置端点,即 位置端点可确保所有请求仅路由到其 即使此实例的集群位于其他区域也是如此。自动故障切换会受到限制,因此请求只会从端点所在区域中的集群响应。

假设这样一个示例:您使用配置为多集群路由的应用配置文件将请求发送到在 us-west1-a(俄勒冈)、us-west1-b(俄勒冈)和 us-central1-a(爱荷华)有集群的实例。如果您 将这些请求发送到 us-central1-bigtable.googleapis.com 位置 则所有请求都由 us-central1-a 处理,即使您没有 重新配置应用配置文件。无法由 us-central1-a 响应的请求则会失败。

复制

位置端点不会影响或阻止复制。如果您配置了 位置端点,然后将集群添加到 在区域 B 中,您的数据会复制到区域 B,就像您使用 全球端点

如需避免将数据复制到另一个区域,请仅在需要的区域中创建集群。

如需阻止组织中的用户在端点区域外添加集群,您可以设置使用位置限制条件的组织政策。如需了解详情,请参阅限制资源位置

可用性

使用位置端点时,您无法将 Bigtable 配置为实现不低于 99.999% 的每月正常运行时间百分比。每月正常运行时间不低于 99.999% 需要自动进行故障切换 位置边界以外的请求,而位置端点会阻止此类请求 因为它会将所有请求限制在一个区域内如需详细了解 每月正常运行时间百分比,请参阅 Bigtable 服务等级协议 (SLA)

位置端点语义

Bigtable 位置端点名称的第一段是 Google Cloud 区域名称。位置端点采用以下格式 REGION-bigtable.googleapis.com,其中 REGION 是区域名称,例如 northamerica-northeast2

例如,如果您想隔离爱荷华区域的数据, 爱荷华州的区域名称为 us-central1,爱荷华州的位置端点网址 区域为 us-central1-bigtable.googleapis.com。如需查看可用区域的列表,请参阅 Bigtable 位置

指定位置端点

您可以使用 Google Cloud CLI、cbt CLI 或 Cloud Bigtable 客户端 库

gcloud

如需使用 gcloud CLI 指定位置端点并替换全球端点,请运行以下命令:

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

REGION 替换为您要在其中设置 位置端点,例如 us-central1europe-west1

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

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

cbt

如需使用 cbt CLI 指定位置端点并替换全球端点,您可以在请求中使用 --data-endpoint 选项,也可以将以下内容添加到 ~/.cbtrc 文件中。如需详细了解如何创建 ~/.cbtrc 文件,请参阅 cbt CLI 参考文档

data-endpoint = https://REGION-bigtable.googleapis.com/

REGION 替换为您要在其中设置 位置端点,例如 us-central1europe-west1

例如,如需将位置端点配置为 us-central1,请将以下代码添加到 ~/.cbtrc 文件:

data-endpoint = https://us-central1-bigtable.googleapis.com/

指定全球端点

gcloud

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

gcloud config unset api_endpoint_overrides/bigtable

cbt

如需指定全球端点,请在发送请求时不使用 --data-endpoint 选项。如果您之前向 ~/.cbtrc 文件添加了 data-endpoint 行,请将其删除。

后续步骤