¿Cómo conectarse a MySQL montado en una instancia de Amazon EC2?

Amazon Web Services

Si como mucha gente has creado una instancia gratuita en Amazon AWS y estas montando un pequeño servidor, te cuento dos cosas que tienes que tener en cuenta para poder configurar una base de datos MySQL y poder conectarse correctamente con Sequel Pro, MySQL administrator, SSH… etc.

¿Cómo configurar MySQL para usar con EC2?

1. Añadir un nuevo usuario con derechos de acceso:

Lógicamente primero tienes que instalar MySQL en tu servidor. El problema es que el usuario por defecto solo podrá conectarse a MySQL desde “localhost”. Es decir, necesitaras crear un usuario especifico para poder conectarse desde fuera. Es decir debes conectarte a MySQL por SSH a tu instancia y desde ahí crear un nuevo usuario:

Ten presente que este usuario solo podrá conectarse desde fuera, pero no desde “localhost”. Dispones de mucha más información en la web oficial de MySQL.

2. Configurar correctamente Security Groups:

Security Groups de Amazon
Security Groups de Amazon

Lo segundo que tienes que hacer es configurar Security Groups de tu Instancia para que garantizar el acceso al puerto desde cualquier IP. Es decir dentro de EC2 Dashboard en la sección de “Network & Security -> Security Groups” tienes que añadir una regla para “Inbound” que permita acceso a cualquier IP con puerto estandár de MySQL. Es bastante fácil ya que hay que utilizar lo que te pone por defecto cuando eliges MySQL/Aurora y poco más.

Con estas dos cosas deberías poder conectarte con cualquier aplicación (Sequel Pro, HeidiSQL… etc) a cualquier base de datos MySQL que tengas. De hecho esta entrada la añado para no olvidarme nunca añadir un usuario MySQL con “derecho de acceso” en remoto…

Puedes considerar usar una base de datos Amazon RDS

RDS es Relational Database Service de la nube de amazon, cuando te registras por primera vez te dejan probarla gratis durante 1 año. Es mucho más fácil de crear y configurar que un servidor MySQL en tu instancia.

Si quieres informarte sobre el “Free Tier” o capa gratuita lo puedes hacer aquí. Cabe destacar que pasado un año, te lo van a cobrar y básicamente resulta mucho más caro que tenerlo todo configurado en la instancia. Personalmente hablando la microinstancia creo que cuesta unos 10$ al mes y la RDS me costaba unos 24$ al mes. Lógicamente esta ultima opción es infinitamente mejor.