2016-03-24 13 views
2

こんにちはすべての私のスタートアップ私は私はmongoDBの私はこのmongoDBを見たhttps://console.cloud.google.com/launcher/details/click-to-deploy-images/mongodb?q=mongo私はそれを起動した今、私はmongoDBですので、私はノードクラッシュプラットフォームを使用して、今私はnode.jsでこの部分は、私の計算機では3つのインスタンスが作成されましたが、現在はどのインスタンスがプライマリインスタンスかどちらがセカンダリなのか分かりません。また、プライマリインスタンスをデータの書き込みに使用する必要があります。私は私のデータベースを照会するとき私はセカンダリインスタンスのURLを提供し、私のmongodbデータベースのデータを更新/挿入する必要がありますプライマリインスタンスのURLを提供する必要がありますか?また、これを起動した後、私はconfファイルまたは任意のファイルを手動で変更しなければならないか、すでにそれらを行っていますか?また、3つのインスタンスすべてのインスタンスグループを作成する必要がありますか?Googleのクラウドプラットフォームにmongodbを導入していますか?

私はこれについて、または有効なstackoverflowの質問ではない私は非常に申し訳ありませんグーグルの雲のプラットフォームは非常に新しいですので、これについての多くのドキュメントもない私のコードをサーバーに配備したのは初めてのことです。なぜなら、私はこの分野で全く問題なく働いています。ありがとうございました。

答えて

4

が、今私は一般的に、プライマリ・インスタンスであるとセカンダリである

を知らないCloud Launcherは接尾-1(ダッシュ1)で、主に名前を付けます。たとえば、デフォルトでは、プライマリとしてmongodb-1-server-1インスタンスが作成されます。

the mongo shellでいずれのインスタンスでもrs.status()を実行すると、どちらがプライマリであるかを知ることもできます。例として:

mongo --host <External instance IP> --port <Port Number> 

あなたはgcloudを使用してインスタンスの外部IPアドレスのリストを取得することができます。たとえば:あなたはすぐに接続することができませんデフォルトで

gcloud compute instances list 

、あなたはポートを開くには、計算エンジンのファイアウォールルールを作成する必要があります。 について:

gcloud compute firewall-rules create default-allow-mongo --allow tcp:<PORT NUMBER> --source-ranges 0.0.0.0/0 --target-tags mongodb --description "Allow mongodb access to all IPs" 

賢明なポート番号を挿入し、デフォルト値を使用して避けてください。送信元IP範囲を制限することもできます。すなわちあなたのオフィスIP。

は、一般的に複製は、冗長性と高可用性を提供することであり、私はプライマリ・インスタンスは、データの書き込みに使用し、読書のための二次する必要があることを読んでも Cloud Platform: Networking

を参照してください。プライマリ・インスタンスが読取りと書込みに使用されている場合、セカンダリ・インスタンスはレプリカとして機能し、あるレベルのフォールト・トレランスを提供します。すなわちプライマリサーバの喪失である。

も参照してください:

は、今私は、セカンダリ・インスタンスのURLを提供する必要がありますし、私のMongoDBデータベース内のデータを更新/挿入するために私は私のMongoDBデータベース上でCRUD操作のために使用する必要のあるURLそうでない場合は、プライマリ・インスタンスのURLを提供する必要があります

両方をMongoDB URIに指定すると、ドライバはどこから読み書きするかを判断します。あなたのNode.jsの中に例えば、あなたが持っている可能性があり:

mongodb://<instance 1>:<port 1>,<instance 2>:<port 2>/<database name>?replicaSet=<replica set name> 

をクラウドランチャーで設定されたデフォルトのレプリカセット名はrs0です。参照:

もこれをlauncing後、私は手動で任意のconfファイルまたは任意のファイルに変更を加える必要はありますか彼らはすでに私のためにそれをやっ??また、3つのインスタンスすべてのインスタンスグループを作成する必要がありますか?

これは、アプリケーションの使用状況によって異なりますが、MongoDBの設定をクリックして展開する場合は、すべての処理が必要です。

完全なガイドについては、チュートリアル:Deploy MongoDB with Node.jsをご覧ください。また、MongoDB security checklistをチェックアウトすることをお勧めします。

希望に役立ちます。

関連する問題