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

Lecture de 8 minute(s)
0

Je ne parviens pas à me connecter à mon instance de base de données Amazon Relational Database Service (Amazon RDS).

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 de connexion à l'instance de base de données ne dispose pas d'un accès autorisé à votre groupe de sécurité, à des listes de contrôle d'accès (ACL) réseau ou à des pare-feux 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 pour l'une des raisons suivantes :
  • Vous utilisez un nom d'utilisateur ou un mot de passe incorrect au niveau de la base de données pour accéder à l'instance à partir du client DB.
  • Vous ne disposez pas des autorisations de base de données nécessaire pour accéder à l'instance.
  • Le client fonctionne sur une version incompatible avec la version de la base de données.

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). Toutefois, 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écuter une automatisation.

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 oudu groupe de sécurité Amazon EC2 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 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.
    Si votre instance de base de données se trouve dans un sous-réseau privé, veillez à utiliser l'appairage de VPC ou AWS Site-to-Site VPN pour vous connecter à votre instance en toute sécurité. Avec Site-to-Site VPN, vous configurez une passerelle client qui permet de connecter votre VPC à votre réseau distant. Vous pouvez utiliser l'appairage de VPC en créant une connexion d'appairage entre le VPC source et le VPC de l’instance pour accéder à l'instance depuis l'extérieur de son VPC. Vous pouvez également utiliser une instance Amazon EC2 comme hôte bastion.
  • 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. Demandez à 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. Veillez à utiliser le point de terminaison correct. De plus, fournissez le point de terminaison dans le format correct au client que vous utilisez pour vous connecter à l'instance de la BD. Pour plus d'informations sur les connexions au moteur de base de données et sur l'utilisation d'un point de terminaison dans diverses applications clientes, consultez la section 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

Résolution des problèmes au niveau de la base de données

  • Assurez-vous que vous utilisez le nom d'utilisateur et le mot de passe corrects pour accéder à l'instance depuis votre client de base de données.
  • Assurez-vous que l'utilisateur dispose des autorisations de base de données nécessaires pour se connecter à l'instance de base de données.
  • Vérifiez toute limitation des ressources dans RDS, telle qu'une contention de processeur ou de mémoire. Ce conflit peut entraîner des problèmes lors de l'établissement de nouvelles connexions à l'instance.
  • Assurez-vous que l'instance n'a pas atteint la limite max_connections.

Vérifiez les tables de routage associées à l’instance.

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 de base de données sont associés à des tables de routage identiques ou similaires. Si votre instance de base de données principale bascule vers une réplique de secours associée à une autre table de routage, le trafic risque de ne pas être routé correctement. Même si ce trafic était auparavant acheminé sans problème, il se peut qu'il ne soit plus routé correctement.

Pour plus d'informations sur la configuration des tables de routage, consultez Configuration des tables de routage. Pour plus d'informations sur les déploiements multi-AZ, consultez Multi-AZ pour une haute disponibilité.

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 RDS DB ?

Vérifier la connectivité

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

telnet <RDS endpoint> <port number>
nc -zv <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.


Informations connexes

Impossible de se connecter à l'instance de base de données Amazon RDS

Comment résoudre les problèmes de connectivité à une instance de base de données Amazon RDS qui utilise un sous-réseau public ou privé d'un VPC ?

Sécurité dans Amazon RDS

Utilisation de SSL/TLS pour chiffrer une connexion à une instance de base de données

AWS OFFICIEL
AWS OFFICIELA mis à jour il y a 9 mois