Dans AWS, un VPC est configuré avec un hôte Bastion. Le bastion Host est une seule instance EC2 avec une adresse publique via laquelle vous pouvez SSH sur n'importe quel autre serveur du VPC.
J'ai créé une instance RDS MySQL dans le VPC et j'aimerais y établir une connexion à l'aide de MySQL Workbench. J'ai suivi les étapes détaillées ici , cependant, dans "Étape 6: Configuration de la configuration SSH distante", il me demande de "Fournir le DNS public de l'instance Amazon EC2" (c'est-à-dire l'hôte bastion).
MySQL Workbench vérifie ensuite certaines ressources MySQL sur ce serveur. Cependant, ce n'est pas correct à mon avis car j'ai fourni l'adresse de l'hôte bastion, sur laquelle MySQL n'est pas installé. Par conséquent, les deux derniers vérifications pour "Vérifier l'emplacement des commandes de démarrage/d'arrêt" et "Vérifier le fichier de configuration MySQL" échouent.
J'ai ensuite essayé d'utiliser l'adresse de point de terminaison de l'instance MySQL RDS, mais sans succès (comme elle se trouve dans le sous-réseau privé, elle n'est donc pas publiquement adressable).
Il semble que beaucoup de gens ont cela en place, mais qu'est-ce que je fais mal ici?
Je me bats avec quelque chose de similaire depuis des semaines maintenant. Je viens de le comprendre il y a quelques minutes.
En utilisant cela, j'ai pu me connecter. Cependant, je n'ai pas utilisé VPC dans ma configuration. J'espère que cela t'aides. Bonne chance!
Puisque vous utilisez un VPC, Voici comment il devrait être configuré pour accepter les connexions à partir de votre sous-réseau uniquement:
ajoutez une nouvelle règle pour autoriser tous les ips de votre sous-réseau privé sur le port 3306
ex: règle INBOUND 3306 (MYSQL) 172.33.11.0/24
utilisez mysql workbench tcp/ssh et cela fonctionnera (suivez AndrewSmiley answer).
Je recommande d'utiliser le tunneling SSH:
C'est pour l'atelier UBUNTU Mysql
Vous devez ajouter une règle entrante au groupe de sécurité lié au RDS pour accepter les demandes sur le port 3306 du bastion/saut/toute instance (machine) . Une adresse IP publique doit être associée à la machine.
Confirmez sur votre machine si vous pouvez vous connecter avec le RDS ou non avant de tenter de configurer le tunnel SSH via MYSQL Workbench.
Pour tester la connectivité, exécutez:
mysql -u{username} -p{password} -h ***-db-***.cmmaberpdqoc.***.rds.amazonaws.com -P 3306
Remplacez {nom d'utilisateur}, {mot de passe} et hébergez vos informations d'identification.
Suivez la photo et vous devriez pouvoir vous connecter.
Vous pouvez créer un tunnel SSH dans votre hôte Bastion (instance EC2) pour transférer les ports de votre ordinateur local vers l'instance RDS distante.
sur mac/linux, voici la commande (pour Windows, suivez les instructions dans le lien ci-dessous):
ssh -L 3306:myinstance.123456789012.us-east-1.rds.amazonaws.com:3306 your_c2_ip
vous pouvez ensuite vous connecter à Workbench en utilisant les paramètres suivants:
méthode de connexion: TCP standard
nom d'hôte: localhost
Cet article explique la méthode plus en détail; https://userify.com/blog/howto-connect-mysql-ec2-ssh-tunnel-rds/
C'est ce qui a résolu le problème pour moi. Sur le tableau de bord RDS, examinez le groupe de sécurité de votre instance. Cliquez dessus pour accéder à la page du groupe de sécurité.
Bien que cela indique "Tout le trafic" pour les entrées et les sorties, cliquez sur Editer et assurez-vous que la source indique Mon IP. Je ne recommanderais pas d'utiliser toutes les adresses IP car cela l'ouvrirait à n'importe qui sur Internet. Si vous n'avez pas d'adresse IP statique, veillez à actualiser ce champ une fois que la connexion a cessé de fonctionner.
Après cela, j'ai pu me connecter aux instances AWS RDS T2.
Si vous voulez vraiment utiliser la connectivité VPC d'AWS et ne pas autoriser les IP publiques, procédez comme suit.
Si vous avez un groupe de sécurité auquel sont assignés à la fois votre EC2 et votre RDS, ajoutez une règle entrante pour mysql 3306 sur TCP, mais dans le champ source, ne mettez pas IP ou le sous-réseau, mais l'ID du groupe de sécurité. c'est-à-dire sg-9829f3d2.
J'ai personnellement deux groupes de sécurité sur VPC.
Le premier, le groupe de sécurité 1, est utilisé par l'instance EC2 et n'autorise que les ports requis pour EC2, à savoir 80 et 22.
Le deuxième groupe, le groupe de sécurité 2, n’est utilisé que par les instances RDS et contient une règle pour autoriser mysql (3302). Le champ source est défini sur l’id du groupe de sécurité 1.
Tous les tunnels SSH de Mysql Workbench fonctionnent également avec les deux groupes de sécurité.