2011-01-22 12 views
10

ho un'altra domanda per voi. Ho istanza Amazon EC2 con mondodb installato. Funziona benissimo tranne una cosa: non posso accedere (connettendola) dall'esterno (mio PC). Penso che il problema con i gruppi di sicurezza. È una specie di firewall predefinito. Qualcuno sa come configurare l'istanza EC2 per avere accesso a mongodb? Grazie in anticipo.Problema con l'accesso a Mongodb su Amazon EC2

risposta

10

È necessario aggiungere un'eccezione di gruppo di sicurezza per la porta 27017 se si utilizza la configurazione predefinita per accedere dall'esterno. Per la configurazione del gruppo di sicurezza, consultare la documentazione di Amazon EC2. E se stai usando una porta diversa su Mongo, modifica la porta del gruppo di sicurezza di conseguenza.

--Sai

+0

So che dovrei fare qualcosa del genere, ma non riesco a capire cosa esattamente. – clumpter

+22

Assicurati di aver commentato 'bind_ip' dal' mongodb.conf' –

+3

e quindi non dimenticare di riavviare il servizio mongod –

39

Pensa attentamente prima di farlo. Se apri le porte, assicurati di limitare i numeri IP che possono accedervi, altrimenti chiunque sarà in grado di accedere al tuo database. Puoi abilitare l'autenticazione in MongoDB, ma non è particolarmente sicuro, solo un nome utente e una password. Non dovresti avere il tuo database aperto su internet, non è una buona idea.

Un modo migliore di aprire porte nel firewall EC2 è aprire un tunnel SSH e inoltrare la porta, questo assicura che solo tu possa accedere al database e solo mentre il tunnel SSH è attivo.

aprire un nuovo terminale ed eseguire questo comando (sostituendo utente e host con l'utente che si usa quando SSH'ing al server e il nome del server):

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

Il comando sarà inoltrare il porta 27017 sul tuo computer alla stessa porta sul server. Per connettersi all'istanza MongoDB, esegui semplicemente mongo in un terminale (se non funziona, prova mongo --host 127.0.0.1 o anche mongo --host 127.0.0.1 --port 27017).

Se si esegue MongoDB sul computer locale, sarà necessario modificare la prima porta, poiché il server locale lo sta già utilizzando. In questo caso eseguire questo comando:

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

e poi collegarsi con

mongo --port 27018 

(eventualmente aggiungendo --host 127.0.0.1 se non funziona).

Quando hai finito di lavorare con il database, esci mongo e premi ctrl-C nel terminale con il comando SSH.

+0

Epic. Il magix di port forwardz. –

5

L'istanza EC2 è un server Windows per caso? In tal caso, oltre ai Security Group di EC2 è necessario configurare anche Windows Firewall per consentire la connessione in ingresso.

Passare a Strumenti di amministrazione, Windows Firewall con protezione avanzata e configurare una nuova regola che consente le connessioni in ingresso sulla porta 27017 (la porta mongo predefinita) o qualsiasi porta che si è scelto.

+0

Grazie amico! Stavo avendo questo problema con la mia istanza di Windows EC2. Ora, potrei accedervi! – Jobsamuel