Cartella condivisa file nell'ambiente Amazon Elastic Beanstalk

Sto lavorando ad un'applicazione Drupal, che è prevista per essere ospitata in ambiente Amazon Elastic Beanstalk. In linea di principio, l'Elastic Beanstalk consente all'applicazione di scalare automaticamente avviando istanze aggiuntive sul server Web in base a regole predefinite. Il database condiviso è in esecuzione su un'istanza RDS di Amazon, che tutte le istanze possono accedere correttamente. Il problema è la cartella dei file condivisi (siti / predefiniti / file).

Stiamo usando git come SCM e con esso possiamo distribuire nuove versioni eseguendo $ git aws.push . Sullo background Elastic Beanstalk elimina automaticamente ( $ rm -rf ) la base di codice corrente da tutti i server in esecuzione nell'ambiente e distribuisce la nuova versione.

  • Provato a creare 2 tipi di record set = TXT in Route53
  • MongoDB Disaster Prep su AWS
  • È ansible installare software concesso in licenza su Amazon EC2
  • Porta VPC SSH in avanti nella substring privata
  • Sono necessari più ENI per le istanze di AWS EC2?
  • Possibile unire un'istanza Amazon RDS SQL Server 2008 a un dominio di Windows?
  • Il progetto era quello di utilizzare S3 (s3fs) per i file condivisi nell'ambiente di gestione e NFS nell'ambiente di produzione. Siamo riusciti a configurare l'ambiente nella misura in cui la cartella dei file condivisi viene montata dopo un riavvio correttamente. Ma…

    Il problema è che, in questa configuration, l'installazione di nuove versioni sulle istanze in esecuzione non riesce perché $ rm -rf non può rimuovere la directory montata e, di conseguenza, l'integer ambiente scende e abbiamo bisogno di riavviare l'ambiente, t davvero una soluzione elegante.

    La prima domanda è che cosa sarebbe il modo giusto per gestire i file condivisi in questo tipo di distribuzione? Stai eseguendo un tale ambiente? Come hai risolto il problema?

    Guardando al codice di Elastic Beanstalk Hostmanager (Ruby) sembra un modo per agganciare la nostra funzionalità (smontare se montato in pre-implementazione e montare in post-deploy) in Hostmanager (/ opt / hostmanager / srv / lib / elasticbeanstalk / hostmanager / applicazioni / phpapplication.rb), ma gli script definiti nel file (es. /tmp/php_post_deploy_app.sh) non sembrano funzionare. Questo potrebbe essere perché le nostre abilità Ruby sono inesistenti.

    La domanda # 2 è che hai potuto colbind la tua funzionalità in Hostmanager in modo porttile (vale a dire non cambiando i file di Hostmanager core)?

    One Solution collect form web for “Cartella condivisa file nell'ambiente Amazon Elastic Beanstalk”

    Hai considerato di utilizzare sources tramite .ebextensions con i file condivisi memorizzati in S3?

    http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/customize-containers-ec2.html

    Ho utilizzato le sources per distribuire file condivisi (sitemap) costruiti dal nostro server di applicazioni (e memorizzati in S3).

     sources: "c:/inetpub/sitemaps": http://[S3 bucket]/sitemaps.zip container_commands: 01-copy-sitemaps-to-www: command: copy c:\\inetpub\\sitemaps\\*.* c:\\inetpub\\wwwroot\\ > copy_sitemaps_to_www.log 2>&1 waitAfterCompletion: 5 
    Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.