启用外部连接

默认情况下,数据库集群仅允许来自 用户集群和同一项目的连接。如需允许来自 Google Distributed Cloud 网闸隔离配置组织外部 IP 地址的外部连接,请执行以下操作:

控制台

  1. 使用绑定到 project-networkpolicy-admin 角色的账号登录 GDC 控制台,以创建防火墙规则。
  2. 在 GDC 控制台的主菜单中,选择防火墙
  3. 用户创建的规则 部分,点击创建
  4. 防火墙规则详情中,为防火墙规则创建名称。
  5. 流量方向 对话框中,选择 INGRESS
  6. 目标 对话框中,选择服务 ,然后选择 dbs
  7. 来源 对话框中,选择组织外部 ,然后输入您要允许外部连接的 CIDR 范围。
  8. 点击创建
  9. 等待新规则的状态 列显示就绪
  10. 使用绑定到 project-db-admin 的账号登录 GDC 控制台
  11. 在 GDC 控制台的主菜单中,选择数据库服务
  12. 选择要允许外部连接的数据库集群。
  13. 检查数据库集群概览的连接 部分的允许外部连接 行,查看是否已允许外部连接。
  14. 在数据库集群概览的连接 部分,点击 修改图标 Edit
  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:数据库集群的名称。