Se connecter à un cluster de bases de données

Par défaut, un cluster de bases de données n'autorise la connexion qu'à partir du cluster d'utilisateur et du même projet.

Pour activer les connexions à tous les clusters de bases de données de votre projet depuis un autre projet, consultez Activer les connexions inter-projets.

Pour autoriser les connexions à un cluster de bases de données à partir d'adresses IP en dehors de votre organisation GDC, consultez Activer les connexions externes.

Connectez-vous à la console GDC avec un compte associé au rôle project-db-admin pour trouver les informations suivantes permettant de vous connecter à votre cluster de bases de données. Ces informations se trouvent dans la section Connectivité de la page Service de base de données.

Ces étapes incluent un exemple de connexion à la base de données à l'aide de psql. La procédure exacte varie en fonction du logiciel client que vous choisissez.

Console

  1. Accédez à la section Connectivité de la page Service de base de données pour le cluster de bases de données. Cette page comprend les éléments suivants :

    • Mot de passe du compte administrateur (nom d'utilisateur : dbsadmin)
    • Nom d'hôte et numéro de port du point de terminaison principal du cluster de bases de données
    • Si le cluster de bases de données autorise les connexions externes en dehors de l'organisation.
    • Une commande psql pour se connecter au cluster (pour les clusters de bases de données PostgreSQL et AlloyDB Omni)
    • Chaîne permettant de se connecter au cluster avec Java Database Connectivity (JDBC) (pour les clusters de bases de données Oracle)
    • Lien permettant de télécharger le certificat de l'autorité de certification du cluster de bases de données
  2. Téléchargez le certificat CA depuis la console GDC dans la section Connectivité de la page Service de base de données pour votre cluster de bases de données.

  3. Configurez votre client pour qu'il utilise le certificat CA afin de valider la base de données. Pour les clients psql, définissez la variable d'environnement PGSSLROOTCERT sur le chemin d'accès au fichier de certificat et la variable d'environnement PGSSLMODE sur votre préférence :

    export PGSSLROOTCERT=path/to/accounts_cert.pem
    export PGSSLMODE="verify-full"
    
  4. Connectez-vous à la base de données depuis votre logiciel client. Si vous utilisez psql, exécutez la commande suivante :

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

Remplacez les variables suivantes :

  • path/to/ : chemin d'accès au certificat accounts_cert.pem.
  • DB_PASSWORD : mot de passe de la console.
  • DB_HOSTNAME : nom d'hôte de la base de données depuis la console.
  • DB_PORT : numéro de port de la base de données depuis la console.
  • DB_USERNAME : nom d'utilisateur de la base de données depuis la console.

API

  1. Récupérez le point de terminaison de la base de données à partir de l'état du cluster de bases de données :

    kubectl get dbcluster.DBENGINE_NAME.dbadmin.gdc.goog DBCLUSTER_NAME -n USER_PROJECT -o=jsonpath='{.status.primary.url}'
    
  2. Téléchargez le certificat CA à partir du secret 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. Configurez votre client pour qu'il utilise le certificat CA afin de valider la base de données. Pour les clients psql, vous pouvez définir la variable d'environnement PGSSLROOTCERT sur le chemin d'accès du fichier de certificat et la variable d'environnement PGSSLMODE sur votre préférence :

    export PGSSLROOTCERT=path/to/accounts_cert.pem
    export PGSSLMODE="verify-full"
    
  4. Connectez-vous à la base de données depuis votre logiciel client. Si vous utilisez psql, exécutez la commande suivante :

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

Remplacez les variables suivantes :

  • DBENGINE_NAME : nom du moteur de base de données. Il s'agit de l'une des valeurs suivantes : alloydbomni, postgresql ou oracle.
  • USER_PROJECT : nom du projet utilisateur dans lequel le cluster de bases de données a été créé.
  • DBENGINE_SHORT_NAME : nom abrégé du moteur de base de données. Il s'agit de l'une des valeurs suivantes : al (AlloyDB Omni), pg (PostgreSQL) ou ora (Oracle).
  • DBCLUSTER_NAME : nom du cluster de base de données.
  • path/to/ : chemin d'accès au certificat CA de la base de données.
  • DB_PASSWORD : mot de passe de la base de données pour l'utilisateur administrateur.
  • DB_HOSTNAME : nom d'hôte de l'état du cluster de base de données.
  • DB_PORT : numéro de port de la base de données à partir de l'état du cluster de bases de données.
  • DB_USERNAME : nom d'utilisateur de la base de données (la valeur par défaut est dbsadmin).