Caso alguém esteja procurando uma resposta, aqui está o conselho que recebi do suporte comercial da aws.
Todo o código implantado no Elastic Beanstalk precisa ser "stateless" I.E. Nunca faça alterações diretamente em uma instância do beanstalk em execução usando SSH ou FTP.... Isso causará inconsistências e/ou perda de dados!- O Elastic Beanstalk não foi projetado para aplicativos que não são sem estado. em sua carga de rede/CPU e crie novas instâncias a partir de uma AMI básica. Se uma instância tiver problemas ou o hardware subjacente, o Elastic Beanstalk encerrará essas instâncias em execução e as substituirá por novas instâncias. Portanto, por que nenhuma modificação de código deve ser aplicada ou feita "diretamente" a uma instância existente, pois novas instâncias não estarão cientes dessas alterações diretas. TODAS as alterações/códigos precisam ser carregados no console do Elastic Beanstalk ou nas ferramentas da CLI e enviados para todas as instâncias em execução. Mais informações sobre os conceitos de design do Elastic Beanstalk podem ser lidas no link a seguirhttp://docs.aws.amazon.com/elasticbeanstalk/latest/dg/concepts.concepts .design.html
Solução sugerida:Com o acima em mente, se estiver usando o MongoDB para armazenar dados do aplicativo, nossa recomendação seria desacoplar o ambiente MongoDB do seu aplicativo Node.js.I.E Crie um servidor MongoDB fora do Elastic Beanstalk, por exemplo, iniciando o MongoDB diretamente em instância do EC2 e faça com que seu aplicativo Elastic Beanstalk Node.js se conecte ao MongoDB Server usando as configurações de conexão em seu aplicativo.
-Criar MongoDB Abaixo estão alguns links de exemplo que podem ser úteis para seu cenário de criação de um servidor MongoDB. Implante o MongoDB no EC2,https://docs.mongodb.org/ecosystem/platforms/amazon-ec2/ Cliente do nó MongoDBhttps://docs.mongodb.org/getting-started/node /cliente/ Guia de início rápido do MongoDB na Nuvem AWShttp://docs.aws .amazon.com/quickstart/latest/mongodb/architecture.html
-Adicionando variáveis de ambiente ao Elastic Beanstalk para referenciar seu servidor MongoDBDepois de criar seu servidor MongoDB, você pode passar as configurações de conexão necessárias para seu ambiente Elastic Beanstalk usando variáveis de ambiente.Exemplo usando .ebextensions .config que você pode adicionar Mongo URL/ports/users etc.
option_settings:- option_name:MONGO_DB_URLvalue:"Seu endereço IP interno do MongoDB EC2"
Informações sobre como usar as propriedades do ambiente e lê-las em seu aplicativo podem ser vistas abaixo.http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/create_deploy_nodejs.container.html#create_deploy_nodejs_custom_container-envprop E informações usando .ebextensions .config podem ser encontradas no link a seguirhttp ://docs.aws.amazon.com/elasticbeanstalk/latest/dg/ebextensions.html
Como alternativa, você também pode definir a variável de ambiente usando o cli ou por meio do AWS Consoleeb cli set as variáveis de ambiente podem ser lidas no link abaixo.http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/eb3-setenv.html Usando o AWS ConsolePara definir as propriedades do sistema (AWS Management Console)Abra o console do Elastic Beanstalk.Navegue até o console de gerenciamento do seu ambiente.Escolha Configuration.In the Software Configuration section, choose Edit.Under Environment Properties, create your name/values ...
Acessando as definições de configuração do ambienteDentro do ambiente Node.js em execução no AWS Elastic Beanstalk, você pode acessar as variáveis de ambiente usando process.env.ENV_VARIABLE semelhante ao seguinte exemplo.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
Resumo:Em resumo, eu recomendaria as etapas a seguir para integrar o MongoDB com ambientes Elastic Beanstalk.Etapa 1) Criar um servidor MongoDB fora do Elastic BeanstalkEtapa 2) Criar seu aplicativo Node.js no Elastic Beanstalk que se conecta ao seu servidor MongoDB