sql >> Base de Datos >  >> NoSQL >> Redis

Cómo instalar y configurar Redis en ElasticBeanstalk

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 .