啟用外部連線

根據預設,資料庫叢集只允許來自使用者叢集和相同專案的連線。如要允許來自 Google Distributed Cloud 實體隔離方案外部 IP 位址的連線,請按照下列步驟操作:

控制台

  1. 使用繫結至 project-networkpolicy-admin 角色的帳戶登入 GDC 控制台,建立防火牆規則。
  2. 在 GDC 控制台的主選單中,選擇「防火牆」。
  3. 在「使用者建立的規則」部分,按一下「建立」。
  4. 在「防火牆規則詳細資料」中,為防火牆規則建立名稱。
  5. 在「流量方向」對話方塊中,選擇「INGRESS」。
  6. 在「目標」對話方塊中,選擇「服務」,然後選取「dbs」。
  7. 在「From」(來源) 對話方塊中,選擇「Outside the organization」(機構外部),然後輸入要允許外部連線的 CIDR 範圍。
  8. 點選「建立」。
  9. 等待新規則的「狀態」欄顯示「就緒」。
  10. 使用與project-db-admin
  11. 在 GDC 控制台的主選單中,選擇「Database Service」。
  12. 選取要啟用外部連線的資料庫叢集。
  13. 查看資料庫叢集總覽的「連線」部分,確認「允許外部連線」是否已啟用。
  14. 在資料庫叢集總覽的「連線」部分,按一下「編輯」。
  15. 勾選「允許外部連線」核取方塊。
  16. 按一下 [儲存]。

API

  1. 建立 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
     ```
    
  2. 更新資料庫叢集,啟用機構外部連線:

    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:資料庫叢集名稱。