私はmongoシェルにリモートでアクセスしようとして同様の問題を抱えていましたが、これらの回答のいくつかはソリューションの一部に役立ちました。要約すると:
-
パブリックIP/DNS :EC2管理コンソールでインスタンスを選択し、パブリックIPまたはパブリックDNSがあることを確認します。 AWSは、より多くのデフォルトを仮想プライベートクラウド(VPC)内に配置するように移行しており、プライベートIPアドレス(VPCの内部)のみを使用してデフォルトを起動することができます。パブリックDNSまたはIPがない場合は、ElasticIPを割り当てる必要があります。
-
セキュリティグループのポート :EC2コンソールでインスタンスの詳細をもう一度確認し、セキュリティグループを見つけて、[ViewRules]を選択します。デフォルトのMongoポートを使用していると仮定すると、
27017
が必要です。 および28017
0.0.0.0/0
からTCP用に開く または(より安全に)あなたのIPアドレスから。そうでない場合は、インスタンスのセキュリティグループを選択し、コンソールからInbound
に移動します>編集コード>>
ルールの追加
>カスタムTCPルール
、ポート範囲:27017
、および適切なIPソース
。 httpインターフェースの場合、Port Range:28017
に別のルールを追加します 。 -
/etc/mongod.conf :
- コメントを外す
port=27017
デフォルトのポートがあることを確認するため(これは実際には必要ないと思いますが、気分が良くなり、デフォルトのポートをどこで変更するかを知っておくとよいでしょう...) - コメントアウト
bind_ip=127.0.0.1
外部インターフェース(リモート接続など)をリッスンするため - コメントを外す
httpinterface=true
httpインターフェースを使用したい場合
- コメントを外す
-
ユーザーの作成 :データベースにリモートアクセスするには、管理者やユーザーを作成する必要があります。