Comment puis-je résoudre les problèmes de connexion à mon instance de base de données Amazon RDS ?

Date de la dernière mise à jour : 21/12/2020

Je ne parviens pas à me connecter à mon instance de base de données Amazon Relational Database Service (Amazon RDS). Pourquoi ne puis-je pas me connecter, et comment puis-je résoudre ce problème ?

Brève description

L'incapacité de se connecter à une instance de base de données Amazon RDS peut avoir un certain nombre de causes racines. Voici quelques-unes des raisons les plus courantes :

  • L'instance de base de données RDS a un état autre que available (disponible). Elle ne peut donc pas accepter de connexions.
  • La source que vous utilisez pour vous connecter à l'instance est absente dans les sources autorisées à accéder à l'instance de la base de données RDS dans votre groupe de sécurité, les listes de contrôle d'accès (ACL) de réseau ou les pare-feu locaux.
  • Un nom DNS ou point de terminaison incorrect a été utilisé pour se connecter à l'instance de base de données.
  • L'instance de base de données Multi-AZ est défaillante et l'instance de base de données secondaire utilise un sous-réseau ou une table de routage qui n'autorise pas les connexions entrantes.
  • L'authentification de l'utilisateur est incorrecte.

Astuce : vous pouvez utiliser les étapes de dépannage suivantes pour identifier la source du problème de connectivité. Vous pouvez également utiliser le document AWSSupport-TroubleshootConnectivityToRDS AWS Systems Manager Automation pour vous aider à diagnostiquer le problème. Ce document d'automatisation peut diagnostiquer les listes ACL réseau en fonction de l'adresse IP principale de l'instance Amazon Elastic Compute Cloud (Amazon EC2), mais les ports éphémères ne sont pas vérifiés. Le document d'automatisation vérifie également les groupes de sécurité en fonction de l'adresse IP principale de l'instance EC2. En revanche, cette automatisation ne vérifie pas des ports spécifiques. Pour plus d'informations, consultez Exécution d'un flux de travail d'automatisation simple.

Résolution

Assurez-vous que votre instance est dans l'état disponible

Si vous avez récemment lancé ou redémarré votre instance de base de données, vérifiez que l'instance de base de données est dans l'état disponible dans la console Amazon RDS. Il peut s'écouler jusqu'à 20 minutes avant que l'instance devienne disponible pour les connexions réseau, car cette durée est fonction de la taille de votre instance de base de données.

Si votre instance de base de données est en état d'échec, consultez Pourquoi mon instance de base de données Amazon RDS est-elle en état d'échec ?

Vérifiez que votre instance de base de données autorise les connexions.

Vérifiez que le trafic provenant de la source qui se connecte à votre instance de base de données n'est pas soumis à une ou plusieurs des actions suivantes :

  • Un groupe de sécurité Amazon Virtual Private Cloud (Amazon VPC) associé à l'instance de base de données. Si nécessaire, ajoutez des règles au groupe de sécurité associé au VPC qui autorisent le trafic lié à la source entrante et sortante de l'instance de base de données. Vous pouvez spécifier une adresse IP, une plage d'adresses IP ou un autre groupe de sécurité VPC. Pour des informations générales sur le VPC et les instances de base de données, consultez Scénarios d'accès à une instance de base de données dans un VPC.
  • Un groupe de sécurité de base de données associé à l'instance de base de données. Si l'instance de base de données n'est pas dans un VPC, l'instance peut utiliser un groupe de sécurité de base de données pour contrôler le trafic. Mettez à jour votre groupe de sécurité de base de données pour autoriser le trafic provenant de la plage d'adresses IP, du groupe de sécurité Amazon EC2ou de l'instance EC2 Classic que vous utilisez pour vous connecter.
  • Connexions en dehors d'un VPC. Vérifiez que l'instance de base de données est accessible publiquement et qu'elle est associée à un sous-réseau public (par exemple, la table de routage autorise l'accès à partir d'une passerelle Internet). Pour plus d'informations, consultez Scénarios pour accéder à une instance de base de données dans un VPC.
  • Listes ACL réseau. Les listes ACL réseau font office de pare-feu pour les ressources d'un sous-réseau spécifique dans un VPC. Si vous utilisez des listes d'accès dans votre VPC, assurez-vous qu'elles disposent de règles qui autorisent le trafic entrant et sortant vers et en provenance de l'instance de base de données.
  • Pare-feu réseau ou locaux. Vérifiez auprès de votre administrateur réseau si votre réseau autorise le trafic vers et en provenance des ports utilisés par l'instance de base de données pour les communications entrantes et sortantes.
    Remarque : Amazon RDS n'accepte pas le trafic ICMP (Internet Control Message Protocol), y compris ping.

Résoudre les problèmes potentiels liés au nom DNS ou au point de terminaison

Lorsque vous vous connectez à votre instance de base de données, vous utilisez un nom DNS (point de terminaison) fourni par la console Amazon RDS. Vérifiez que vous utilisez le bon point de terminaison et fournissez le point de terminaison dans le bon format au client que vous utilisez pour vous connecter à l'instance de base de données. Pour obtenir la liste des tutoriels de connexion du moteur de base de données qui incluent des instructions sur la façon de trouver et d'utiliser correctement un point de terminaison dans diverses applications clientes, consultez Mise en route avec Amazon RDS.

Par exemple, utilisez nslookup pour retrouver le point de terminaison de l'instance de la base de données à partir d'une instance Amazon EC2 dans le VPC :

nslookup myexampledb.xxxx.us-east-1.rds.amazonaws.com 
Server: xx.xx.xx.xx 
Address: xx.xx.xx.xx#53

Consultez l'exemple suivant de réponse qui ne fait pas autorité :

Name: myexampledb.xxxx.us-east-1.rds.amazonaws.com 
Address: 172.31.xx.x"

Vérifier les tables de routage associées à votre déploiement Multi-AZ

Lorsque vous créez un déploiement multi-AZ, vous lancez plusieurs instances de base de données de réplica dans différentes zones de disponibilité afin d'améliorer la tolérance aux pannes de votre application. Vérifiez que les sous-réseaux associés à chaque instance sont associés à des tables de routage identiques ou similaires. Sinon, si votre instance principale de base de données bascule vers un réplica de secours et que ce dernier est associé à une autre table de routage, le trafic qui était précédemment acheminé vers votre instance de base de données risque d'être perturbé.

Pour plus d'informations sur la configuration des tables de routage, consultez Tables de routage. Pour plus d'informations sur les déploiements multi-AZ, consultez Haute disponibilité (Multi-AZ) pour Amazon RDS.

Remarque : si vous pouvez vous connecter à votre instance de base de données, mais que vous obtenez des erreurs d'authentification, consultez Comment réinitialiser le mot de passe utilisateur maître pour mon instance de base de données Amazon RDS ?

Vérifier la connectivité

Vérifiez votre connexion en exécutant l'une des commandes suivantes :

telnet <RDS endpoint> <port number>
nc <RDS endpoint> <port number>

Si les commandes telnet ou nc réussissent, c'est qu'une connexion réseau a été établie. Cela signifie que le problème est probablement dû à l'authentification de l'utilisateur sur la base de données – nom d'utilisateur et mot de passe.