Se connecter à un cluster de bases de données

Par défaut, un cluster de bases de données n'autorise que les connexions provenant du cluster d'utilisateur et du même projet.

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

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

Connectez-vous à la console GDC avec un compte associé au rôle d'administrateur de projet de base de données 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 du cluster de bases de données. Cette page comprend les éléments suivants :

    • Le mot de passe du compte administrateur (le nom d'utilisateur est dbsadmin)
    • Nom d'hôte et numéro de port du point de terminaison principal du cluster de bases de données
    • Indique si le cluster de base de données autorise une connexion externe depuis l'extérieur de l'organisation.
    • Une commande psql pour se connecter au cluster
    • Lien pour télécharger le certificat de l'autorité de certification (CA) 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 de 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 du fichier de certificat et la variable d'environnement PGSSLMODE selon vos préférences :

    export PGSSLROOTCERT=path/to/accounts_cert.pem
    export PGSSLMODE="verify-full"
    
  4. Connectez-vous à la base de données à partir de 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 dans la console.
  • DB_PORT : numéro de port de la base de données indiqué dans la console.
  • DB_USERNAME : nom d'utilisateur de la base de données dans 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.postgresql.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-pg-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 selon vos préférences :

    export PGSSLROOTCERT=path/to/ca.crt
    export PGSSLMODE="verify-full"
    
  4. Connectez-vous à la base de données à partir de 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 :

  • USER_PROJECT : nom du projet utilisateur dans lequel le cluster de bases de données a été créé.
  • DBCLUSTER_NAME : nom du cluster de bases 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'administrateur.
  • DB_HOSTNAME : nom d'hôte de l'état du cluster de bases 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 : par le nom d'utilisateur de la base de données (la valeur par défaut est dbsadmin).