Ho avuto un problema simile nel tentativo di accedere alla shell mongo da remoto e molte di queste risposte hanno aiutato con parti della soluzione. Per riassumere:
-
IP/DNS pubblico :seleziona la tua istanza nella console di gestione EC2 e assicurati che abbia un IP pubblico o un DNS pubblico. AWS sta spostando più impostazioni predefinite in modo che risiedano all'interno di un Virtual Private Cloud (VPC) ed è possibile avviarne uno con solo un indirizzo IP privato (interno al VPC). Se non hai un DNS o un IP pubblico, devi allocare un IP elastico.
-
Porti del gruppo di sicurezza :Guarda ancora i dettagli dell'istanza sulla console EC2, trova i gruppi di sicurezza e seleziona "Visualizza regole". Supponendo che tu stia utilizzando le porte Mongo predefinite, dovresti avere
27017
e28017
aperto per TCP da0.0.0.0/0
o (più sicuro) dal tuo indirizzo IP. In caso contrario, seleziona un gruppo di sicurezza per la tua istanza e dalla console vai aInbound
>Edit
>Add Rule
>Custom TCP Rule
,Port Range: 27017
e un IP appropriatoSource
. Per l'interfaccia http, aggiungi un'altra regola perPort Range: 28017
. -
/etc/mongod.conf :
- Decommenta
port=27017
per essere sicuro di avere la porta predefinita (non credo che sia effettivamente necessario, ma mi ha fatto sentire meglio ed è bello sapere dove cambiare la porta predefinita...) - Commenta
bind_ip=127.0.0.1
per ascoltare le interfacce esterne (es. connessioni remote) - Decommenta
httpinterface=true
se vuoi usare l'interfaccia http
- Decommenta
-
Crea utente :Devi creare un amministratore e/o un utente per accedere al database da remoto.