MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

modo consigliato per installare mongodb su una pianta di fagioli elastici

Nel caso qualcuno stia cercando una risposta, ecco i consigli che ho ricevuto da aws business support.

Tutto il codice distribuito su Elastic Beanstalk deve essere "stateless", ad es. Non apportare mai modifiche direttamente a un'istanza di Beanstalk in esecuzione utilizzando SSH o FTP.... Poiché ciò causerebbe incoerenze e/o perdita di dati!- Elastic Beanstalk non è progettato per applicazioni che non sono stateless. L'ambiente è progettato per aumentare e diminuire in attesa sul carico di rete/CPU e creare nuove istanze da un'AMI di base. Se un'istanza presenta problemi o l'hardware sottostante, Elastic Beanstalk interromperà queste istanze in esecuzione e le sostituirà con nuove istanze. Pertanto, perché nessuna modifica del codice deve essere applicata o eseguita "direttamente" a un'istanza esistente poiché le nuove istanze non saranno a conoscenza di queste modifiche dirette. TUTTE le modifiche/il codice devono essere caricati sulla console Elastic Beanstalk o sugli strumenti CLI e inviati a tutte le istanze in esecuzione. Maggiori informazioni sui concetti di progettazione di Elastic Beanstalk possono essere lette al seguente linkhttp://docs.aws.amazon.com/elasticbeanstalk/latest/dg/concepts.concepts .design.html

Soluzione consigliata:tenendo presente quanto sopra, se si utilizza MongoDB per archiviare i dati dell'applicazione, il nostro consiglio sarebbe di accoppiare l'ambiente MongoDB dall'applicazione Node.js.I.E Creare un server MongoDB al di fuori di Elastic Beanstalk, ad esempio avviando MongoDB direttamente su un EC2 e fai in modo che la tua applicazione Elastic Beanstalk Node.js si connetta al server MongoDB utilizzando le impostazioni di connessione nella tua app.

-Creating MongoDBBelow sono alcuni collegamenti di esempio che potrebbero essere utili per il tuo scenario per la creazione di un server MongoDB. Distribuisci MongoDB su EC2,https://docs.mongodb.org/ecosystem/platforms/amazon-ec2/ Client del nodo MongoDBhttps://docs.mongodb.org/getting-started/node /cliente/ MongoDB sul cloud AWS Guida introduttivahttp://docs.aws .amazon.com/quickstart/latest/mongodb/architecture.html

-Aggiunta di variabili di ambiente a Elastic Beanstalk per fare riferimento al tuo server MongoDB Una volta creato il tuo server MongoDB, puoi passare le impostazioni di connessione necessarie al tuo ambiente Elastic Beanstalk utilizzando le variabili di ambiente. Esempio usando .ebextensions .config che puoi aggiungere Mongo URL/porte/utenti ecc.

option_settings:- nome_opzione:MONGO_DB_URLvalue:"Il tuo indirizzo IP interno MongoDB EC2"

Di seguito sono riportate informazioni su come utilizzare le proprietà dell'ambiente e leggerle dall'interno dell'applicazione.http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/create_deploy_nodejs.container.html#create_deploy_nodejs_custom_container-envprop E le informazioni sull'utilizzo di .ebextensions .config sono disponibili al seguente linkhttp ://docs.aws.amazon.com/elasticbeanstalk/latest/dg/ebextensions.html

In alternativa, puoi anche impostare la variabile di ambiente utilizzando il cli o tramite la Console di AWSeb cli set le variabili di ambiente possono essere lette al link sottostante.http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/eb3-setenv.html Utilizzo della Console AWSPer impostare le proprietà di sistema (Console di gestione AWS)Apri la console Elastic Beanstalk.Vai alla console di gestione per il tuo ambiente.Scegli Configurazione.Nella sezione Configurazione software, scegli Modifica.In Proprietà ambiente, crea il tuo nome/valori...

Accesso alle impostazioni di configurazione dell'ambienteAll'interno dell'ambiente Node.js in esecuzione in AWS Elastic Beanstalk, puoi accedere alle variabili di ambiente utilizzando process.env.ENV_VARIABLE simile al seguente example.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

Riepilogo:in sintesi, consiglierei i seguenti passaggi per integrare MongoDB con gli ambienti Elastic Beanstalk. Passaggio 1) Creare un server MongoDB al di fuori di Elastic Beanstalk Passaggio 2) Creare l'applicazione Node.js in Elastic Beanstalk che si connette al server MongoDB