Bienvenidos a este nuevo post en el que aprenderemos paso a paso a desplegar un EC2 e instalar MySQL para poder consumirlo desde fuera de la maquina.

Para poder empezar con este tutorial, recomendamos utilizar siempre (a ser posible) los recursos gratuitos de Amazon Web Services, a no ser que se disponga del dinero y permiso para desplegar recursos de pago.

Empezaremos dirigiendonos a EC2 dentro de AWS Console y seleccionamos Lanzar Instancias.

Ahora tenemos que rellenar el formulario para la creación del EC2. Para ello, ingresamos un nombre descriptivo para nuestra maquina y seleccionamos Ubuntu como imagen.

A continuación, nos aseguramos de que el tipo de instancia seleccionado sea t2.micro.

Seleccionamos un par de claves para el inició de sesión. Si no tenemos un par de clases, crearemos uno y lo guardaremos en nuestro equipo para poder conectarnos a la EC2.

Ahora, un paso importante. Debemos permitir el tráfico en el grupo de seguridad desde cualquier IP. Para ello, clickamos en la opción de Editar en el apartado Configuraciones de red.

Seleccionamos la opción Crear grupo de seguridad y le damos un nombre al grupo. Deslizamos hacia abajo y agregamos las siguientes reglas para el grupo. (MUY IMPORTANTE: la regla más importante es la de tipo MySQL/Aurora, que permitirá el acceso al MySQL del EC2).

Una vez rellenados estos campos, lanzamos la instancia y esperamos a que esté disponible.

Cuando la instancia esté en ejecución, seleccionamos Conectar.

Nos dirigimos al apartado Cliente SSH y copiamos el ejemplo de abajo del todo para usarlo en nuestra consola de comandos.

Desde nuestra consola de comandos, cambiamos de directorio a donde tenemos nuestras claves de inicio y en dicha carpeta ejecutamos el commando ssh -i …

Cuando estemos dentro de la maquina, usaremos sudo su para facilitar el proceso a lo largo del tutorial.

Ejecutamos el comando apt-get update para corroborar que la maquina está al dia y a continuación lanzamos el comando para instalar mysql: apt-get install mysql-server

Una vez finalizada la instalación de mysql, comprobamos el estado del servicio para ver si mysql está activo. Esto lo haremos con systemctl status mysql

¡Genial! Ahora que tenemos el servidor activo, vamos a loguearnos en mysql con el usuario root y la contraseña por defecto: root

Si el logueo en MySQL es correcto, vamos a crear un nuevo usuario para poder conectarnos remotamente al servidor de EC2. Para ello tenemos que ejecutar en la consola de MySQL el siguiente comando:
CREATE USER ‘aqui nuestro nombre de usuario‘@’%’ IDENTIFIED BY ‘aqui nuestra contraseña‘;

Para este tutorial, yo utilizaré el username adminsql y la contraseña Admin123.

A continuación, salimos de la consola de MySQL con \quit y nos desplazamos con el comando cd a la carpeta raiz. Desde ahi nos movemos a /etc/mysql/mysql.conf.d y ejecutamos el comando
nano mysqld.cnf para modificar el permiso de entrada de MySQL.

Cuando entremos en el editor de texto nano, veremos lo siguiente:

Debemos modificar el apartado bind-address. Para ello, sustituimos la actual IP de 127.0.0.1 por 0.0.0.0

Una vez hecho esto, guardamos los cambios pulsando CTRL+X y aceptamos los cambios pulsando Y.

Para que los cambios tengan efecto en el servicio de MySQL, debemos reiniciar el servidor con el comando systemctl restart mysql

Si todo el proceso se ha desarrollado de manera óptima, ahora podremos comprobar si el acceso remoto desde nuestra máquina local (por ejemplo) es válido. Para ello, vamos a utilizar una herramienta de administración de bases de datos llamada MySQL Workbench.

Creamos una nueva conexión y rellenamos el formulario con los siguientes datos:

Connection Name: un nombre para la conexión
Hostname: IPV4 pública de nuestra máquina EC2
Port: por defecto de MySQL será 3303
Username: el nombre de usuario que hemos creado en la consola de MySQL, en mi caso, adminsql
Password: la contraseña para el usuario que hemos creado en la consola de MySQL

Para testear la conexión, pulsamos en Test Connection y si todo ha ido bien, veremos esta pantalla.

¡Ahora por fin podemos conectarnos con esta nueva conexión y utilizar el servidor de MySQL instalado en un EC2 de manera remota!

Muchas gracias por acompañarnos en este post tutorial y espero que os haya sido de ayuda. Un saludo y hasta la próxima.

Autor/a: Alejo Pérez Benayas
Curso: Desarrollo Web Full Stack, MultiCloud y Multiplataforma
Centro: Tajamar
Año académico: 2021-2022
Código / recursos utilizados / Otros datos de interés: Amazon Web Services EC2

Leave a Comment

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.