enlaces cruzados a foros de AWS
He desarrollado un servicio web simple de Python usando WSGI y me gustaría implementarlo en la nube de AWS usando Elastic Beanstalk. Mi problema es que no puedo hacer que todas las opciones que especifique en la configuración de Elastic Beanstalk se configuren correctamente en la nube.
Para la implementación, utilizo la utilidad CLI Elastic Beanstalk. Ejecuté el eb init
comando y configuré los parámetros requeridos. Después de esto, .elasticbeanstalk
se creó un directorio llamado en mi árbol de origen. Tiene dos archivos de configuración que se utilizan para la implementación, a saber, config
y optionsettings
. La última de las otras opciones contiene la configuración WSGI que debe actualizarse /etc/httpd/conf.d/wsgi.conf
en las instancias. Después de algunos de mis ajustes, el archivo tiene la siguiente configuración:
[AWS: elasticbeanstalk: aplicación: entorno] DJANGO_SETTINGS_MODULE = PARAM1 = PARAM2 = PARAM4 = PARAM3 = PARAM5 = [aws: elasticbeanstalk: contenedor: python] WSGIPath = handler.py NumProcesses = 2 StaticFiles = / static = NumThreads = 10 [aws: elasticbeanstalk: contenedor: python: archivos estáticos] / static = static / [aws: elasticbeanstalk: hostmanager] LogPublicationControl = false [aws: autoescalado: configuración de lanzamiento] InstanceType = t1.micro EC2KeyName = zmicier-aws [AWS: elasticbeanstalk: aplicación] URL de comprobación de estado de la aplicación = [aws: autoscaling: asg] MaxSize = 10 Tamaño mínimo = 1 Zonas de disponibilidad personalizadas = [AWS: elasticbeanstalk: monitoreo] Terminar automáticamente instancias no saludables = verdadero [aws: elasticbeanstalk: sns: temas] Punto final de notificación = Protocolo de notificación = correo electrónico
Resulta que no todas estas opciones se consideran cuando inicio el entorno o lo actualizo. Por lo tanto, cuando actualizo NumThreads
o NumProcesses
, los parámetros respectivos se modifican wsgi.conf
como se esperaba. Pero sea lo que sea que escriba en los parámetros WSGIPath
y StaticFiles
, no puedo cambiar automáticamente los valores respectivos de wsgi.conf
, permanecen
Alias /static /opt/python/current/app/
WSGIScriptAlias / /opt/python/current/app/application.py
lo que me vuelve loco Además, cuando implemento mi aplicación usando git aws.push
y teniendo los siguientes contenidos de .ebextensions/python.config
archivo, ninguna de las opciones que especifico afecta la implementación.
opciones_configuraciones: - espacio de nombres: aws: elasticbeanstalk: contenedor: python nombre_opción: WSGIPath valor: mysite / wsgi.py - espacio de nombres: aws: elasticbeanstalk: contenedor: python nombre_opción: NumProcesses valor: 5 - espacio de nombres: aws: elasticbeanstalk: contenedor: python nombre_opción: NumThreads valor: 25 - espacio de nombres: aws: elasticbeanstalk: contenedor: python: staticfiles nombre_opción: / static / valor: app / static /
Me pregunto qué debería hacer para forzar a AWS a utilizar todos los parámetros que especifique en la configuración, a saber, la ruta WSGI y la ruta a mis datos estáticos.