La respuesta aceptada es excelente si usa ElastiCache (como RDS, pero para Memcached o Redis). Pero, si lo que está tratando de hacer es decirle a EB que aprovisione a Redis en la instancia EC2 en la que activa su aplicación, desea un archivo de configuración diferente, algo como esto:
packages:
yum:
gcc-c++: []
make: []
sources:
/home/ec2-user: http://download.redis.io/releases/redis-2.8.4.tar.gz
commands:
redis_build:
command: make
cwd: /home/ec2-user/redis-2.8.4
redis_config_001:
command: sed -i -e "s/daemonize no/daemonize yes/" redis.conf
cwd: /home/ec2-user/redis-2.8.4
redis_config_002:
command: sed -i -e "s/# maxmemory <bytes>/maxmemory 500MB/" redis.conf
cwd: /home/ec2-user/redis-2.8.4
redis_config_003:
command: sed -i -e "s/# maxmemory-policy volatile-lru/maxmemory-policy allkeys-lru/" redis.conf
cwd: /home/ec2-user/redis-2.8.4
redis_server:
command: src/redis-server redis.conf
cwd: /home/ec2-user/redis-2.8.4
IMPORTANTE: Los comandos se ejecutan en orden alfabético por nombre, por lo que si elige nombres diferentes a redis_build
, redis_config_xxx
, redis_server
, asegúrese de que sean tales que se ejecuten de la forma esperada.
Su otra opción es contener su aplicación con Redis usando Docker, luego implementar su aplicación como una cierta cantidad de contenedores Docker, en lugar del idioma en el que la escribió. Aquí se describe cómo hacerlo para una aplicación Flask.
Puede agrupar todo en un contenedor e implementarlo de esa manera, que es más fácil, pero no escala bien, o puede usar las implementaciones de varios contenedores de Elastic Beanstalk de AWS. Si ha utilizado docker-compose
, puede usar esta herramienta para convertir un docker-compose.yml
en la forma que desea AWS, Dockerrun.aws.json
.