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

Date de la dernière mise à jour : 14/08/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 y résoudre le problème ?

Brève description

L'impossibilité de se connecter à une instance de base de données Amazon RDS peut être due à un certain nombre de facteurs. 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.

Conseil : vous pouvez utiliser les étapes de dépannage suivantes pour identifier la source du problème de connectivité. Ou bien, vous pouvez utiliser le document AWSSupport-TroubleshootConnectivityToRDS AWS Systems Manager Automation pour diagnostiquer le problème automatiquement. Ce document d'automatisation peut diagnostiquer les listes ACL de 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, mais il ne vérifie pas de ports spécifiques. Pour plus d'informations, consultez Exécution d'un flux de travail d'automatisation simple.

Solution

Assurez-vous que votre instance l'état Disponible

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

Si votre instance a l'état failed (échec), consultez Pourquoi mon instance de base de données RDS est défaillante ?

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 obtenir des informations générales sur les instances de VPC et 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 un VPC, il se peut qu'elle utilise 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 depuis le groupe de sécurité Amazon EC2 ou k’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 d’accès à une instance de base de données dans un VPC.
  • Listes ACL de réseau. Les listes ACL de 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 ACL dans votre VPC, vérifiez qu'elles ont des règles qui autorisent le trafic entrant et sortantc vers et depuis l'instance de base de données.
  • Pare-feu réseau ou local. Vérifiez auprès de votre administrateur du réseau que votre réseau autorise le trafic vers et depuis les 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 point de terminaison correct et fournissez le point de terminaison dans le format correct au client que vous utilisez pour vous connecter à l'instance de base de données. Pour obtenir la liste des didacticiels de connexion au moteur de base de données, qui fournit des instructions sur la recherche et la bonne utilisation d'un point de terminaison dans diverses applications clientes, consultez Démarrer 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 de ne plus être routé correctement.

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 e Haute disponibilité (multi-AZ) pour Amazon RDS.

Remarque : si vous pouvez vous connecter à votre instance de base de données et que vous obtenez des erreurs d'authentification, consultez e Comment réinitialiser le mot de passe utilisateur principal de 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 aboutissent, cela indique qu'une connexion réseau a été établie et que le problème est probablement dû à l'authentification utilisateur dans la base de données, par exemple, au nom d'utilisateur et au mot de passe.