2016-09-11 19 views
1

NodeJS Webアプリケーションを作成しています。私はAmazonの弾力のある豆腐を使ってアプリを展開したいと思います。MongoDBをデータベースとして使用したいと思います。NodeJSでMongodb Amazon EC2インスタンスにプログラムで接続する

  • 接続を読み書きするプログラムでserver.jsでこのデータベースに(私はすでにこれをやった)Amazon EC2インスタンス上のMongoDBインスタンスを設定
    1. :今ソリューションの私の理解はしていますデータベースへ

    この解決法は意味がありますか?もしそうなら、プログラムでEC2 MongoDBインスタンスにどのように接続すればよいですか?

    私は、ノードのための公式のMongoDBパッケージを見つけた:https://www.npmjs.com/package/mongodb

    が、ドキュメントはのみのMongoDBのローカルインスタンスに接続する言及:私は私のEC2のMongoDBにsshをすることができる午前

    // Connection URL 
    var url = 'mongodb://localhost:27017/myproject'; 
    // Use connect method to connect to the Server 
    MongoClient.connect(url, function(err, db) { 
        assert.equal(null, err); 
        console.log("Connected correctly to server"); 
    
        db.close(); 
    }); 
    

    現在しかし、私は次のステップを踏んでプログラムに接続する方法を理解していません。

    EC2 MongoDBインスタンスにsshを実行するときに、.pemキーファイルを指定する必要があります。プログラムで接続するときに同様の操作を行う必要がありますか?

  • +0

    EC2セキュリティグループがインスタンスへの接続をMongoDBポートで許可していることを確認してください。また、アプリ用に別のVPCを作成することを検討することもできます。 – DavidT

    答えて

    1

    あなたのユースケースによると、あなたのMongodbはEC2インスタンス上にローカルです。したがって、Mongodbに接続するときには、Mongodbに接続するためにEC2インスタンスへのpemキーを使用してSSHを実行する必要があります。毎回PEMキーを使用したくない場合は、UNとパスワードを使用してインスタンスにSSHできるSSHユーザーを作成できます。

    これは、それを達成するための便利なガイドです:

    https://coderwall.com/p/j5nk9w/access-ec2-linux-box-over-ssh-without-pem-file

    それとも別の方法でSSHキーを使用して接続されます。

    0

    いいえ、MongoDBインスタンスへの接続には.pemキーは必要ありません。

    • Ec2インスタンスにパブリックドメインまたはIPが設定されていることを確認してください。このIPは、ノードDB構成のlocalhostの代わりに使用できます。

    • インスタンス上でmongoサーバーが実行されている必要があります。確認するにはmongo shellを確認してください。

    • インスタンスの管理を改善するためのVPCを作成し、必要なポートを持つセキュリティグループを定義します。
    • データベース構成ファイルでセキュリティ資格情報を使用します。

    データベースインスタンス用のプライベートIPが常に存在することをお勧めします.HTTPサーバーが実行されているインスタンスには、DNSプロバイダにマップされたパブリックIPが必要です。 DBサーバー上の最小ポートは、主に:27017となります。プライベートIPはここからしかアクセスできないので、両方のインスタンスは一度VPC内になければなりません。

    関連する問題