在 AlloyDB for PostgreSQL 叢集中,讀取集區執行個體可讓您擴充讀取能力,並從主要執行個體卸載唯讀查詢工作負載。您可以使用 Google Cloud 控制台或 Google Cloud CLI 建立讀取集區執行個體。
讀取集區執行個體可使用與主要執行個體不同的機器系列和機型。單一讀取集區執行個體中的所有節點,都使用相同的機器系列和機型。如要同時透過多個機器系列或不同機器類型提供讀取流量,請為每種設定部署獨立的讀取集區執行個體。如要進一步瞭解支援的機器系列,請參閱「選擇 AlloyDB 機器類型」。
您也可以啟用透明查詢轉送功能,自動轉送唯讀流量,盡可能提高資源使用率。
事前準備
- 您使用的 Google Cloud 專案必須啟用 AlloyDB 存取權。
- 您必須在使用的 Google Cloud 專案中具備下列其中一個 IAM 角色:
roles/alloydb.admin(AlloyDB 管理員預先定義的 IAM 角色)roles/owner(擁有者基本 IAM 角色)roles/editor(編輯者基本 IAM 角色)
如果您不具備上述任一角色,請向組織管理員要求存取權。
建立讀取集區執行個體
控制台
前往 Google Cloud 控制台的「Clusters」(叢集) 頁面。
在「Resource Name」(資源名稱) 欄中,按一下叢集。
前往「Instances in your cluster」(叢集中的執行個體) 部分,然後點選「Add read pool」(新增讀取集區)。
設定讀取集區執行個體:
在「Read pool instance ID」(讀取集區執行個體 ID) 欄位中,輸入讀取集區執行個體的 ID。
在「Node count」(節點數量) 欄位中輸入節點數量。
讀取集區執行個體的節點數量,會決定執行個體的整體運算能力。
為讀取集區執行個體選取下列其中一個機器系列,可以與主要執行個體的機器系列不同:
C4A (Google Axion 型機器系列)
N2 (x86 型機器系列)。這個機器系列是預設選項。
C4 (x86 型機器系列)
Z3 (Intel Xeon 型機器系列)
選取機型。讀取集區執行個體中的所有節點,都會使用您選取的機器系列和機型。支援的 vCPU 數量取決於機器系列:
C4A 支援 1、2、4、8、16、32、48、64 和 72 個 vCPU。
N2 支援 2、4、8、16、32、64、96 和 128 個 vCPU。
C4 支援 4、8、16、24、32、48、96、144、192 和 288 個 vCPU。
Z3 支援 8、14、16、22、32、44 和 88 個 vCPU。
如要進一步瞭解如何使用 C4A Axion 系列機器 (包括 1-vCPU 機型),請參閱「使用 C4A Axion 系列機器的注意事項」。
選用:如要透過公開網際網路連結應用程式和用戶端,請按一下「公開 IP 連線」中的「啟用公開 IP」。啟用公開 IP 可能需要額外設定,才能確保連線安全。詳情請參閱「使用公開 IP 連線」。
私人 IP 預設為啟用。詳情請參閱「啟用私人服務存取權」。
選用:如要啟用代管連線集區,請選取「Managed connection pool」(代管連線集區) 下方的「Enable managed connection pool」(啟用代管連線集區)。詳情請參閱「設定代管連線集區」。
選擇網路安全性設定。為確保資料安全性,請使用 SSL 加密機制,或透過 AlloyDB 連接器採用 mTLS 加密服務。
變更安全性設定時,執行個體仍可使用,但 AlloyDB 會捨棄不符合規定的現有連線。
選用:為執行個體設定自訂旗標。請按照下列步驟操作:
- 按一下「進階設定選項」。
- 按一下「新增資料庫旗標」。
- 從「New database flag」(新增資料庫旗標) 清單中選取旗標。
- 提供旗標值。
- 按一下「完成」。
按一下「新增讀取集區」。
gcloud
如要使用 gcloud CLI,您可以安裝並初始化 Google Cloud CLI,也可以使用 Cloud Shell。
使用 gcloud alloydb instances create 指令建立讀取集區執行個體。
gcloud alloydb instances create INSTANCE_ID \
--instance-type=READ_POOL \
--read-pool-node-count=NODE_COUNT \
--region=REGION_ID \
--cluster=CLUSTER_ID \
--cpu-count=CPU_COUNT \
--machine-type=MACHINE_TYPE \
--project=PROJECT_ID更改下列內容:
INSTANCE_ID:您要建立的執行個體 ID。開頭須為小寫英文字母,可以使用小寫英文字母、數字和連字號。NODE_COUNT:執行個體中的節點數量。請指定1到20之間的數字 (含和)。請注意,叢集中所有讀取集區執行個體的節點數量不得超過 20 個。REGION_ID:現有叢集所在的區域,您要在該區域建立讀取集區執行個體。CLUSTER_ID:現有叢集的 ID,您要在其中建立讀取集區執行個體。CPU_COUNT:執行個體所需的 vCPU 數量。- 您必須指定
cpu_count或machine_type。 - 如果只提供
cpu_count,系統會建立 N2 執行個體,並採用下列規格:- 2:2 個 vCPU,16 GB RAM
- 4:4 個 vCPU,32 GB RAM
- 8:8 個 vCPU,64 GB RAM
- 16:16 個 vCPU,128 GB RAM
- 32:32 個 vCPU,256 GB RAM
- 64:64 個 vCPU,512 GB RAM
- 96:96 個 vCPU,768 GB RAM
- 128:128 個 vCPU,864 GB RAM
- 如果同時提供
machine_type和cpu_count,cpu_count值必須與machine_type中指定的 vCPU 數量一致。舉例來說,如果machine_type為n2-highmem-4,則必須將cpu_count設為4。
- 您必須指定
MACHINE_TYPE:讀取集區執行個體支援的機器類型,例如n2-highmem-4、c4-highmem-4-lssd、c4a-highmem-4-lssd或z3-highmem-14-standardlssd。讀取集區執行個體可使用與主要執行個體不同的機器系列和機型,且讀取集區執行個體中的所有節點都會使用這個機型。如要進一步瞭解支援的機型,請參閱「選擇 AlloyDB 機型」。PROJECT_ID:現有叢集所在專案的 ID。
如要為已啟用 Private Service Connect 的叢集建立讀取集區執行個體,請新增 --allowed-psc-projects 旗標,設定以逗號分隔的專案 ID 或專案編號清單,指定要允許存取執行個體的專案,例如 my-project-1、12345、my-project-n。
gcloud alloydb instances create INSTANCE_ID \
--instance-type=READ_POOL \
--region=REGION_ID \
--cluster=CLUSTER_ID \
--cpu-count=CPU_COUNT \
--machine-type=MACHINE_TYPE \
--project=PROJECT_ID \
--allowed-psc-projects=ALLOWED_PROJECT_LIST更改下列內容:
ALLOWED_PROJECT_LIST(選用):以半形逗號分隔的專案 ID 或專案編號清單,用於允許存取執行個體,例如my-project-1、12345、my-project-n。如果叢集使用 Private Service Connect 連線至執行個體,則必須設定允許的專案或編號清單。
如要在讀取集區執行個體中啟用代管連線集區,請在 gcloud alloydb instances create 指令中加入 --enable-connection-pooling 旗標:
gcloud alloydb instances create INSTANCE_ID \
--instance-type=READ_POOL \
--region=REGION_ID \
--cluster=CLUSTER_ID \
--cpu-count=CPU_COUNT \
--machine-type=MACHINE_TYPE \
--project=PROJECT_ID \
--enable-connection-pooling如要為已啟用公開 IP 的叢集建立讀取集區執行個體,請新增 --assign-inbound-public-ip=ASSIGN_IPV4 參數。
gcloud alloydb instances create INSTANCE_ID \
--instance-type=READ_POOL \
--region=REGION_ID \
--cluster=CLUSTER_ID \
--cpu-count=CPU_COUNT \
--machine-type=MACHINE_TYPE \
--project=PROJECT_ID \
--assign-inbound-public-ip=ASSIGN_IPV4您也可以選擇將以半形逗號分隔的 CIDR 區塊清單 (例如 64.233.160.0/16) 傳遞至 --authorized-external-networks 參數,在執行個體上設定授權的外部網路。