启用外部连接

默认情况下,数据库集群仅允许来自用户集群和同一项目的连接。如需允许来自 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. 在数据库集群概览的连接部分中,点击修改 修改
  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:数据库集群的名称。