Amazon Relational Database Service
Guide de l'utilisateur

Connexion à une instance de base de données exécutant le moteur de base de données PostgreSQL

Après qu'Amazon RDS a provisionné votre instance de base de données, vous pouvez utiliser n'importe quelle application cliente SQL standard pour vous connecter à l'instance. Pour répertorier les détails d'une instance de base de données Amazon RDS, vous pouvez utiliser l’AWS Management Console, la commande describe-db-instances de l'AWS CLI ou l'opération d'API Amazon RDS DescribeDBInstances. Vous avez besoin des informations suivantes pour vous connecter :

  • L'hôte ou le nom d'hôte de l'instance de base de données, par exemple :

    myinstance.123456789012.us-east-1.rds.amazonaws.com
  • Le port au niveau duquel l'instance de base de données écoute. Par exemple, le port PostgreSQL par défaut est 5432.

  • Le nom d'utilisateur et le mot de passe de l'instance de base de données.

Voici deux façons de se connecter à une instance de base de données PostgreSQL. Le premier exemple utilise pgAdmin, célèbre outil open source d'administration et de développement pour PostgreSQL. Le second exemple utilise psql, utilitaire de ligne de commande qui fait partie d'une installation PostgreSQL.

Utilisation de pgAdmin pour se connecter à une instance de base de données PostgreSQL

Vous pouvez utiliser l'outil open source pgAdmin pour vous connecter à une instance de base de données PostgreSQL.

Pour vous connecter à une instance de base de données PostgreSQL avec pgAdmin

  1. Trouvez le point de terminaison (nom DNS) et le numéro de port pour votre instance de base de données.

    1. Ouvrez la console RDS et choisissez Bases de données pour afficher une liste de vos instances de bases de données.

    2. Choisissez le nom de l'instance de base de données PostgreSQL pour afficher ses détails.

    3. Dans l'onglet Connectivity & security (Connectivité et sécurité), copiez le point de terminaison. Notez également le numéro du port. Vous avez besoin du point de terminaison et du numéro de port pour vous connecter à l'instance de base de données.

      
                                Se connecter à une instance DB PostgreSQL
  2. Installez pgAdmin depuis http://www.pgadmin.org/. Vous pouvez télécharger et utiliser pgAdmin sans avoir une instance locale de PostgreSQL sur votre ordinateur client.

  3. Lancez l'application pgAdmin sur votre ordinateur client.

  4. Dans l'onglet Tableau de bord, choisissez Add New Server (Ajouter un nouveau serveur).

  5. Dans la boîte de dialogue Create - Server (Créer - Serveur), entrez un nom sur l'onglet Général pour identifier le serveur dans pgAdmin.

  6. Dans l'onglet Connexion, tapez les informations suivantes depuis votre instance de base de données :

    • Pour Hôte, tapez le point de terminaison, par exemple mypostgresql.c6c8dntfzzhgv0.us-east-2.rds.amazonaws.com.

    • Pour Port, tapez le port attribué.

    • Pour Nom d'utilisateur, tapez le nom d'utilisateur entré lors de la création de l'instance de base de données.

    • Pour Mot de passe, tapez le mot de passe entré lors de la création de l'instance de base de données.

  7. Choisissez Enregistrer.

    Si vous rencontrez des problèmes de connexion, consultez Dépannage des problèmes de connexion.

  8. Pour accéder à la base de données dans le navigateur pgAdmin, développez Serveurs, l'instance de base de données et Bases de données. Choisissez le nom de la base de données de l'instance de base de données.

  9. Pour ouvrir un panneau dans lequel vous pouvez entrer des commandes SQL, choisissez Outils, Query Tool (Outil de requête).

Utilisation de psql pour se connecter à une instance de base de données PostgreSQL

Vous pouvez utiliser une instance locale de l'utilitaire de ligne de commande psql pour vous connecter à une instance de base de données PostgreSQL. Vous devez avoir installé PostgreSQL ou le client psql sur votre ordinateur client. Pour vous connecter à votre instance de base de données PostgreSQL avec psql, vous devez fournir les informations sur l'hôte et les informations d'identification de l'accès.

Utilisez l'un des formats suivants pour vous connecter à une instance de base de données PostgreSQL sur Amazon RDS. Lorsque vous vous connectez, vous êtes invité à entrer un mot de passe. Pour les tâches de traitement par lots ou les scripts, utilisez l'option --no-password.

Pour Unix, utilisez le format suivant.

psql \ --host=<DB instance endpoint> \ --port=<port> \ --username=<master user name> \ --password \ --dbname=<database name>

Pour Windows, utilisez le format suivant.

psql ^ --host=<DB instance endpoint> ^ --port=<port> ^ --username=<master user name> ^ --password ^ --dbname=<database name>

Par exemple, la commande suivante se connecte à une base de données appelée mypgdb sur une instance de base de données PostgreSQL appelée mypostgresql à l'aide d'informations d'identification fictives.

psql --host=mypostgresql.c6c8mwvfdgv0.us-west-2.rds.amazonaws.com --port=5432 --username=awsuser --password --dbname=mypgdb

Dépannage des problèmes de connexion

Si vous ne parvenez pas à vous connecter à l'instance de base de données, l'erreur la plus courante est Could not connect to server: Connection timed out. Si vous recevez cette erreur, procédez comme suit :

  • Vérifiez que le nom d'hôte utilisé est le point de terminaison de l'instance de base de données et que le numéro de port utilisé est correct.

  • Assurez-vous que l'accessibilité publique de l'instance de base de données est définie sur Oui.

  • Vérifiez que le groupe de sécurité affecté à l'instance de base de données possède les règles pour autoriser l'accès via tout pare-feu que votre connexion peut traverser. Par exemple, si l'instance de base de données a été créée à l'aide du port par défaut 5432, et votre entreprise peut disposer de règles de pare-feu bloquant les connexions à ce port depuis les appareils de votre entreprise.

    Pour corriger le problème, modifiez l'instance de base de données afin qu'elle utilise un port différent. De plus, assurez-vous que les groupes de sécurité appliqués à l'instance de base de données autorisent les connexions au nouveau port.

  • Vérifiez si l'instance de base de données a été créée grâce à un groupe de sécurité qui interdit les connexions depuis l'appareil ou l'instance Amazon EC2 où l'application s'exécute. Pour que la connexion s'établisse, le groupe de sécurité que vous avez assigné à l'instance de base de données à sa création doit autoriser l'accès à l'instance de base de données. Par exemple, si l'instance de base de données a été créée à l'intérieur d'un VPC, elle doit avoir un groupe de sécurité VPC qui autorise les connexions.

    Vous pouvez ajouter ou modifier une règle entrante dans le groupe de sécurité. Pour Source, choisissez Mon IP. Cela autorise à accéder à l'instance de base de données à partir de l'adresse IP détectée dans votre navigateur. Pour de plus amples informations, veuillez consulter VPC Amazon Virtual Private Cloud et Amazon RDS.

    Sinon, si l'instance de base de données a été créée à l'extérieur d'un VPC, elle doit avoir un groupe de sécurité de bases de données qui autorise ces connexions.

Le problème de connexion qui intervient le plus fréquemment concerne les règles d'accès du groupe de sécurité assigné à l'instance de base de données. Si vous avez utilisé le groupe de sécurité de bases de données par défaut lorsque vous avez créé l'instance de base de données, ce groupe de sécurité ne dispose vraisemblablement pas de règles d'accès vous autorisant à accéder à l'instance. Pour de plus amples informations sur les groupes de sécurité Amazon RDS, veuillez consulter Contrôle d'accès par groupe de sécurité.