48 votes

Pourquoi est-ce que je ne peux pas me connecter à Amazon RDS après l'avoir configuré ?

Alors, je viens de créer le compte Amazon RDS. Et j'ai démarré une instance de base de données.

L ' "endpoint" est:
abcw3n-prod.cbmbuiv8aakk.us-east-1.rds.amazonaws.com

Génial! Maintenant j'essaie de me connecter depuis l'une de mes autres instances EC2.

mysql -uUSER -pPASS -habcw3n-prod.cbmbuiv8aakk.us-east-1.rds.amazonaws.com

Mais rien ne fonctionne et cela reste bloqué.

J'ai essayé de le pinguer, mais rien ne fonctionne non plus. Rien ne se passe.

Dois-je modifier certains paramètres?

50voto

WildJoe Points 2515

Par défaut, RDS ne permet aucune connexion qui n'est pas spécifiée dans le groupe de sécurité (SG). Vous pouvez autoriser en fonction de l'adressage CIDR ou par numéro de compte Amazon ce qui permettrait à tout EC2 sous ce compte d'y accéder.

29voto

Oneiroi Points 1968

Il est "juste en attente" car vous n'avez pas configuré le pare-feu pour accepter les connexions mySQL de votre autre instance, de ce fait le paquet est rejeté au niveau du pare-feu, pour résoudre ce problème vous devez:

  1. vous rendre dans votre console AWS
  2. Onglet EC2
  3. Noter le groupe de sécurité de votre serveur mySQL (nous l'appellerons SG-MYSQL pour l'instant)
  4. cliquer sur groupes de sécurité sur la gauche de la console
  5. cliquer sur votre groupe dans le menu central SG-MYSQL
  6. cliquer sur l'onglet entrant
  7. sélectionner mySQL dans la liste, ajouter les détails de votre serveur client et enregistrer la règle

NOTE: l'adresse IP source du serveur ne sera pas votre adresse IP élastique (dans la plupart des cas en tout cas), vous aurez une adresse IP interne sur l'appareil (ifconfig sur Linux vous montrera cela).

1 votes

J'ai fait cela sur mon serveur EC2. J'ai ouvert tous les ports standard.

0 votes

Mon serveur EC2 peut se connecter à toutes les autres bases de données MySQL sans problème (les bases de données sur d'autres serveurs). Juste pas ma nouvelle base de données RDS. Comment puis-je vérifier si j'ai correctement créé la base de données RDS?

1 votes

Je n'ai pas d'instance EC2 et mon RDS ne pouvait pas se connecter au monde extérieur jusqu'à ce que je fasse cela.

11voto

willbradley Points 318

Beaucoup de discussions ici sur les groupes de sécurité, mais vérifiez également :

  • Les sous-réseaux associés semblent-ils correctement configurés?
  • Les sous-réseaux font-ils partie d'un groupe de routage qui semble correctement configuré (passerelle Internet spécifiée, etc.)?
  • L'option RDS indique-t-elle qu'elle est accessible publiquement?
  • Et bien sûr, vérifiez le groupe de sécurité RDS et le groupe de sécurité EC2
    • N'oubliez pas que votre adresse IP source réelle peut être une adresse IP interne (si vous y accédez de manière interne via un VPC) ou une adresse IP externe (qui peut être l'adresse IP d'un routeur ou l'adresse IP d'une instance EC2 qui est distincte de son équilibreur de charge / adresse IP élastique) - pour le dépannage, vous pouvez essayer d'autoriser l'accès à toutes les adresses IP et ports.

(Le groupe de routage était mon problème; en créant un nouveau sous-réseau, j'ai omis de l'ajouter à un groupe de routage avec une passerelle.)

1 votes

Pour clarifier : TOUS les sous-réseaux que vous choisissez dans le groupe de sous-réseaux RDS doivent avoir des tables de routage qui ont la passerelle Internet spécifiée. Mon problème était que deux des sous-réseaux que j’ai choisis étaient mes sous-réseaux "privés", qui avaient une passerelle NAT spécifiée pour le trafic sortant plutôt que la passerelle Internet, et RDS a choisi un serveur dans l'un de ces sous-réseaux. Consultez cet article si vous n'êtes pas trop familier avec le routage : medium.com/@mda590/aws-routing-101-67879d23014d

1 votes

J'ai été affecté par le même problème que @timetofly. J'avais un travail ponctuel que j'ai décidé d'exécuter sur ECS Fargate, ce qui nécessitait un NAT pour télécharger des fichiers. La configuration du NAT a rompu ma connexion à RDS depuis mon ordinateur portable. Lorsque le travail s'est terminé, j'ai mis à jour mes sous-réseaux pour n'utiliser que la passerelle Internet, et j'étais prêt à partir.

0 votes

Définir 'Accessible publiquement' sur 'Yes' a été crucial pour moi: aws.amazon.com/premiumsupport/knowledge-center/…

4voto

Alex Points 7991

Réparé.

J'ai dû lui accorder l'accès dans les groupes de sécurité sous la base de données...

7 votes

Pouvez-vous élaborer sur ce que vous avez fait pour accorder l'accès ?

2 votes

Ma base de données a un groupe de sécurité avec une règle. Autoriser l'accès de PARTOUT au port 1433. Je ne peux pas me connecter -_-

1voto

loudstil Points 11

J'ai eu le même problème ;

  1. Groupes de sécurité > rds-launch-wizard (ou tout nom qui a été choisi pour le SG de la base de données)
  2. sélectionner l'onglet Entrant > modifier
  3. ajouter un nouveau rôle
  4. MySQL
  5. Source -> insérer l'ip de la machine virtuelle aws (par exemple : 12.3.14.80/32)

ça a fonctionné pour moi ...

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X