3 votes

Connexion à un RDS depuis un EC2 sur le même VPC

J'ai une instance RDS fonctionnant sur un sous-réseau sans NAT, et une instance EC2 fonctionnant sur un autre sous-réseau avec une passerelle Internet configurée, toutes deux situées dans le même VPC. J'ai configuré l'instance RDS pour qu'elle ne soit pas accessible au public.

J'utilise la commande suivante dans mon EC2 distant (fonctionnant sur le deuxième sous-réseau) pour me connecter à l'instance RDS :

mysql -h xxxx.eu-central-1.rds.amazonaws.com -P 3306 -u root -p

J'ai saisi le mot de passe correct que j'ai défini lors de la configuration du RDS, mais j'obtiens l'erreur suivante :

ERREUR 2003 (HY000) : Impossible de se connecter au serveur MySQL sur 'XXX.eu-central-1.rds.amazonaws.com' (110)

J'ai vérifié, ce n'est pas un problème de résolution de nom. L'ec2 convertit le point de terminaison vers l'ip interne correct.


Voici mes paramètres :

RDS

VPC : le même que l'EC2

ZONE DE DISPONIBILITÉ : eu-central-1b

SUBNET Dans le panneau RDS, je peux voir tous les sous-réseaux, mais je vois qu'il y a une ip de moins disponible dans le sous-réseau privé de la zone b.

GROUPE DE SÉCURITÉ groupe de sécurité privé (pas de règles de sortie, et dans l'entrée, une seule règle avec le port mysql et le groupe de sécurité public comme source)

ACCESSIBLE AU PUBLIC : non

MULTI AZ : non

EC2

VPC : le même que le RDS

ZONE DE DISPONIBILITÉ : eu-central-1b

SUBNET : sous-réseau public de la zone b

GROUPE DE SÉCURITÉ Groupe de sécurité publique (tous les ports de n'importe quelle source comme règle d'entrée, et les ports ssh, http et https de n'importe quelle source comme règle de sortie).

Je peux accéder à l'instance EC2 en utilisant http et ssh. Cela fonctionne comme prévu.

VPC

VPC : RDS et EC2 utilisent tous les deux le même

SUBNETS : un public et un privé pour chaque AZ, 4 au total

DHCP : celui par défaut ( domain-name = eu-central-1.compute.internal domain-name-servers = AmazonProvidedDNS )

TABLEAUX DE ROUTE pour les sous-réseaux publics, route vers local (automatiquement) et à l'escapade internet, pour le privé, seulement le local (automatiquement)

ACLs : public : allow all à la fois en entrée et en sortie. privé : allow all sur l'entrée seulement. Il y a aussi une ligne avec l'id * avec deny all sur les deux listes de contrôle d'accès, à la fois en entrée et en sortie, mais je suis pratiquement sûr qu'il est censé être là, je ne peux pas le supprimer.

Qu'est-ce que je fais de mal ? Est-ce qu'il me manque quelque chose ?

3voto

Jason Martin Points 4835

Vérifiez vos groupes de sécurité, c'est probablement le coupable. Les hôtes à l'intérieur d'un VPC utilisant des noms DNS utiliseront toujours l'adresse IP privée de la ressource distante, donc la partie NAT / IG n'est pas importante.

0voto

Tim Points 28848

Vous devez vous assurer que votre groupe de sécurité VPC/EC2 et vos NACLs permettent un accès approprié.

J'ai un tutoriel qui couvre la configuration du groupe de sécurité EC2/RDS que vous pourriez trouver utile.

Vous devriez également vérifier auprès de cette réponse sur SO .

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