區域和全域端點
本頁面說明 Bigtable 端點,並解釋使用端點前應考量的事項,以及如何使用 cbt CLI 設定端點。
如要將要求傳送至 Bigtable,可以使用全域或區域服務端點。Bigtable 的區域端點可確保執行個體的資料儲存及處理作業,都在資料所在的 Bigtable 區域進行。為支援專案的安全性與法規遵循需求,您可能需要在特定地理區域使用 Bigtable 的區域端點。
閱讀本文前,請先熟悉「執行個體、叢集和節點」和「應用程式設定檔」。
重要概念包括:
服務端點:指定 API 服務網路位址的基準網址。Bigtable 具有全域和區域端點。
全域端點:Bigtable 可將 Bigtable 執行個體中的資料儲存並傳送至任何包含執行個體叢集的區域。Cloud Bigtable API (Data API) 的全域端點為
bigtable.googleapis.com。預設 Data API 端點會存取全域端點。區域端點:強制執行區域限制,確保 Bigtable 在指定區域儲存及處理資料。您只能搭配 Cloud Bigtable API (Data API) 使用區域端點。Bigtable 不支援 Cloud Bigtable Admin API 的區域端點。
使用地區端點的時機
相較於全域端點,使用 Bigtable 區域端點的優點在於,區域端點提供區域隔離和保護,可滿足安全性、法規遵循和監管要求。
不過,區域端點不支援 Data Boost 或 Cloud Bigtable Admin API。此外,使用區域端點時,您無法設定 Bigtable,達到每月正常運作時間百分比 >=99.999%。詳情請參閱本文的「使用地區端點的注意事項」一節。
使用全域端點的時機
在下列情況下使用全域端點:
- 您沒有區域限制規定,因此不需要使用區域端點。
- 您必須使用 Data Boost。
- 您必須使用 Cloud Bigtable Admin API。
- 您需要每月至少 99.999% 的運作時間百分比。
使用地區端點的注意事項
如果您使用區域端點,請考量下列因素:
叢集位置
如要使用區域端點,您必須先在要隔離資料的區域中,建立至少一個叢集的執行個體。Bigtable 區域端點適用於特定 Bigtable 區域。如需可用地區清單,請參閱地區服務端點。
您只能使用屬於要隔離資料的區域的區域端點。舉例來說,如果叢集位於 us-central1 地區,就無法使用 bigtable.us-west1.rep.googleapis.com 處理要求。
如果您嘗試使用區域端點存取位於不同區域的叢集,Bigtable 會拒絕要求,並傳回 FAILED_PRECONDITION 錯誤訊息,指出無法使用指定的叢集和端點存取任何叢集。如要進一步瞭解這則錯誤訊息,請參閱 Bigtable 狀態碼。
應用程式設定檔
設定區域端點後,您必須使用設定為將要求轉送至端點所在區域叢集的應用程式設定檔。
如果您嘗試使用設定為僅將寫入作業傳送至叢集 (使用單叢集轉送) 的應用程式設定檔,或是傳送至與端點位於不同區域的叢集 (使用多叢集轉送),就會收到 FAILED_PRECONDITION 錯誤訊息。如要進一步瞭解叢集路由,請參閱「路由政策」。
如果您使用設定為轉送至執行個體中任何叢集的應用程式設定檔,以確保高可用性 (HA),且您也使用區域端點,則即使執行個體在其他區域有叢集,區域端點也會確保所有要求只會轉送至其區域中的叢集。自動容錯移轉受到限制,因此系統只會從端點所在區域的叢集提供要求。
假設您使用為多叢集轉送設定的應用程式設定檔,將要求傳送至在 us-west1-a (奧勒岡州)、us-west1-b (奧勒岡州) 和 us-central1-a (愛荷華州) 都有叢集的執行個體。如果您將這些要求傳送至 bigtable.us-central1.rep.googleapis.com 區域端點,即使不重新設定應用程式設定檔,所有要求也會由 us-central1-a 處理。us-central1-a無法處理的要求會失敗。
複製
區域端點不會影響或阻止複製作業。如果您在 A 區域設定區域端點,然後在 B 區域的執行個體中新增叢集,系統會將資料複製到 B 區域,就像您使用全域端點一樣。
如要避免將資料複製到其他區域,請只在預期區域中建立叢集。
如要禁止機構中的使用者在端點區域以外新增叢集,可以設定使用位置限制的機構政策。
可用性
使用區域端點時,您無法將 Bigtable 設定為達到每月正常運作時間百分比 >=99.999%。如要達到 >=99.999% 的每月正常運作時間,必須自動容錯移轉跨區域界線的要求。地區端點會將所有要求限制在單一區域,因此會防止自動容錯移轉。如要進一步瞭解每月運作時間百分比,請參閱 Bigtable 服務水準協議 (SLA)。
地區端點語意
地區端點的格式為 bigtable.REGION.rep.googleapis.com,其中 REGION 是 Google Cloud 地區名稱,例如 northamerica-northeast2。
舉例來說,如果您想將資料隔離在愛荷華州區域,由於愛荷華州的區域名稱為 us-central1,因此愛荷華州區域的區域端點網址為 bigtable.us-central1.rep.googleapis.com。
指定區域端點
您可以使用 cbt CLI 或 Cloud Bigtable 用戶端程式庫,指定 Bigtable 地區端點。
cbt
如要使用 cbt CLI 指定區域端點並覆寫全域端點,可以在要求中使用 --data-endpoint 選項,也可以在 ~/.cbtrc 檔案中新增下列內容。如要進一步瞭解如何建立 ~/.cbtrc 檔案,請參閱 cbt CLI 參考資料。
data-endpoint = https://bigtable.REGION.rep.googleapis.com/
將 REGION 替換為要設定區域端點的地區,例如 us-central1 或 europe-west1。
舉例來說,如要將區域端點設定為 us-central1,請在 ~/.cbtrc 檔案中新增以下內容:
data-endpoint = https://bigtable.us-central1.rep.googleapis.com/
指定全域端點
cbt
如要指定全域端點,請傳送要求,但不要使用 --data-endpoint 選項。如果您先前在 ~/.cbtrc 檔案中新增 data-endpoint 行,請刪除該行。
限制全域 API 端點用量
如要強制使用區域端點,請使用 constraints/gcp.restrictEndpointUsage 組織政策限制,封鎖對全域 API 端點的要求。詳情請參閱「限制端點用量」。