Pourquoi ne puis-je pas me connecter à mon instance de base de données Amazon RDS for Oracle ?

Lecture de 6 minute(s)
0

Je n’arrive pas à me connecter à mon instance de base de données Amazon Relational Database Service (Amazon RDS) pour Oracle.

Brève description

Les raisons les plus courantes des problèmes de connexion à une instance de base de données RDS pour Oracle sont les suivantes :

  • Votre groupe de sécurité, vos listes de contrôle d’accès au réseau (ACL réseau) ou vos pare-feux locaux ne sont pas correctement configurés. Des configurations incorrectes peuvent bloquer le trafic vers l’instance.
  • L’état de votre instance n’est pas Disponible.
  • Vous avez utilisé des informations d’identification d’utilisateur incorrectes.
  • Vous avez utilisé le mauvais point de terminaison pour vous connecter à l’instance de base de données RDS.
  • La connexion entre le client et l’instance de base de données n’est pas compatible.
  • Vous ne disposez pas des autorisations requises.

Résolution

Utiliser TNSPING pour vérifier la connexion

Remarque : vous devez installer le client Oracle pour utiliser l’utilitaire TNSPING.

Utilisez l’utilitaire TNSPING pour vérifier si le client Oracle peut se connecter à l’instance de base de données. Si vous avez ajouté l’entrée de base de données dans le fichier tnsnames.ora, exécutez la commande suivante pour vérifier si RDS pour Oracle est accessible :

tnsping <Service Name>

Si vous n’avez pas ajouté l’entrée de base de données au fichier tnsnames.ora, exécutez une commande similaire à la suivante :

tnsping "(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = xxxxx-yyyyy.us-east-1.rds.amazonaws.com)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = ORCL)))"  

TNS Ping Utility for 64-bit Windows: Version 19.0.0.0.0 - Production on 23-JUL-2023 19:48:22  

Copyright (c) 1997, 2019, Oracle.  All rights reserved.  

Attempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = xxxxx-yyyyy.us-east-1.rds.amazonaws.com)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = ORCL)))  
OK (210 msec)

Si TNSPING confirme que le client Oracle ne peut pas se connecter à l’instance de base de données, vérifiez les configurations suivantes.

Vérifier les paramètres du VPC

Si vous vous connectez à votre instance de base de données depuis l’extérieur d’un cloud privé virtuel (VPC), vérifiez que la propriété Accessible à tous de votre instance de base de données est bien définie sur Oui. Si la propriété est définie sur Non, c’est qu’aucune adresse IP publique n’est attribuée à l’instance de base de données. Seules les instances et les clients Amazon Elastic Compute Cloud (Amazon EC2) du VPC peuvent se connecter à votre base de données à partir de l’adresse IP privée Amazon RDS.

Pour accéder à partir de différents VPC ou réseaux locaux, vous devez activer des configurations supplémentaires, à l’instar de l’appairage de VPC ou AWS Direct Connect. Si la propriété Accessible à tous est définie sur Oui, les clients extérieurs au VPC peuvent se connecter à votre instance de base de données par Internet par le biais d’une passerelle Internet.

Vérifier les paramètres du groupe de sécurité

Vérifiez que le groupe de sécurité de votre instance de base de données autorise bien le trafic entrant approprié vers votre base de données. Pour plus d’informations, consultez la section Contrôle de l’accès à l’aide de groupes de sécurité.

Vérifier les paramètres de l’ACL réseau

Les listes de contrôle d’accès au réseau (ACL réseau) agissent comme un pare-feu pour les ressources d’un sous-réseau spécifique d’un VPC. Si votre VPC comprend des ACL réseau, vérifiez qu’il dispose bien de règles autorisant le trafic entrant et sortant à destination et en provenance de votre instance. Les ACL réseau autorisent tout le trafic entrant et sortant par défaut. Si l’ACL de votre réseau est plus restrictive, vous devez autoriser explicitement le trafic vers la plage de ports éphémères.

Vérifier votre réseau ou votre pare-feu local

Votre connexion client provient peut-être d’un réseau sur site. Vérifiez que le réseau autorise bien le trafic (depuis les ports et vers ceux-ci) que votre instance utilise pour les communications entrantes et sortantes. Il se peut que vous deviez contacter votre administrateur réseau pour obtenir ces informations.

Vérifier les paramètres de votre table de routage

Vérifiez que votre table de routage est correctement configurée avec le sous-réseau de base de données associé.

Dépannage supplémentaire

Pour résoudre davantage les problèmes de connexion, prenez les mesures suivantes :

  • Exécutez la commande suivante pour vérifier la connexion réseau. Remplacez les valeurs example-rds-endpoint et example-port-number par le point de terminaison RDS et le numéro de port de votre instance de base de données.
    Remarque : Amazon RDS ne prend pas en charge le trafic ICMP (protocole de message de contrôle sur Internet), y compris le ping.

    telnet example-rds-endpoint example-port-number  
    OR   
    curl -v http://<example-rds-endpoint>:<PORT>
  • Exécutez la commande nslookup pour confirmer que le serveur DNS côté client résout bien le nom de point de terminaison DNS de l’instance de base de données à la bonne adresse IP :

    nslookup  example-instance.example-accountcode.example-region.rds.amazonaws.com
  • Vérifiez que l’état de votre instance de base de données est bien Disponible. Les activités de base de données comme la mise à niveau de version, la mise à niveau de classe d’instance ou le basculement multi-AZ peuvent provoquer de brèves interruptions. Les pannes peuvent modifier l’état de l’instance de base de données et entraîner des problèmes de connexion.

  • La connexion peut bien atteindre l’instance de base de données, mais échouer tout de même. Vérifiez que les informations d’identification utilisateur que vous utilisez pour vous connecter à l’instance de base de données sont exactes. Vous pouvez réinitialiser le mot de passe de l’utilisateur principal si nécessaire.

  • Vérifiez que vous disposez bien des autorisations requises pour vous connecter à votre instance de base de données.

Utiliser Amazon EC2 pour vous connecter à votre instance de base de données

Pour configurer une connexion entre Amazon EC2 et votre instance de base de données, utilisez la fonctionnalité de connexion automatique de la console Amazon RDS.

Remarque : pour utiliser la fonctionnalité de connexion automatique, l’instance EC2 et l’instance de base de données doivent se trouver dans le même VPC.

Vous pouvez également utiliser le point de terminaison de connexion de l’instance EC2 sans hôte bastion pour accéder à des ressources comme Amazon RDS depuis la Console de gestion AWS. Tout d’abord, vérifiez que votre utilisateur dispose bien des autorisations AWS Identity and Access Management (IAM) requises pour se connecter au point de terminaison de connexion EC2. Vérifiez également que le groupe de sécurité de votre instance de base de données autorise bien le trafic depuis le point de terminaison d’un VPC.

Exécutez la commande aws ec2-instance-connect open-tunnel pour ouvrir un tunnel WebSocket :

aws ec2-instance-connect open-tunnel --instance-connect-endpoint-id "VPC Endpoint ID"--private-ip-address "Private IP"--local-port "random port number to use locally" --remote-port "rds port number"

Informations connexes

Résolution des problèmes de connexion à votre instance de base de données Oracle

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

TNSPING sur le site Web d’Oracle

AWS OFFICIEL
AWS OFFICIELA mis à jour il y a un an