2016-05-25 32 views
2

AWS EC2 UbuntuインスタンスでMongoDBインスタンスを作成しました。AWS EC2インスタンスのMongoDBインスタンスに接続できません

MongoDBは実行されていて、私のマシンへsshとMongoDBのmongodコンソールを実行するには、私はデータベースを作成することができていたとき、私はそれが正常に動作している確信しています。

ただし、ブラウザのローカルマシンからデータベースにアクセスできません。

私は0.0.0.0/etc/mongod.confbindIpを変更している、と私はsudo ufw allow 27017を実行することにより、ポート27017を開いているが、私はまだブラウザがタイムアウトに接続しようとします。

私はmongod --config /etc/mongod.confを使用してインスタンスを設定しようとすると、私はエラーを取得:

CONTROL [main] Failed global initialization: FileNotOpen: Failed to open "/var/log/mongodb/mongod.log" 

このファイルが存在します!設定ファイルの関連部分は次のようになります。

systemLog: 
    destination: file 
    logAppend: true 
    path: /var/log/mongodb/mongod.log 

私はあなたが--restを指定することにより、RESTインターフェースを有効にする必要が読んだことが、私はデータベースサービスを開始しておりますので、私はこれを行う方法がわかりませんsudo service mongod startコマンドを使用します。

enter image description here

私は何をしないのです:

マイAWSのセキュリティ設定は次のようになりますか?

答えて

1

使用しているMongoDBのバージョンは指定されていませんが、YAMLの設定が表示されているので、2.6以上であると仮定します。

あなたは(https://docs.mongodb.com/v3.0/reference/configuration-options/ごとに)以下でmongodb.confを経由してRESTインターフェースを有効にすることができます。

net: 
    http: 
     enabled: true 
     RESTInterfaceEnabled: true 

MongoDB docsによると、(3.2で廃止され)RESTインターフェイスはポート28017でリッスン(1000 + mongodポート)、そのポートのファイアウォールを開く必要があります。

また、DBポートを世界(0.0.0.0)に開放しないことを強くお勧めします。あなたのラップトップのIP(またはあなたのISPによって割り当てられたルータのIP)を見つけて、代わりにそれを追加してください。

mongodbはHTTPやその他のブラウザプロトコルを使用しておらず、ブラウザはどのように対話するのか分からないため、ブラウザが接続できない可能性があります(正確なエラーは指定していません)。とにかくRESTインターフェイスが有効になっていても、ブラウザで多くのことを行うことはできません。あなたのラップトップでmongoシェル(あなたのサーバ上のmongodbと同じバージョンを取得してください)を取得し、ポート27017に接続できるかどうかを確認してください。

+0

ありがとう、私は試してみる。 28017の管理コンソールだけであり、27017のRESTfulインターフェイスではなく、推奨されていなかったことを理解しました。それは誤解ですか? – serlingpa

+0

Hmm。さて、http // xx.xx.xx.xx:27107/databasenameのデータベースを見ようとすると、「ネイティブドライバポートでHTTP経由でMongoDBにアクセスしようとしているようです」というメッセージが表示されます。 HTTP経由でデータベースを照会することはできなくなりましたか?私はMongoDBの最新バージョン(私が思うバージョン3.2.6)を使用しています。 – serlingpa

+0

3以上のインストールはありません。0をテストするが、ドキュメントはhttpを非難することを暗示しているようだ。 28017は機能しますか? –

関連する問題