sql >> Databasteknik >  >> NoSQL >> MongoDB

Problem med åtkomst till Mongodb på Amazon EC2

Tänk noga innan du gör detta. Om du öppnar portarna, se till att du begränsar IP-numren som kan komma åt den, annars kommer vem som helst att kunna komma åt din databas. Du kan aktivera autentisering i MongoDB, men det är inte särskilt säkert, bara ett användarnamn och lösenord. Du bör inte ha din databas öppen mot internet, det är ingen bra idé.

Ett bättre sätt än att öppna upp portar i EC2-brandväggen är att öppna en SSH-tunnel och vidarebefordra porten, detta säkerställer att bara du kan komma åt databasen, och endast medan SSH-tunneln är aktiv.

Öppna en ny terminal och kör det här kommandot (ersätt användare och värd med den användare du använder när du SSH-ansluter till din server och namnet på servern):

ssh [email protected] -N -L 27017:127.0.0.1:27017

Kommandot kommer att vidarebefordra port 27017 på din dator till samma port på servern. För att ansluta till MongoDB-instansen kör bara mongo i en terminal (om det inte fungerar, försök mongo --host 127.0.0.1 eller till och med mongo --host 127.0.0.1 --port 27017 ).

Om du kör MongoDB på din lokala dator måste du ändra den första porten, eftersom den lokala servern redan använder den. Kör i så fall detta kommando istället:

ssh [email protected] -N -L 27018:127.0.0.1:27017

och anslut sedan till

mongo --port 27018

(möjligen lägger till --host 127.0.0.1 om det inte fungerar).

När du är klar med att arbeta med databasen, avsluta mongo och tryck ctrl-C i terminalen med SSH-kommandot.



  1. minska värdet i samlingen till 0

  2. MongoDB Positional Operator $

  3. Hur man gör kapslade frågor i MongoDb som fungerar som kapslade Sql-selekteringsfrågor

  4. Ansluter till DocumentDB från AWS Lambda med Python