MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Empfohlene Methode zur Installation von Mongodb auf Elastic Beanstalk

Falls jemand nach einer Antwort sucht, hier ist der Rat, den ich vom aws Business Support erhalten habe.

Der gesamte in Elastic Beanstalk bereitgestellte Code muss „zustandslos“ sein, d. h. Nehmen Sie niemals Änderungen direkt an einer laufenden Beanstalk-Instanz mit SSH oder FTP vor.... Da dies zu Inkonsistenzen und/oder Datenverlust führen wird! – Elastic Beanstalk ist nicht für Anwendungen konzipiert, die nicht zustandslos sind auf Ihr Netzwerk / Ihre CPU-Last und erstellen Sie neue Instanzen aus einem Basis-AMI. Wenn eine Instance Probleme oder die zugrunde liegende Hardware aufweist, beendet Elastic Beanstalk diese laufenden Instances und ersetzt sie durch neue Instances. Daher darf keine Codeänderung "direkt" auf eine vorhandene Instanz angewendet oder durchgeführt werden, da neue Instanzen diese direkten Änderungen nicht bemerken. ALLE Änderungen/Code müssen entweder auf die Elastic Beanstalk-Konsole oder die CLI-Tools hochgeladen und an alle laufenden Instanzen gepusht werden. Weitere Informationen zu den Elastic Beanstalk-Designkonzepten finden Sie unter folgendem Link http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/concepts.concepts .design.html

Vorgeschlagene Lösung:Wenn Sie MongoDB zum Speichern von Anwendungsdaten verwenden, empfehlen wir unter Berücksichtigung des oben Gesagten, die MongoDB-Umgebung von Ihrer Node.js-Anwendung zu koppeln EC2-Instance und lassen Sie Ihre Elastic Beanstalk Node.js-Anwendung mithilfe der Verbindungseinstellungen in Ihrer App eine Verbindung mit MongoDB Server herstellen.

-Creating MongoDBUnten finden Sie einige Beispiellinks, die für Ihr Szenario zum Erstellen eines MongoDB-Servers von Nutzen sein können. Stellen Sie MongoDB auf EC2 bereit, https://docs.mongodb.org/ecosystem/platforms/amazon-ec2/ MongoDB-Knotenclienthttps://docs.mongodb.org/getting-started/node /Kunde/ Schnellstartanleitung für MongoDB in der AWS Cloud http://docs.aws .amazon.com/quickstart/latest/mongodb/architecture.html

-Hinzufügen von Umgebungsvariablen zu Elastic Beanstalk, um auf Ihren MongoDB-Server zu verweisen Sobald Sie Ihren MongoDB-Server erstellt haben, können Sie die erforderlichen Verbindungseinstellungen mithilfe von Umgebungsvariablen an Ihre Elastic Beanstalk-Umgebung übergeben usw..

option_settings:- option_name:MONGO_DB_URLvalue:„Ihre interne IP-Adresse von MongoDB EC2“

Informationen zur Verwendung von Umgebungseigenschaften und zum Lesen dieser aus Ihrer Anwendung heraus finden Sie unten .container.html#create_deploy_nodejs_custom_container-envprop">http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/create_deploy_nodejs.container.html#create_deploy_nodejs_custom_container-envprop Informationen zur Verwendung von .ebextensions .config finden Sie unter folgendem Link http ://docs.aws.amazon.com/elasticbeanstalk/latest/dg/ebextensions.html

Alternativ können Sie die Umgebungsvariable auch über die CLI oder über die AWS Consoleeb CLI festlegen. Umgebungsvariablen können über den folgenden Link gelesen werden.http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/eb3-setenv.html Verwenden der AWS-KonsoleSo legen Sie Systemeigenschaften fest (AWS Management Console)Öffnen Sie die Elastic Beanstalk-Konsole.Navigieren Sie zur Verwaltungskonsole für Ihre Umgebung.Wählen Sie Konfiguration.Wählen Sie im Abschnitt Softwarekonfiguration die Option Bearbeiten.Erstellen Sie unter Umgebungseigenschaften Ihren Namen / Ihre Werte ...

Zugreifen auf UmgebungskonfigurationseinstellungenInnerhalb der in AWS Elastic Beanstalk ausgeführten Node.js-Umgebung können Sie mithilfe von process.env.ENV_VARIABLE auf die Umgebungsvariablen zugreifen, ähnlich wie im folgenden Beispiel: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

Zusammenfassung:Zusammenfassend würde ich die folgenden Schritte empfehlen, um MongoDB in Elastic Beanstalk-Umgebungen zu integrieren. Schritt 1) ​​Erstellen Sie einen MongoDB-Server außerhalb von Elastic Beanstalk. Schritt 2) Erstellen Sie Ihre Node.js-Anwendung in Elastic Beanstalk, die eine Verbindung zu Ihrem MongoDB-Server herstellt.