Conéctate a un clúster de base de datos

De forma predeterminada, un clúster de base de datos solo permite la conexión desde el clúster de usuario y el mismo proyecto.

Para habilitar las conexiones a todos los clústeres de bases de datos de tu proyecto desde otro proyecto, consulta Habilita las conexiones entre proyectos.

Para habilitar las conexiones a un clúster de base de datos desde direcciones IP fuera de tu organización de GDC, consulta Habilita conexiones externas.

Accede a la consola de GDC con una cuenta vinculada al rol de administrador de proyectos de base de datos para encontrar la siguiente información y conectarte a tu clúster de base de datos. Esta información se encuentra en la sección Conectividad de la página Servicio de base de datos.

En estos pasos, se incluye un ejemplo para conectarse a la base de datos con psql. Los pasos exactos variarán según el software cliente que elijas.

Console

  1. Navega a la sección Conectividad de la página Servicio de base de datos del clúster de base de datos. En esta página, se incluye lo siguiente:

    • La contraseña de la cuenta de administrador (el nombre de usuario es dbsadmin)
    • Nombre de host y número de puerto del extremo principal del clúster de base de datos
    • Si el clúster de la base de datos permite la conexión externa desde fuera de la organización.
    • Un comando psql para conectarse al clúster
    • Un vínculo para descargar el certificado de la autoridad certificadora (AC) del clúster de la base de datos
  2. Descarga el certificado de la AC desde la consola de GDC en la sección Conectividad de la página Servicio de base de datos de tu clúster de base de datos.

  3. Configura tu cliente para que use el certificado de la AC para verificar la base de datos. Para los clientes de psql, establece la variable de entorno PGSSLROOTCERT en la ruta de acceso del archivo de certificado y la variable de entorno PGSSLMODE según tu preferencia:

    export PGSSLROOTCERT=path/to/accounts_cert.pem
    export PGSSLMODE="verify-full"
    
  4. Conéctate a la base de datos desde tu software cliente. Si usas psql, ejecuta el siguiente comando:

    PGPASSWORD=DB_PASSWORD psql -h DB_HOSTNAME -p PORT -U USERNAME -d postgres
    

Reemplaza las siguientes variables:

  • path/to/: Es la ruta de acceso al certificado accounts_cert.pem.
  • DB_PASSWORD: Es la contraseña de la consola.
  • DB_HOSTNAME: Es el nombre de host de la base de datos de la consola.
  • DB_PORT: Es el número de puerto de la base de datos de la consola.
  • DB_USERNAME: el nombre de usuario de la base de datos de la consola.

API

  1. Recupera el extremo de la base de datos del estado del clúster de base de datos:

    kubectl get dbcluster.postgresql.dbadmin.gdc.goog DBCLUSTER_NAME -n USER_PROJECT -o=jsonpath='{.status.primary.url}'
    
  2. Descarga el certificado de la AC desde el Secret de Kubernetes:

    kubectl get secret dbs-certificates -n USER_PROJECT -o json | jq -r '.data."dbs-pg-cert-DBCLUSTER_NAME"' | base64 -d > path/to/ca.crt
    
  3. Configura tu cliente para que use el certificado de la AC para verificar la base de datos. Para los clientes de psql, puedes establecer la variable de entorno PGSSLROOTCERT en la ruta de acceso del archivo de certificado y la variable de entorno PGSSLMODE según tu preferencia:

    export PGSSLROOTCERT=path/to/ca.crt
    export PGSSLMODE="verify-full"
    
  4. Conéctate a la base de datos desde tu software cliente. Si usas psql, ejecuta el siguiente comando:

    PGPASSWORD=DB_PASSWORD psql -h DB_HOSTNAME -p DB_PORT -U DB_USERNAME -d postgres
    

Reemplaza las siguientes variables:

  • USER_PROJECT: Es el nombre del proyecto de usuario en el que se creó el clúster de la base de datos.
  • DBCLUSTER_NAME: Es el nombre del clúster de la base de datos.
  • path/to/: Es la ruta de acceso al certificado de la AC de la base de datos.
  • DB_PASSWORD: Es la contraseña de la base de datos para el usuario administrador.
  • DB_HOSTNAME: Es el nombre de host del estado del clúster de la base de datos.
  • DB_PORT: Es el número de puerto de la base de datos del estado del clúster de la base de datos.
  • DB_USERNAME por el nombre de usuario de la base de datos (el valor predeterminado es dbsadmin).