Come installare e configurare Redis su AWS ElasticBeanstalk? Qualcuno sa come scrivere uno script .ebextension per farlo?Come installare e configurare Redis su ElasticBeanstalk
risposta
AWS Elastic Beanstalk fornisce resource configuration tramite la cartella .ebextensions. In sostanza, è necessario comunicare a Elastic Beanstalk cosa si desidera eseguire in aggiunta alla propria applicazione. Per il provisioning in un vpc predefinito. È necessario
creano un .ebextensions cartella
aggiungere un file elasticache.config
e comprendono i seguenti contenuti.
Resources:
MyCacheSecurityGroup:
Type: "AWS::EC2::SecurityGroup"
Properties:
GroupDescription: "Lock cache down to webserver access only"
SecurityGroupIngress :
- IpProtocol : "tcp"
FromPort :
Fn::GetOptionSetting:
OptionName : "CachePort"
DefaultValue: "6379"
ToPort :
Fn::GetOptionSetting:
OptionName : "CachePort"
DefaultValue: "6379"
SourceSecurityGroupName:
Ref: "AWSEBSecurityGroup"
MyElastiCache:
Type: "AWS::ElastiCache::CacheCluster"
Properties:
CacheNodeType:
Fn::GetOptionSetting:
OptionName : "CacheNodeType"
DefaultValue : "cache.t1.micro"
NumCacheNodes:
Fn::GetOptionSetting:
OptionName : "NumCacheNodes"
DefaultValue : "1"
Engine:
Fn::GetOptionSetting:
OptionName : "Engine"
DefaultValue : "redis"
VpcSecurityGroupIds:
-
Fn::GetAtt:
- MyCacheSecurityGroup
- GroupId
Outputs:
ElastiCache:
Description : "ID of ElastiCache Cache Cluster with Redis Engine"
Value :
Ref : "MyElastiCache"
referenziato da: "Come aggiungere risorse ElasticCache di Elastic Beanstalk VPC" http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/customize-environment-resources-elasticache.html
La risposta accettata è grande se si utilizza ElastiCache (come RDS, ma per Memcached o Redis). Ma, se ciò che si sta cercando di fare è dire EB a disposizione Redis nella istanza EC2 in cui si gira la vostra applicazione, si desidera un file di configurazione diversa, qualcosa di simile a this 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
L'altra opzione è quella di containerizza la tua app con Redis usando Docker, quindi distribuisci la tua app come un numero di container Docker, invece di qualsiasi lingua tu abbia scritto. Ciò per l'app Flask è descritto con here.
È possibile bloccare tutto in un unico contenitore e distribuire in questo modo, che è più semplice, ma non è scalabile, oppure è possibile utilizzare le distribuzioni multi-contenitore Elastic Beanstalk di AWS. Se hai utilizzato docker-compose
, puoi utilizzare lo strumento this per trasformare un docker-compose.yml
nel formato desiderato da AWS, Dockerrun.aws.json
.
- 1. Come installare automaticamente un certificato SSL su AWS ElasticBeanstalk in esecuzione su Windows e .NET?
- 2. Come configurare un'istanza GlassFish in esecuzione su AWS/ElasticBeanstalk/Docker?
- 3. Configurare Redis autenticazione su sidekiq
- 4. Come installare e configurare PowerShell?
- 5. .ebextensions con Docker su elasticbeanstalk
- 6. brew installare Redis (OSX 10.7)
- 7. Installare e configurare BlueOcean per Jenkins
- 8. Come installare e configurare php-config su php-config7 per PHP7.0 su Ubuntu
- 9. Come installare e configurare la replica dell'indice RavenDb
- 10. ElasticBeanstalk Client
- 11. Come installare e configurare il flusso di Apache?
- 12. Come configurare/installare il server MDM per iPhone e iPad
- 13. Node e Redis: Clienti Redis
- 14. Come aggiornare Amazon elasticbeanstalk CLI
- 15. Run Grunt on ElasticBeanstalk
- 16. Esecuzione di Redis su Windows come servizio
- 17. come installare numpy e panda su windows
- 18. Come leggere le proprietà dell'ambiente impostate in AWS ElasticBeanstalk
- 19. Come installare Zend Framework 2.0 su wamp?
- 20. elasticbeanstalk ssl senza dominio personalizzato
- 21. Come configurare WebLogic Server su Eclipse esistente
- 22. Redis su Heroku Sharding
- 23. Configurare ASP.NET Redis Session State Provider per la configurazione Sentinel
- 24. install redis su istanza micro aws
- 25. Differenza redis e differenza redis sharding (cluster)
- 26. Come configurare ETag su Nginx
- 27. Utilizzo di Redis come PubSub su Socket.io
- 28. Come installare/configurare Java Look-And-Feel personalizzato?
- 29. Configurare Celery per parlare con Redis tramite socket Unix
- 30. Come configurare Django su OpenShift?
Ho fatto questo e ottenere il '[Errore: Errore: connessione Redis a 127.0.0.1:6379 non riuscita - collegare ECONNREFUSED]'. Probabilmente il comando redis-server non è stato avviato. Qualche modo per controllare lo stato di Redis? – theChinmay
@theChinmay redis verrà distribuito autonomamente, l'app dovrebbe ottenere l'IP da una variabile di ambiente e connettersi a quell'IP anziché a localhost –
@LucaG. sai come posso ottenere l'IP o l'host nell'app NodeJS Amazon Elasticbeanstalk? Grazie –