外部からMongoDBサーバーにアクセスする。

公認IP設定とACG構成を利用してNAVERクラウドプラットフォームMongoDBにアクセスする方法について説明します。

公認IPの設定

作成されたサーバーに外部からアクセスするためには、公認IPの設定が必要です。

① メニューからPublic IPをクリックします。

② 公認IPの申込をクリックします。

③ 適用サーバーの選択ドロップダウンから作成されたサーバーを選択します。

  • Replica Set Clusterの場合、PrimaryサーバーとSecondary公認IPを割り当てなければなりません。
  • Shard Clusterの場合、Mongosサーバーに公認IPを割り当てられなければなりません。

④ [次]をクリックします。

⑤ 適用サーバー名を確認し、[確認]をクリックします。

⑥ 数分後、IPアドレスが割り当てられます。

ACGの確認

① サーバーを選択します。

② ACG 右側のポップアップメニューをクリックします。 現在allopen2ルールが適用されています。

③ 左側のACGメニューからも確認が可能です。

④ 適用されたルールを拡張します。

⑤ 適用されたサーバーを確認します。

⑥ ルール表示をクリックして該当ACGの詳細設定を確認します。 接続したいMongoDBのポートが許可ポートとして登録されている必要があります。

⑦ ACGルール変更が必要であれば、ACG設定ボタンをクリックします。

⑧ 個人の PC または Web サーバーが DB に接続できるように ACG 設定を入力します。

  • プロトコル: 許容するプロトコルを選択します。
  • アクセス: アクセスを試みる先のIPや帯域を記入します。 例えば単一IPの場合10.64.51.205だけ入力して、10.64.51.XXX帯域ですべてのアクセスが必要な場合、10.64.51.0/24を入力します。 内部Private IPがNAT方式を通じて外部に出る場合は、Public IPを入力しなければなりません。 全ての帯域をオープンした場合、0.0.0.0/0を入力します。 可能であれば、個人のPC、ウェブサーバーでのみアクセスできるように、単一IPに設定することをお勧めします。

  • 許容ポート(サービス) : ポートを個別にオープンする場合、必要なポート番号を許容ポート(サービス)に入力し、追加ボタンを押します。 必要なポートが複数である場合、行を追加して入力します。 すべてのポートをオープンした場合、1-65535を入力します。 但し、この場合、サーバはセキュリティに脆弱になります。 例題では1-65535を入力しました。

⑨ 追加アイコンをクリックします。

⑩ [作成]をクリックします。

DB 接続

① node.jsを通じてMongoDBに接続する例です。

設定した公認IPから接続できます。

  • Connection Stringと使用するDB名は、以下のように入力します。

    • Single Node : mongodb://[アカウント名:アカウントパスワード]@[公認IP:PORT]/[DB名]

    • Mongos(Sharded Cluster) : mongodb://[アカウント名:アカウントパスワード]@[公認IP:PORT,公認IP:PORT(IP:PORTはメンバーの個数だけ登録)]/[DB名]

    • Replica Set : mongodb://[アカウント名:アカウントパスワード]@[公認IP:PORT,公認IP:PORT(IP:PORTはメンバーの個数だけ登録)]/[DB명]?replicaSet=[replicaSet名]

// Replica Set Connection String
// mongoose.connect('mongodb://username:password@106.10.32.232:27017,106.10.32.233,106.10.32.234:27017/testdb?replicaSet=test01'
// ,{ useNewUrlParser: true } )


// Mongos(Sharded Cluster) Connection String
// mongoose.connect('mongodb://username:password@106.10.32.232:27017,106.10.32.233,106.10.32.234:27017/testdb'
// ,{ useNewUrlParser: true } )

// Single Node Connection String
mongoose.connect('mongodb://username:password@106.10.32.232:27017/testdb'
  ,{ useNewUrlParser: true } )

var db = mongoose.connection;

db.on('error', function(err){
    console.log("MongoDB Connection Fail", err);
});

db.once('open', function(){
    console.log("MongoDB Connection Success");
});

に対する検索結果は~件です。 ""

    に対する検索結果がありません。 ""

    処理中...