AWS Elastic Beanstalk n'a fournir configuration des ressources via la .ebextensions dossier. Essentiellement, vous devez dire à Elastic Beanstalk ce que vous voulez mise en service dans plus de votre application. Pour l'approvisionnement dans un vpc par défaut. Vous devez
Je l'ai fait et obtenir le [Error: Error: Redis connection to 127.0.0.1:6379 failed - connect ECONNREFUSED]. Probablement de commande redis-server n'a pas commencé. Aucun moyen de vérifier Redis Statut? redis seront déployées autonome, votre application est censé obtenir l'adresse IP à partir d'une variable d'environnement et de connecter à l'IP au lieu de localhost vous savez comment je peux obtenir l'adresse IP de l'hôte ou dans Amazon Elasticbeanstalk NodeJS application? Merci avec l'exemple fourni par @TerryB, il devrait être quelque chose comme ceci: option_settings:aws:elasticbeanstalk:application:environment:REDIS_CLUSTER: '`{ "Fn::GetAtt": ["MyElastiCache", "RedisEndpoint.Address"]}`' De référence: docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/... Ne fonctionne que dans un seul panneau de l'environnement. Ne fonctionne pas en multi docker environnement
Accepté la réponse est génial si vous êtes à l'aide de ElastiCache (comme RDS, mais pour Memcached ou Redis). Mais, si ce que vous essayez de faire est de dire EB à disposition Redis dans l'instance EC2 dans lequel il lance votre application, vous voulez un autre fichier de configuration, quelque chose comme ce gist:
IMPORTANT: Les commandes sont exécutées dans l'ordre alphabétique par nom, donc, si vous chercher des noms différents de ceux redis_build, redis_config_xxx, redis_server, assurez-vous qu'ils sont tels qu'ils s'exécutent dans la façon dont vous vous attendez.
Votre autre option est de placer votre application avec le Redis à l'aide de Docker, puis déployez votre application comme certains nombre de conteneurs Docker, au lieu de la langue que vous avez écrit. Faire que pour un Flacon d'application est décrit ici.
Vous pouvez confiture tout dans un récipient et déployer cette façon, ce qui est plus facile, mais n'est pas à l'échelle, ou vous pouvez utiliser AWS Elastic Beanstalk multi-conteneur des déploiements. Si vous avez utilisé docker-compose, vous pouvez utiliser cette outil pour transformer un docker-compose.yml dans la forme AWS veut, Dockerrun.aws.json.
AWS Elastic Beanstalk n'a fournir configuration des ressources via la .ebextensions dossier. Essentiellement, vous devez dire à Elastic Beanstalk ce que vous voulez mise en service dans plus de votre application. Pour l'approvisionnement dans un vpc par défaut. Vous devez
créer un .ebextensions dossier
ajouter un elasticache.fichier de configuration
et comprendre les éléments suivants.
Référencé à partir de: "Comment faire pour ajouter ElasticCache ressources pour Elastic Beanstalk VPC"
http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/customize-environment-resources-elasticache.html
[Error: Error: Redis connection to 127.0.0.1:6379 failed - connect ECONNREFUSED]
. Probablement de commande redis-server n'a pas commencé. Aucun moyen de vérifier Redis Statut?redis seront déployées autonome, votre application est censé obtenir l'adresse IP à partir d'une variable d'environnement et de connecter à l'IP au lieu de localhost
vous savez comment je peux obtenir l'adresse IP de l'hôte ou dans Amazon Elasticbeanstalk NodeJS application? Merci
avec l'exemple fourni par @TerryB, il devrait être quelque chose comme ceci:
option_settings:
aws:elasticbeanstalk:application:environment:
REDIS_CLUSTER: '`{ "Fn::GetAtt": ["MyElastiCache", "RedisEndpoint.Address"]}`'
De référence: docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/...Ne fonctionne que dans un seul panneau de l'environnement. Ne fonctionne pas en multi docker environnement
OriginalL'auteur TerryB
Accepté la réponse est génial si vous êtes à l'aide de ElastiCache (comme RDS, mais pour Memcached ou Redis). Mais, si ce que vous essayez de faire est de dire EB à disposition Redis dans l'instance EC2 dans lequel il lance votre application, vous voulez un autre fichier de configuration, quelque chose comme ce gist:
IMPORTANT: Les commandes sont exécutées dans l'ordre alphabétique par nom, donc, si vous chercher des noms différents de ceux
redis_build
,redis_config_xxx
,redis_server
, assurez-vous qu'ils sont tels qu'ils s'exécutent dans la façon dont vous vous attendez.Votre autre option est de placer votre application avec le Redis à l'aide de Docker, puis déployez votre application comme certains nombre de conteneurs Docker, au lieu de la langue que vous avez écrit. Faire que pour un Flacon d'application est décrit ici.
Vous pouvez confiture tout dans un récipient et déployer cette façon, ce qui est plus facile, mais n'est pas à l'échelle, ou vous pouvez utiliser AWS Elastic Beanstalk multi-conteneur des déploiements. Si vous avez utilisé
docker-compose
, vous pouvez utiliser cette outil pour transformer undocker-compose.yml
dans la forme AWS veut,Dockerrun.aws.json
.OriginalL'auteur Sam H.