En manipulant les instances RDS pour un projet perso, j’ai eu besoin d’utiliser des outils graphique pour manipuler les bases de données et les instances que j’étais amené à créer sur AWS. D’habitude, j’utilise l’outil HeidiSQL pour cela : il tourne très bien avec du MySQL ou du MariaDB, ce qui est un plus pour moi par rapport à MySQL Workbench, qui a plus de mal avec MariaDB.

Mon problème, c’est que HeidiSQL semble avoir beaucoup de mal avec les connexions aux instances RDS d’AWS. Il y a bien plusieurs tutos sur le sujet, mais le point commun est qu’ils utilisent des connexions SSH via des instances EC2 pour arriver jusqu’à la base. Honnétement, je ne vois pas trop l’intérêt de mettre en place une instance EC2 juste pour ça.

Par contre, il est possible et assez simple de se connecter directement via MySQL Workbench.

1°) Configurer l’instance RDS

Tout d’abord, il faut déjà avoir la bonne configuration de son instance AWS. Pour cela, il y a deux paramétres à vérifier:
– l’instance est elle public ?
– le groupe de sécurité autorise t-il la connexion ?

NB : Lorsqu’on passe une instance RDS en visibilité public, cela ne veut pas dire que tout le monde peut y accéder directement sans autorisation et sans sécurité. Cela signifie que l’instance aura un point de terminaison public dont la sécurité d’accès sera géré en partie par le groupe de sécurité auquel il est rattaché. C’est à dire que seul les adresses IP autorisé par le groupe de sécurité pourront s’y connecter.

Pour vérifier ce point, il faut aller sur la page de détail de notre instance, dans l’onglet « Connectivity & Security » (le premier normalement). On doit voir le paramètre « Public accessibility » à « yes ».

Paramètre « Public accessibility » à « yes »

Ensuite, le groupe de sécurité utilisé par l’instance doit autoriser notre adresse IP à se connecter au port. Cliquer sur le nom du groupe de sécurité pour arriver sur sa configuration ou via la console, aller dans EC2 > Network & Security > Security Groups

Sélectionner le groupe de sécurité, puis dans le tableau en-dessous, aller dans l’onglet « Inbound ». Cliquer sur le bouton « Edit » pour ajouter une nouvelle règle et autoriser votre adresse IP.

2°) Configurer SQL Workbench

Si ce n’est pas déjà fait, télécharger et installer MySQL Workbench et lancer-le. Configurer ensuite une nouvelle connexion en récupérant les informations de votre instance (consultable sur l’onglet « Connectivity & Security » visible plus haut).

  • Connection Name: le nom que vous voulez pour identifier la connexion
  • Connection Method: Standard (TCP/IP)
  • Hostname: <RDS Endpoint>
  • Port: Port d’écoute de votre instance (ici 3309, 3306 par défaut)
  • Username: le compte que vous crée au moment de la création de l’instance

Tester la connexion via le bouton « Test Connection » en bas à droite, et tout devrait fonctionner. Vous pouvez maintenant utiliser la console pour manipuler vos bases.

3°) Forcer l’utilisation de SSL pour utiliser la base de données

Il est possible de forcer l’utilisation de SSL et de vérifier le certificat pour renforcer la sécurité. Vous pouvez télécharger le certificat CA public AWS pour RDS ici, puis dans la configuration SSL de votre connexion sous Workbench, vous faites référence à ce fichier.

Pensez à mettre « Require and Verify CA » dans le paramètre « Use SSL » pour obliger l’utilisation et la vérification du certificat.


0 commentaire

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.