Redis
 sql >> Base de Dados >  >> NoSQL >> Redis

Como instalar e configurar o Redis no ElasticBeanstalk


A resposta aceita é ótima se você estiver usando o ElastiCache (como RDS, mas para Memcached ou Redis). Mas, se o que você está tentando fazer é dizer ao EB para provisionar o Redis na instância do EC2 na qual ele ativa seu aplicativo, você deseja um arquivo de configuração diferente, algo como este gist:
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: Os comandos são executados em ordem alfabética por nome, portanto, se você escolher nomes diferentes de redis_build , redis_config_xxx , redis_server , certifique-se de que eles sejam executados da maneira que você espera.

Sua outra opção é colocar seu aplicativo em contêiner com o Redis usando o Docker e, em seguida, implantar seu aplicativo como alguns contêineres do Docker, em vez de qualquer idioma em que você o escreveu. Fazer isso para um aplicativo Flask é descrito aqui.

Você pode agrupar tudo em um contêiner e implantar dessa maneira, o que é mais fácil, mas não dimensiona bem, ou pode usar as implantações de vários contêineres do Elastic Beanstalk da AWS. Se você usou docker-compose , você pode usar esta ferramenta para transformar um docker-compose.yml no formato que a AWS deseja, Dockerrun.aws.json .