elastic ec2 deploy awsebcli python django amazon-ec2 amazon-web-services amazon-ebs

python - ec2 - Comenzando con Django en Amazon Web Services



deploy django amazon ec2 (3)

Este repositorio pretende abordar exactamente este problema: proporcionar una implementación de referencia para un proyecto básico de django que se puede implementar en AWS ElasticBeanstalk.

https://github.com/pushkarparanjpe/django-awsome

Tiene:

  • Activos estáticos
  • DB back-end
  • django contrib Admin

¡Simplemente configure su env de EBS, clone el repositorio e impleméntelo!

Estoy empezando a migrar algunas aplicaciones a Amazon Web Services. Mis aplicaciones son aplicaciones Python / Django que se ejecutan en MySQL.

Planeo usar EC2 y EBS para empezar.

Estoy buscando algunas cosas:

  1. Un buen tutorial paso a paso que explica cómo implementar Django en AWS. He mirado alrededor, pero la mayoría de los tutoriales son de hace 2 años, así que estoy preocupado de que estén desactualizados.

  2. Estoy tratando de entender, ¿con qué AMI debería comenzar? Sé que hay un AMI de BitNami que viene preconfigurado con la bondad de Django, pero he visto muchas otras fuentes que dicen que deberías comenzar con un linux box básico (limpio) e instalarlo tú mismo. ¿Por qué?

  3. ¿Hay alguna otra cosa importante en la que debería pensar? Tengo muy poca experiencia en administración de sistemas (las aplicaciones se encuentran actualmente en WebFaction), así que no estoy seguro de en qué debería pensar.

Algunos puntos extra:

  • Planeo ejecutar varias aplicaciones en la misma instancia de EC2, ¿supongo que es posible?
  • Estoy usando virtualenv para separar entre las diversas aplicaciones en este momento, ¿supongo que puedo seguir haciendo lo mismo en la instancia de EC2?

¡Gracias!


No hay nada "especial" con EC2 aquí. Simplemente proporciona una instancia del sistema simple (o generalmente preconfigurada de AMI personalizada): tiene acceso a todo el sistema virtualizado, por lo que puede romper cosas de forma segura por su cuenta. Piense en ello como un VPS específico.

Debe preparar la implementación usted mismo, lo cual no es tan difícil, solo siga la documentación. Aconsejo correr con la distribución básica de Linux y agregar cosas necesarias que confiar en alguna imagen preconfigurada. En cuanto a ti preguntas:

  1. Debes hacer dos cosas: configurar tu instancia (cuentas, software necesario, otra configuración personalizada, así que alguna guía de administración de Linux debería ser útil) y preparar la implementación de la aplicación django (implementar el código python, conectarlo al servidor web). Para este último, las instrucciones generales de despliegue para django se pueden aplicar aquí ( http://docs.djangoproject.com/en/dev/howto/deployment/ ).

  2. Comience con AMI con su distribución de Linux favorita y luego agregue el software necesario de su repositorio.

  3. Monte y use EBS tan pronto como sea posible para todos sus datos. Cuando reinicie, la instancia de EC2 eliminará todos sus datos, así que prepárese para esto. Haga capturas de pantalla del sistema a AMI para tener una recuperación rápida en caso de falla.

Sí, puede implementar varias aplicaciones en una instancia, pero tenga en cuenta que la instancia de EC2 está virtualizada (con bastante imo de "impuesto de virtualización", especialmente para instancias más pequeñas), por lo que podría encontrarse con problemas generales de rendimiento. Suponga que necesita migrar a instancias más grandes / instancias múltiples después de un tiempo.

Virtualenv debería ser su herramienta de implementación predeterminada. Sí, puedes usarlo aquí también.


Puede seguir la documentación oficial de la configuración de la instancia de Amazon ec2: http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-instance_linux.html

Deberías comenzar con una AMI con la que estés familiarizado. Por ejemplo, si usa Ubuntu, puede usar uno de los Ubuntu AMI en la página recomendada. No usé el servidor BitNami y mi sitio Django se implementó sin problemas.

Si está utilizando un servidor Apache, simplemente siga las instrucciones en el documento oficial de Django: https://docs.djangoproject.com/en/1.5/howto/deployment/wsgi/modwsgi/

Intenté bastantes blogs, pero como dijiste, están desactualizados. Simplemente use los documentos oficiales y le ahorrará mucho tiempo.