が、今私は一般的に、プライマリ・インスタンスであるとセカンダリである
を知らない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をチェックアウトすることをお勧めします。
希望に役立ちます。