位置端点
本页面介绍了 Bigtable 位置端点,还介绍了 以及如何使用 Google Cloud CLI
您可以使用全球或位置服务端点向 Bigtable。Bigtable 的位置端点可确保 实例的数据在 Bigtable 中存储和处理 数据所在的区域。您可能需要使用 特定地理区域中的 Bigtable 的位置端点 以满足您项目的安全性和合规性需求。
在阅读本文档之前,您应先熟悉实例、集群和节点以及应用配置文件。
主要概念包括:
服务端点:服务端点是指定 API 服务的网络地址的基础网址。Bigtable 具有 包括全球和位置端点
全球端点:全球端点使 Bigtable 可以将 Bigtable 实例中的数据存储和路由到包含该实例集群的任何区域。该 Cloud Bigtable API (Data API) 为
bigtable.googleapis.com
。默认数据 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
行,请将其删除。