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 bases 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 project-db-admin 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 del cliente que elijas.

Console

  1. Navega a la sección Connectivity de la página Database Service del clúster de la 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 la base de datos
    • Indica 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 bases de datos de PostgreSQL y AlloyDB Omni)
    • Cadena para conectarse al clúster con conectividad a bases de datos de Java (JDBC) (para clústeres de bases 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 CA 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 CA y verifique 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 tus preferencias:

    export PGSSLROOTCERT=path/to/accounts_cert.pem
    export PGSSLMODE="verify-full"
    
  4. Conéctate a la base de datos desde el 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: 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 que se muestra en 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 la 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 CA del 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 CA y verifique la base de datos. En el caso de 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 tus preferencias:

    export PGSSLROOTCERT=path/to/accounts_cert.pem
    export PGSSLMODE="verify-full"
    
  4. Conéctate a la base de datos desde el 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. Puede ser alloydbomni, postgresql o oracle.
  • USER_PROJECT: Es el nombre del proyecto del usuario en el que se creó el clúster de la base de datos.
  • DBENGINE_SHORT_NAME: Es el nombre abreviado del motor de base de datos. Puede ser al (AlloyDB Omni), pg (PostgreSQL) o ora (Oracle).
  • DBCLUSTER_NAME: Es el nombre del clúster de la base de datos.
  • path/to/: Es la ruta de acceso al certificado de CA de la base de datos.
  • DB_PASSWORD: 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 que se obtiene del estado del clúster de la base de datos.
  • DB_USERNAME: con el nombre de usuario de la base de datos (el valor predeterminado es dbsadmin).