根據預設,資料庫叢集只允許來自使用者叢集和相同專案的連線。如要允許來自 Google Distributed Cloud 實體隔離方案外部 IP 位址的連線,請按照下列步驟操作:
控制台
- 使用繫結至
project-networkpolicy-admin角色的帳戶登入 GDC 控制台,建立防火牆規則。 - 在 GDC 控制台的主選單中,選擇「防火牆」。
- 在「使用者建立的規則」部分,按一下「建立」。
- 在「防火牆規則詳細資料」中,為防火牆規則建立名稱。
- 在「流量方向」對話方塊中,選擇「INGRESS」。
- 在「目標」對話方塊中,選擇「服務」,然後選取「dbs」。
- 在「From」(來源) 對話方塊中,選擇「Outside the organization」(機構外部),然後輸入要允許外部連線的 CIDR 範圍。
- 點選「建立」。
- 等待新規則的「狀態」欄顯示「就緒」。
- 使用與
project-db-admin - 在 GDC 控制台的主選單中,選擇「Database Service」。
- 選取要啟用外部連線的資料庫叢集。
- 查看資料庫叢集總覽的「連線」部分,確認「允許外部連線」是否已啟用。
- 在資料庫叢集總覽的「連線」部分,按一下「編輯」。
- 勾選「允許外部連線」核取方塊。
- 按一下 [儲存]。
API
建立
ProjectNetworkPolicy資源,允許外部連線:apiVersion: networking.gdc.goog/v1 kind: ProjectNetworkPolicy metadata: name: allow-external-dbs namespace: USER_PROJECT spec: ingress: - from: - ipBlock: cidr: CIDR_RANGE policyType: Ingress subject: managedServices: matchTypes: - dbs subjectType: ManagedService ```更新資料庫叢集,啟用機構外部連線:
kubectl patch dbcluster.postgresql.dbadmin.gdc.goog DBCLUSTER_NAME -p '{"spec":{"allowExternalIncomingTraffic":true}}' --type=merge -n USER_PROJECT
更改下列內容:
USER_PROJECT:建立資料庫叢集的使用者專案名稱。CIDR_RANGE:您要允許外部連線的 CIDR 範圍。DBCLUSTER_NAME:資料庫叢集名稱。