nous avons une instance EC2 MongoDB 2.4 d’Amazon MarketPlace . lorsque j’essaie d’y accéder depuis mon ordinateur à l’aide de la commande mongo, comme suit:
mongo xx-xx-xx-xx-xx.compute-1.amazonaws.com
je reçois l'erreur suivante
Error: couldn't connect to server xx-xx-xx-xx-xx.compute-1.amazonaws.com:27017 at src/mongo/Shell/mongo.js:147
exception: connect failed
des suggestions sur la façon de résoudre ce problème?
Comme Frisky l'a dit, vous devez ouvrir le port 27017 sur la console de groupe de sécurité EC2. .__ (Pour en savoir plus sur la procédure à suivre: http://docs.aws.Amazon.com/AWSEC2/latest/UserGuide/authorizing-access-to-an-ininstance.html )
Mais vous devez également modifier la variable bind_ip
dans le fichier /etc/mongodb.conf. Vous devez commenter la ligne ou attribuer l'ip qui pourra y connecter la base de données.
Mongod étant en cours d’exécution et travaillant sur l’instance distante, vous pouvez accéder à votre contenu MongoDB via
mongo xx-xx-xx-xx-xx.compute-1.amazonaws.com ou mongo machine_elastic_IP
Avant cela, vous devez ouvrir le port entrant pour cette machine.Le port par défaut 27017 est fermé pour le monde externe.
Pour plus d'informations, consultez: http://docs.aws.Amazon.com/gettingstarted/latest/wah/getting-started-security-group.html
Amazon a créé le groupe de sécurité mongo sans l'ouverture de 27017 . Ports d'ouverture 27017 sur mon ordinateur a résolu le problème.
Essayez d’accéder à xx-xx-xx-xx-xx.compute-1.amazonaws.com:27017 à partir du navigateur, si cela fonctionne, utilisez ssh dans l’instance.
/var/lib/mongodb/mongod.lock
redémarrez le serveur mongodb, et vérifiez si taper mongo
prend dans un shell mongo ou donne une erreur.
Si l'erreur est présente, quittez l'instance et à nouveau ssh pour rechercher $mongo
, si elle ouvre un shell mongo. Essayez de redémarrer une fois que cela a changé, si l'erreur persiste après les modifications ci-dessus.
La seule préoccupation ici est, avant d'y accéder depuis n'importe quelle application. Mongodb devrait fonctionner indépendamment dans le terminal.
EC2 contrôlant l'accès à l'aide d'un groupe de sécurité, assurez-vous que la boîte accédant à mongo db Host est autorisée dans security group
à accéder à cette boîte et que port
est activé pour le même groupe de sécurité.
Un autre problème peut être iptables
. Vérifiez Sudo service iptables status
dans la boîte de dialogue mongodb et voyez quelles sont les règles.
Assurez-vous d’activer les ports appropriés conformément à la condition security
de la boîte.
Les deux étapes suivantes ont activé la connexion à distance pour moi:
Après cela, vous pourrez vous connecter à votre instance mongo distante avec mongo --Host YOUR_INSTANCE_IP