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 base 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 las conexiones externas.

Accede a la consola de GDC con una cuenta vinculada al rol de administrador de DB del proyecto para encontrar la siguiente información para 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.

Estos pasos incluyen 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. Esta página incluye lo siguiente:

    • La contraseña de la cuenta de administrador (el nombre de usuario es dbsadmin)
    • El nombre de host y el número de puerto del extremo principal del clúster de base de datos
    • Si el clúster de base de datos permite la conexión externa desde fuera de la organización
    • Un comando psql para conectarse al clúster (para clústeres de base de datos de PostgreSQL y AlloyDB Omni)
    • Una cadena para conectarse al clúster con Java Database Connectivity (JDBC) (para clústeres de base de datos de Oracle)
    • Un vínculo para descargar el certificado de la autoridad certificadora (CA) del clúster de 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 psql, establece la variable de entorno PGSSLROOTCERT en la ruta de acceso del archivo de certificado y la variable de entorno PGSSLMODE en 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: Es 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.DBENGINE_NAME.dbadmin.gdc.goog DBCLUSTER_NAME -n USER_PROJECT -o=jsonpath='{.status.primary.url}'
    
  2. Descarga el certificado de la AC desde el secreto de Kubernetes:

    kubectl get secret dbs-certificates -n USER_PROJECT -o json | jq -r '.data."dbs-DBENGINE_SHORT_NAME-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 psql, puedes establecer la variable de entorno PGSSLROOTCERT en la ruta de acceso del archivo de certificado y la variable de entorno PGSSLMODE en 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:

  • DBENGINE_NAME: Es el nombre del motor de base de datos. Es uno de alloydbomni, postgresql o oracle.
  • USER_PROJECT: Es el nombre del proyecto de usuario en el que se creó el clúster de base de datos.
  • DBENGINE_SHORT_NAME: Es el nombre abreviado del motor de base de datos. Es uno de al (AlloyDB Omni), pg (PostgreSQL) o ora (Oracle).
  • DBCLUSTER_NAME: Es el nombre del clúster de 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 base de datos.
  • DB_PORT: Es el número de puerto de la base de datos del estado del clúster de base de datos.
  • DB_USERNAME: Es el nombre de usuario de la base de datos (el valor predeterminado es dbsadmin).