位置端点
本页面介绍了 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-central1
或 europe-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-central1
或 europe-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
行,请将其删除。