Estoy creando una aplicación de meteoros javascript desde mi host local, pero me gustaría que mi base de datos se almacene en un servidor aws separado.

Soy nuevo en MongoDB y aws. Me pregunto cómo haría para conectarme a mi base de datos desde mi host local.

8
Dylan 7 may. 2016 a las 23:17

4 respuestas

La mejor respuesta

Eso es tan simple como iniciar su aplicación Meteor con MONGO_URL variable de entorno configurada para apuntar a la instancia de Mongo que se ejecuta en su máquina AWS.
Suponiendo que ya haya abierto el puerto 27017 en la máquina remota:

MONGO_URL=mongodb://addresshere.compute-1.amazonaws.com:27017/yourdbname meteor
3
Francesco Pezzella 7 may. 2016 a las 20:55

Además de configurar la aplicación para conectarse a MongoDB remoto, como se menciona en otras respuestas, también es necesario asegurarse de que el servidor sea accesible desde su red.

Existen diferentes formas de acceder al recurso de red en AWS:

  • Cambie la configuración de grupo de seguridad para la instancia EC2 - esto actúa como un firewall y permite el acceso al puerto 27017. Si solo necesita acceder desde su máquina, hay una opción para permitir el acceso desde su IP actual.

  • Use el túnel ssh para conectarse a la instancia y tenga ese puerto tunelizado localmente, algo como ssh aws-host -L 27017:localhost:27017 o, si se está conectando a través de la instancia diferente ssh aws-host -L 2017:target.mongo.host.amazonaws.com:27017. Hay una buena presentación sobre este tema: ¿La magia negra de SSH / SSH puede hacer eso?.

  • Utilice VPN en AWS y conéctese a la red de AWS a través de VPN (haciendo que los recursos dentro de su red de AWS estén disponibles localmente).

2
Boris Serebrov 26 may. 2017 a las 18:39

De acuerdo con este enlace es posible que desee consultar 1) cortafuegos del sistema operativo; 2) enlace de servicio correcto a la dirección IP privada (si no, agregue su IP a la lista blanca de direcciones IP; 3) su versión de Mangosta si se usa. Use 'npm list mongoose' para averiguar la versión y actualizarla a la última versión.

Puede usar Mongodb Atlas, una oferta de 'MongoDB como servicio disponible en Amazon Web Services (AWS ) ', para alojar su base de datos (tiene un nivel gratuito para comenzar) y usar MongoDB Compass para administrar fácilmente sus datos.

0
Treefish Zhang 22 may. 2017 a las 00:26

Puedes conectarlo usando mangosta.

Var mangosta = require ('mangosta');

mongoose.connect('mongodb://serverIpaddress/databasename', function (err) {
    if (err) {
       return "no"
    } else {
        console.log('connection successful');

    }
});
1
vijesh 24 may. 2017 a las 14:04