7

I am trying to setup ElastiCache to use with a Java Application. I have based my setup based on this documentation: https://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/BestPractices.html

The EC2 instance where the Java (8) App runs is in a VPC. I have tried an ElastiCache instance both in VPC and no VPC. However, I always got,

redis.clients.jedis.exceptions.JedisConnectionException: java.net.ConnectException: Connection refused

If I install Redis myself on an EC2 instance and connect to it, the app is able to connect to the Redis Cache!

I have setup proper authorization with Security-group from EC2 to Cache-Security but no luck. I just can't make the 'connection'. Any sample connection snippet would be really helpful.

Redis is setup this way in the APP Config:

    @Bean
    public JedisConnectionFactory redisConnectionFactory() {
    JedisConnectionFactory redisConnectionFactory = new JedisConnectionFactory();
    redisConnectionFactory.setHostName(<cache-node>);
    redisConnectionFactory.setPort(6397);
    redisConnectionFactory.setUsePool(true);
    redisConnectionFactory.setTimeout(3600);
    return redisConnectionFactory;
   }

The various versions:

Jedis- 2.6.2, Spring- 4.1.6, Spring-data-> 1.5.0
Mrug
  • 4,594
  • 2
  • 28
  • 51
asaraff2
  • 71
  • 1
  • 4

2 Answers2

0
redisConnectionFactory.setPort(6397);

should probably be

redisConnectionFactory.setPort(6379); //default redis port
user1317422
  • 257
  • 1
  • 4
  • 13
0
telnet redis-ip 6397

Determine if redis can be connected

sundb
  • 356
  • 1
  • 7