啟用外部連線

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

控制台

  1. 使用繫結至 project-networkpolicy-admin 角色的帳戶登入 GDC 控制台,建立防火牆規則。
  2. 在 GDC 控制台的主選單中,選擇「Firewall」(防火牆)
  3. 在「使用者建立的規則」部分,按一下「建立」
  4. 在「防火牆規則詳細資料」中,為防火牆規則建立名稱。
  5. 在「流量方向」對話方塊中,選擇「INGRESS」
  6. 在「目標」對話方塊中,選擇「服務」,然後選取「dbs」
  7. 在「來源」對話方塊中,選擇「機構外部」,然後輸入要允許外部連線的 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.DBENGINE_NAME.dbadmin.gdc.goog DBCLUSTER_NAME -p '{"spec":{"allowExternalIncomingTraffic":true}}' --type=merge -n USER_PROJECT
    

更改下列內容:

  • USER_PROJECT:建立資料庫叢集的使用者專案名稱。
  • CIDR_RANGE:您要允許外部連線的 CIDR 範圍。
  • DBENGINE_NAME:資料庫引擎的名稱。這是 alloydbomnipostgresqloracle 其中之一。
  • DBCLUSTER_NAME:資料庫叢集的名稱。