2017-12-28 20 views
1

私は、Lightsail AWSインスタンスを稼働させてMEANスタックを稼働させています。私は別のネットワーク上で実行されている既存の平均スタックを持っています。現時点では、ノードserver.jsは(同じマシン上の)mongoビットのlocalhostに接続します。私がしたいのは、localhostをAWSリモートサーバ上で動作するmongoへの接続で置き換えることだけです。sshトンネル経由でリモートawsライトailmongodbにアクセスするには

私はセキュリティ上の理由から、この接続をsshトンネリングすることをお勧めします。これは私がよく知っていると思います。

ssh -L 8181:127.0.0.1:80 -i ~/LightsailDefaultPrivateKey-eu-west-2.pem [email protected] -N 

私は、その後に閲覧することができます:私が実行している(リモートDBへの)ノード・サーバーをホストしているマシン上のコンソールで

:私がこれまで行ってきた何

はこれですlocalhost:8181/rockmongoを使用しているローカルマシンからのRockMongo UI ... yay。

私はその後、実行すると、次の

mongo --username XXXXXX --password XXXXXX 31.16.56.125:8181/testdata 

私が手:

ssh -L 8181:127.0.0.1:27017 -i ~/LightsailDefaultPrivateKey-eu-west-2.pem [email protected] -N 

しようとすると、使用して私のリモートマシンからDBにアクセスすると

(27017はMongoのポートです)次のエラー:

~] 2017-12-28T22:11:09.791+0000 Error: couldn't connect to server 31.16.56.125:8181 (31.16.56.125), connection attempt failed at src/mongo/shell/mongo.js:148 exception: connect failed

これは間違っていますか?つまり、http接続のみのトンネルであり、mongoコマンドラインの使用ではありませんか?他の方法で接続をテストする必要がありますか?私が持っていた多くの幸運、このための場所の上にすべてのGoogleで検索していませんでした

(AWSドキュメントの多くを示唆ファイアウォールに穴パンチ! - 1は、もはや行うことができます)

答えて

0

OK、私はしました(部分的に)これを解決し、いくつかのことが間違っていた。

1)mongoクライアントは2.6、AWSで動作するmongoは3.4です。これをアップグレードしていくつかの問題を解決しました。私はより意味のあるエラーメッセージを受け取りました。

私が問題を抱えていたことは、apt-getが更新を実行したようだが、mongoコマンドを発行したときに報告されたバージョンはまだ2.6だったということです。

これを解決するには、sudo apt-get purge mongodb-org*(アスタリスクに注意してください)を実行しなければなりませんでした。私はそれから「管理」を省略してきたように、このコマンド

mongo --username XXXXXX --password XXXXXX 31.16.56.125:8181/testdata 

が動作しません) https://docs.mongodb.com/v3.2/tutorial/install-mongodb-on-ubuntu/

2:次に、あなたがこれを行う必要がある場合、これらの指示に従ってください....更新を実行指定されていないlocalhost!

しかし

mongo admin --username XXXXXX --password XXXXXX localhost:8181/testdata 

は、いずれかの動作と、次の出力を与えるものではありません。

2018-01-03T22:00:42.380+0000 W NETWORK [thread1] Failed to connect to 127.0.0.1:27017, in(checking socket for error after poll), reason: errno:111 Connection refused 
2018-01-03T22:00:42.380+0000 E QUERY [thread1] Error: couldn't connect to server 127.0.0.1:27017, connection attempt failed : 
[email protected]/mongo/shell/mongo.js:229:14 
@(connect):1:6 

私は仕事に行くことができる唯一のコマンドは次のとおりです。

mongo admin --username XXXXXX --password XXXXXX --port 8181 

デフォルトのホストはlocalhostですので、この場合には、それはトンネルを使用して、これはまた、単に、テストデシベルにおつなぎしますそこから管理者になることができます。 mongo --help

usage: mongo [options] [db address] [file names (ending in .js)] 
db address can be: 
    foo     foo database on local machine 
    192.169.0.5/foo  foo database on 192.168.0.5 machine 
    192.169.0.5:9999/foo foo database on 192.168.0.5 machine on port 9999 
を実行しているから、出力ごとなどの引数としてポート/ DB:私はの底に持っていない何

は、ホストの仕様です

関連する問題