Wie installiere und konfiguriere ich Redis auf AWS ElasticBeanstalk? Weiß jemand, wie man ein .exextension-Skript schreibt, um das zu erreichen?So installieren und konfigurieren Sie Redis auf ElasticBeanstalk
Antwort
AWS Elastic Beanstalk stellt resource configuration über den Ordner .exextensions bereit. Im Wesentlichen müssen Sie Elastic Beanstalk mitteilen, was Sie zusätzlich zu Ihrer Anwendung bereitstellen möchten. Für die Bereitstellung in einem Standard-VPC. Sie müssen
ein .ebextensions
Ordner erstellenfügen Sie eine Datei elasticache.config
und umfassen die folgenden Inhalte.
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"
referenzierte aus: http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/customize-environment-resources-elasticache.html
Die akzeptierte Antwort ist groß, wenn Sie mit ElastiCache (wie RDS, aber für Memcached oder Redis) "Wie ElasticCache Ressourcen Elastic Beanstalk VPC hinzufügen". Aber, wenn das, was Sie versuchen, EB zu tun ist, sagen die Bereitstellung Redis in die EC2-Instanz, in der sie Ihre App dreht nach oben, wollen Sie eine andere Konfigurationsdatei, so etwas wie 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
Die andere Option ist, containerisieren Sie Ihre App mit Redis mithilfe von Docker, und stellen Sie dann Ihre App als eine Anzahl von Docker-Containern bereit, und zwar unabhängig von der Sprache, in der Sie sie geschrieben haben. Dies wird für eine Flask-App beschrieben here.
Sie können alles in einem Container stauen und auf diese Weise bereitstellen, was einfacher ist, aber nicht gut skaliert, oder Sie können AWS Elastic Beanstalk-Multi-Container-Implementierungen verwenden. Wenn Sie docker-compose
verwendet haben, können Sie das Werkzeug this verwenden, um eine docker-compose.yml
in das Format AWS wants, Dockerrun.aws.json
, umzuwandeln.
- 1. Installieren Sie WKHTMLTOX (WKHTMLTOPDF + WKHTMLTOIMAGE) auf AWS ElasticBeanstalk
- 2. So konfigurieren Sie Spring Session Redis rediserneNamespace zur Laufzeit
- 3. Geckodriver auf Rails/Ubuntu installieren und konfigurieren
- 4. So lesen Sie die in AWS ElasticBeanstalk festgelegten Umgebungseigenschaften
- 5. Run Grunt auf ElasticBeanstalk
- 6. .expextensions mit Docker auf elasticbeanstalk
- 7. Installieren Redis auf AWS Mikro Instanz
- 8. So konfigurieren Sie Räumung (Time to Live) auf Amazon AWS Elasticache Redis + Spring Daten
- 9. So sichern Sie Redis Cluster?
- 10. So konfigurieren Sie öffentliche IP auf azurblau
- 11. Gebräu installieren redis (osx 10.7)
- 12. installieren redis als Windows-Dienst
- 13. So installieren Sie Erweiterungen auf vscode
- 14. So installieren Sie Fabric und Crashlytics
- 15. So konfigurieren Sie Sublimelinter-Symbol?
- 16. So konfigurieren Sie Django-Sellerie in Heroku-Server
- 17. ElasticBeanstalk Client
- 18. So aktivieren Sie die PHP-Redis-Erweiterung auf Travis
- 19. Wie Redis auf macOS Sierra Public Beta installieren
- 20. AWS - Installieren Sie das EB CLI auf OS X
- 21. So halten Sie den Redis-Server weiter
- 22. So installieren Sie ITL-Erweiterung
- 23. So speichern und abrufen Sitzung von Redis
- 24. So installieren Sie MySQL Connector
- 25. So installieren DebugKit auf CakePHP
- 26. Installieren Sie Docker auf Jenkins auf OSX
- 27. So konfigurieren Sie Routing und Controller für Benutzerrollen
- 28. So konfigurieren Sie Timeouts für Ingress-Anfragen auf GKE
- 29. So konfigurieren Sie GSettings für Gnome und Gtk
- 30. So konfigurieren Sie einen zusätzlichen Migrationsordner
Ich habe dies und bekomme die '[Fehler: Fehler: Redis Verbindung zu 127.0.0.1:6379 fehlgeschlagen - verbinden ECONNREFUSED]'. Wahrscheinlich hat der Befehl redis-server nicht gestartet. Wie kann ich den Status von Redis überprüfen? – theChinmay
@theChinmay redis wird eigenständig bereitgestellt, Ihre App soll die IP von einer Umgebungsvariable erhalten und eine Verbindung zu dieser IP herstellen anstatt zu localhost –
@LucaG. Sie wissen, wie kann ich die IP oder Host in Amazon Elasticbeanstalk NodeJS App bekommen? Dank –