Conexion remota mongodb aws ec2


Túneles para uso con MONGO

En ocasiones es necesario establecer conexiones desde una consola local a una instancia de Mongo en un servidor remoto.

Una forma relativamente simple es crear un tunel entre ambos equipos mediante el comando ssh que crea una conexión segura

Para el caso de aws ec2 simplemente usamos los parámetros de la conexión convencional a ec2 mediante   ssh y le agregamos el puerto local en que deseamos que se establezca el túnel , ademas usamos un par de parámetros de ssh para que el túnel se establezca en segundo plano para poder usarlo a través del comando # sudo mongo ; por ejemplo, es de notar que el túnel es general y puede ser usado en cualquier contexto que se requiera invocando el puerto correcto en este caso el 8000 , puede cualquiera que a momento de establecer el túnel este disponible  

 ssh parámetros

  • -i = Archivo de identificación usualmente terminado en .pem

  • -N = Permite bloquear la ejecución de comandos remotos. Útil para la sola configuración del reenvío de puertos.

  • -f = Coloca la conexión en segundo plano para poder ejecutar otros comandos como # sudo mongo por ejemplo

  • -L = Dirección de conexión

Crear túnel

# sudo ssh -i /home/db_repository/servidorremoto.pem -N -f -L 8000:localhost:27017 ec2-user@ec2-30-180-40-25.us-east-2.compute.amazonaws.com

Accesar la base de datos por el puerto elegido (8000) puede cualquiera que este disponible

1. Desde consola

# sudo mongo --port 8000

2. Desde Mongo Compass:

Digitar este comando en la barra de conexión ( note que se llama a localhost pero sobre el puerto 8000 porque sobre ese puerto esta el tunel establecido mediante ssh.

mongodb://localhost:8000

Cerrar conexión del tunel ssh

# sudo killall -9 ssh


Comentarios

Entradas populares