sql >> Base de Datos >  >> NoSQL >> MongoDB

Conexión remota a la interfaz http de MongoDB en el servidor EC2

Tuve un problema similar al intentar acceder al shell de mongo de forma remota, y varias de estas respuestas me ayudaron con partes de la solución. Para resumir:

  • IP pública/DNS :seleccione su instancia en EC2 Management Console y asegúrese de que tenga una IP pública o un DNS público. AWS está moviendo más de los valores predeterminados para que vivan dentro de una nube privada virtual (VPC), y es posible iniciar una con solo una dirección IP privada (interna a la VPC). Si no tiene un DNS público o una IP, debe asignar una IP elástica.

  • Puertos del grupo de seguridad :Mirando de nuevo los detalles de la instancia en la consola EC2, busque los grupos de seguridad y seleccione "Ver reglas". Suponiendo que está utilizando los puertos predeterminados de Mongo, debería tener 27017 y 28017 abierto para TCP desde 0.0.0.0/0 o (más seguro) desde su dirección IP. De lo contrario, seleccione un grupo de seguridad para su instancia y desde la consola vaya a Inbound> Edit> Add Rule> Custom TCP Rule , Port Range: 27017 y una IP Source apropiada . Para la interfaz http, agregue otra regla para Port Range: 28017 .

  • /etc/mongod.conf :

    • Descomenta port=27017 para asegurarse de tener el puerto predeterminado (no creo que esto sea realmente necesario, pero me hizo sentir mejor y es bueno saber dónde cambiar el puerto predeterminado...)
    • Comenta bind_ip=127.0.0.1 para escuchar interfaces externas (por ejemplo, conexiones remotas)
    • Descomenta httpinterface=true si desea utilizar la interfaz http
  • Crear usuario :Debe crear un administrador y/o usuario para acceder a la base de datos de forma remota.