Comment puis 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 ?

Lecture de 6 minute(s)
0

Je ne parviens pas à me connecter à mon instance de base de données Amazon Relational Database Service (Amazon RDS). Comment résoudre les problèmes de connectivité dans un sous-réseau public ou privé d'un Amazon Virtual Private Cloud (Amazon VPC) ?

Brève description

Vous pouvez lancer les bases de données Amazon RDS sur le sous-réseau public ou privé d'un VPC. Toutefois, une configuration VPC incorrecte du côté de l'instance RDS peut entraîner des problèmes de connexion. Ou bien, des problèmes de configuration ou de connectivité sur le client à partir duquel vous vous connectez peuvent également entraîner des problèmes de connexion.

Pour résoudre ces problèmes, consultez les résolutions suivantes en fonction de votre environnement.

Résolution

Remarque : si vous recevez des erreurs lors de l'exécution de commandes depuis AWS Command Line Interface (AWS CLI), assurez-vous d'utiliser la version la plus récente d’AWS CLI.

Mon instance de base de données se trouve dans un sous-réseau public et je ne peux pas me connecter via Internet à partir de mon ordinateur local

Ce problème peut se produire lorsque la propriété Accessible publiquement de l'instance de base de données est définie sur Non. Pour vérifier si une instance de base de données est accessible au public :

Ouvrez la console Amazon RDS, sélectionnez Bases de données dans le volet de navigation et sélectionnez votre instance de base de données. Passez ensuite en revue la section Connectivité et sécurité de votre instance.

-ou-

Utilisez la commande describe-db-instances dans l'AWS CLI.

Pour modifier la propriété Accessible publiquement de l'instance Amazon RDS sur Oui :

1.    Ouvrez la console Amazon RDS.

2.    Choisissez Bases de données dans le volet de navigation, puis sélectionnez l'instance DB.

3.    Choisissez Modifier.

4.    Sous Connectivité, développez la section Configuration supplémentaire, puis sélectionnez Accessible publiquement.

5.    Cliquez sur Continue (Continuer).

6.    Choisissez Modify DB Instance (Modifier l'instance de base de données).

Remarque : Cette modification est appliquée immédiatement, même si vous ne sélectionnez pas l'option Appliquer immédiatement. Un arrêt se produit uniquement si vous avez configuré une action de maintenance en attente avec cette modification, qui nécessite un temps d'arrêt, et que vous choisissez Appliquer immédiatement.

Si vous définissez la propriété accessible au public sur Oui et que vous ne parvenez toujours pas à vous connecter à votre instance RDS, vérifiez les informations suivantes :

  • Vérifiez que votre VPC est associé à une passerelle Internet.
  • Assurez-vous que les règles entrantes du groupe de sécurité de votre instance RDS autorisent les connexions à partir de votre adresse IP source.

Mon instance de base de données se trouve dans un sous-réseau privé et je ne peux pas m'y connecter depuis mon ordinateur local

Vous pouvez résoudre ce problème en utilisant un sous-réseau public. Lorsque vous utilisez un sous-réseau public, toutes les ressources sur le sous-réseau sont accessibles à partir d'Internet. Si cette solution ne répond pas à vos exigences de sécurité, utilisez un AWS Site-to-Site VPN. Avec Site-to-Site VPN, vous configurez une passerelle client qui permet de connecter votre VPC à votre réseau distant.

L’utilisation d’une instance Amazon EC2 en tant qu'hôte bastion (saut) constitue une autre méthode de résolution de ce problème. Pour plus d’informations, consultez Comment puis-je me connecter à une instance de base de données Amazon RDS privée, à partir d'une machine locale, en utilisant une instance Amazon EC2 comme hôte bastion ?

Pour passer à un sous-réseau public :

1.    Ouvrez la console Amazon RDS.

2.    Choisissez Bases de données dans le volet de navigation, puis sélectionnez l'instance DB.

3.    Dans la section Connectivité et sécurité, copiez le point de terminaison de l’instance DB.

4.    Exécutez un nslookup pour le point de terminaison de l'instance DB à partir d'une instance EC2 dans le VPC. Consultez l'exemple de sortie suivant :

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

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

5.    Une fois que vous avez l'adresse IP privée de votre instance de base de données RDS, vous pouvez associer l'adresse IP privée à un sous-réseau particulier dans le VPC. Le sous-réseau de VPC est basé sur la plage CIDR du sous-réseau et l'adresse IP privée.

6.    Ouvrez la console VPC Amazon, puis sélectionnez Sous-réseaux dans le volet de navigation.

7.    Choisissez le sous-réseau associé à l’instance de base de données que vous avez trouvée à l’étape 5.

8.    Dans le volet Description, sélectionnez Table de routage.

9.    Choisissez Actions, puis choisissez « Edit routes » (Modifier les routes).

10.    Choisissez Add route (Ajouter un acheminement). Pour le trafic IPv4 et IPv6, dans la zone Destination, entrez les acheminements de votre réseau externe ou sur site. Sélectionnez ensuite l'ID de la passerelle Internet dans la liste Target (Cible).

Remarque : assurez-vous que la règle du groupe de sécurité entrant (Inbound security group) de votre instance limite le trafic aux adresses de votre réseau externe ou sur site.    

11.    Choisissez Save (Enregistrer).

Important : si vous modifiez un sous-réseau en public, les autres instances de base de données du sous-réseau deviennent également accessibles à partir d'Internet. Les instances de bases de données sont accessibles depuis Internet si une adresse publique associée leur est associée.

Si l'instance de base de données n'est toujours pas accessible après avoir suivi ces étapes, vérifiez si l'instance de base de données est Publicly Accessible (Accessible publiquement). Pour ce faire, suivez les étapes décrites dans Mon instance de base de données se trouve dans un sous-réseau privé et je ne peux pas me connecter à partir de mon ordinateur local.

Mon instance de base de données n'est pas accessible par une instance Amazon EC2 à partir d'un VPC différent

Créez une connexion d'appairage de VPC entre les VPC. Une connexion d’appairage de VPC permet à deux VPC de communiquer entre eux à l’aide d’adresses IP privées.

1.    Créez et acceptez une connexion d’appairage de VPC.

Important : si les VPC sont dans le même compte AWS, assurez-vous que les blocs d'adresse CIDR IPv4 ne se chevauchent pas. Pour plus d'informations, consultez la rubrique Limitations des appairages VPC.

2.    Mettez à jour les deux tables de routage.

3.    Mettez à jour vos groupes de sécurité pour référencer des groupes VPC homologues.

4.    Activez la prise en charge de la résolution DNS pour votre connexion d'appairage de VPC.

5.    Sur l'instance Amazon Elastic Compute Cloud (Amazon EC2), testez la connexion d'appairage de VPC à l'aide d'un utilitaire réseau. Reportez-vous à l'exemple suivant :

nc -zv <hostname> <port>

Si la connexion fonctionne, la sortie ressemble à ce qui suit :

$ nc -zv myexampledb.xxxx.us-east-1.rds.amazonaws.com 5439
found 0 associations
found 1 connections:
     1:    flags=82<CONNECTED,PREFERRED>
    outif en0
    src xx.xxx.xxx.xx port 53396
    dst xx.xxx.xxx.xxx port 5439
    rank info not available
    TCP aux info available

Connection to myexampledb.xxxx.us-east-1.rds.amazonaws.com port 5439 [tcp/*] succeeded!

Informations connexes

Scénarios d'accès à une instance de base de données dans un VPC

Utilisation d'une instance de base de données dans un VPC