MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

méthode recommandée pour installer mongodb sur un haricot élastique

Au cas où quelqu'un chercherait une réponse, voici les conseils que j'ai reçus du support commercial aws.

Tout le code déployé sur Elastic Beanstalk doit être « sans état », c'est-à-dire. N'apportez jamais de modifications directement à une instance de haricot en cours d'exécution à l'aide de SSH ou FTP. sur votre charge réseau/processeur et créez de nouvelles instances à partir d'une AMI de base. Si une instance a des problèmes ou le matériel sous-jacent, Elastic Beanstalk mettra fin à ces instances en cours d'exécution et les remplacera par de nouvelles instances. Par conséquent, pourquoi aucune modification de code ne doit être appliquée ou effectuée "directement" sur une instance existante, car les nouvelles instances ne seront pas au courant de ces modifications directes. TOUTES les modifications/le code doivent être téléchargés vers la console Elastic Beanstalk ou les outils CLI et poussés vers toutes les instances en cours d'exécution. Plus d'informations sur les concepts de conception Elastic Beanstalk peuvent être lues sur le lien suivanthttp://docs.aws.amazon.com/elasticbeanstalk/latest/dg/concepts.concepts .design.html

Solution suggérée :avec ce qui précède à l'esprit, si vous utilisez MongoDB pour stocker des données d'application, notre recommandation serait de découpler l'environnement MongoDB de votre application Node.js. EC2 et connectez votre application Elastic Beanstalk Node.js au serveur MongoDB à l'aide des paramètres de connexion de votre application.

-Creating MongoDBBelow est quelques exemples de liens qui peuvent être utiles pour votre scénario de création d'un serveur MongoDB.Deploy MongoDB on EC2,https://docs.mongodb.org/ecosystem/platforms/amazon-ec2/ Client de nœud MongoDBhttps://docs.mongodb.org/getting-started/node /client/ Guide de démarrage rapide de MongoDB sur le cloud AWShttp://docs.aws .amazon.com/quickstart/latest/mongodb/architecture.html

-Ajout de variables d'environnement à Elastic Beanstalk pour référencer votre serveur MongoDBUne fois que vous avez créé votre serveur MongoDB, vous pouvez transmettre les paramètres de connexion nécessaires à votre environnement Elastic Beanstalk à l'aide de variables d'environnement.Exemple en utilisant .ebextensions .config auquel vous pouvez ajouter Mongo URL/ports/users etc..

option_settings :- option_name :MONGO_DB_URLvalue :"Votre adresse IP interne MongoDB EC2"

Vous trouverez ci-dessous des informations sur l'utilisation des propriétés de l'environnement et leur lecture depuis votre application.http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/create_deploy_nodejs.container.html#create_deploy_nodejs_custom_container-envprop Et des informations utilisant .ebextensions .config peuvent être trouvées sur le lien suivanthttp ://docs.aws.amazon.com/elasticbeanstalk/latest/dg/ebextensions.html

Vous pouvez également définir une variable d'environnement à l'aide de la cli ou via la cli AWS Consoleeb définir des variables d'environnement pouvant être lues via le lien ci-dessous.http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/eb3-setenv.html Utilisation de la console AWSPour définir les propriétés du système (AWS Management Console)Ouvrez la console Elastic Beanstalk.Accédez à la console de gestion de votre environnement.Choisissez Configuration.Dans la section Configuration du logiciel, choisissez Modifier.Sous Propriétés de l'environnement, créez votre nom/valeurs...

Accès aux paramètres de configuration de l'environnementDans l'environnement Node.js exécuté dans AWS Elastic Beanstalk, vous pouvez accéder aux variables d'environnement à l'aide de process.env.ENV_VARIABLE similaire à l'exemple suivant.process.env.MONGO_DB_URLprocess.env.PARAM2

http://docs.aws.amazon .com/elasticbeanstalk/latest/dg/create_deploy_nodejs.container.html#create_deploy_nodejs_custom_container-envprop

Résumé :En résumé, je recommanderais les étapes suivantes pour intégrer MongoDB aux environnements Elastic Beanstalk.Étape 1) Créez un serveur MongoDB en dehors d'Elastic BeanstalkÉtape 2) Créez votre application Node.js dans Elastic Beanstalk qui se connecte à votre serveur MongoDB