Elastic Bean Stalk se ha convertido en una de mis herramientas favoritas. El fácil deploy de mis aplicaciones utilizando git, la maquina con php5 y la conexión al RDS han hecho que me vuelva comodo en la forma como manejo las versiones y las máquinas para mi software. Además hay que tomar en cuenta que las instancias micro son libres de pago.
La AMI ( Amazon Machine Image ) en la que se lanzan todas las instancias de la aplicación subida por ElasticBeanStalk es una distribución propia de Amazon con un Vanilla Kernel. Esta versión utiliza yum para la instalación de paquetes.
La razón de utilizar una maquina CUSTOM / PROPIA es debido a que la maquina por defecto no tenga todo lo que necesitas. En mi caso particular necesitaba una librería de php-pear para mi aplicación escrita en php.
En mi caso, la idea es extender una imagen linux ( existen distintas versiones incluyendo windows ). Las AMIs en las que me puedo basar dependiendo de la arquitectura son las siguientes:
- 32: ami-15812b7c – amazon/PHPBeanstalk32-2012.08.
09T20.48.38.0000 - 64: ami-ff812b96 – amazon/PHPBeanstalk64-2012.08.
09T20.51.54.0000
Y los pasos a seguir son los siguientes:
- Crear una instancia en EC2 basada en una de estas imágenes.
- Modificar Nuestra nueva Imagen y crear una AMI a partir de ella.
- Establecer que nuestra aplicación en BeanStalk utilice nuestra nueva AMI ( Custom AMI )
Crear la Instancia de EC2
- Accedemos a nuestro panel de control para EC2 dentro del dashboard de AWS.
- Ingresamos al link que corresponde a la lista de AMIS.
- Seleccionamos mostrar todas las AMIs de AMAZON ( ver dibujo ).
- Buscamos la AMI en la que nos basaremos. En mi caso : ami-ff812b96 ( 64Bits ).
- Seleccionamos el AMI e iniciamos la instancia ( LAUNCH AMI )
Crear el AMI
- Selecciona con el boton derecho tu Instancia.
- Haz click en «Create Image ( EBS AMI )».
- Sigue el wizard.
Establecer el Custom AMI en ElasticBeanStalk
- Ingresamos al panel de ElasticBeanStalk.
- Seleccionamos el enviroment en donde queremos usar nuestra custom AMI.
- Seleccionamos «Edit Configuration».
- En Custom AMI ID ponen el ID de su imagen.
- y … LISTO !.
Hola, muy buen blog con muchos temas de interés! He intentado instalar moodle con elasticbeanstalk de manera que sea autoescalable, pero sin éxito. Depronto puedas ayudarme, ya he intentado con archivos .config y creando un nuevo AMI pero no lo logro. Mi mayor problema es con la configuración del moodledata de manera que todas las instancias puedan acceder. (la idea es realizar algo similar a esto http://blog.mediaagility.com/bid/304913/Reference-Architecture-Auto-scaling-Moodle-deployment-on-AWS)
Gracias!
Julian,
el BeanStalk está orientado a desarrolladores por el manejo de versiones, la verdad es que puede que te funcione mejor el «Auto Balancing», revisalo por favor y conversamos nuevamente.