位置端點

本頁面說明 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無法處理的要求會失敗。

複製

位置端點不會影響或阻止複製作業。如果您在 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 用戶端程式庫,指定 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 行,請刪除該行。

限制全球 API 端點用量

如要強制使用特定位置的端點,請使用constraints/gcp.restrictEndpointUsage機構政策限制,封鎖對全域 API 端點的要求。詳情請參閱「限制端點用量」。

後續步驟