I have been reading through the Elastic Beanstalk and ElastiCache documentation on creating a connection between my EB instance and my Redis endpoint. I have added my endpoint to my session configuration in my Node.js app, but it doesn't appear that it is connecting to my Redis instance as indicated by an error that is getting thrown when accessing any pages that use the session. I know that the security groups between the Elastic Beanstalk and ElastiCache need to be the same, but do I need make adjustments to my environment to attach the two?
Here is my Redis connection in my Node.js app:
//Session Cookie
app.use(cookieParser());
app.use(session({
store: new RedisStore({
host: 'redis-production.dfdfa.0001.use1.cache.amazonaws.com',
port: 6379
}),
secret: process.env.SECRET,
resave: true,
saveUninitialized: true,
cookie: {
httpOnly: true,
secure: false //turn to true on production once https is in place
}
}));
Right-click the instance ID for the Amazon EC2 instance running in your environment's load balancer, and then select Connect from the context menu. Make a note of the instance's public DNS address on the Description tab. Connect to an instance running Linux by using the SSH client of your choice, and then type ssh -i .
Choose the box to the left of default security group. From the list at the bottom of the screen, choose the EC2 Security Group Name you want to authorize. To authorize access, choose Add. Amazon EC2 instances that are associated with the security group are now authorized to connect to your ElastiCache cluster.
Sign in to the AWS Management Console and open the ElastiCache console at https://console.aws.amazon.com/elasticache/ . From the navigation pane, choose Redis clusters. The clusters screen will appear with a list of Redis (cluster mode disabled) and Redis (cluster mode enabled) clusters.
I'm not sure what you mean by this:
I know that the security groups between the Elastic Beanstalk and ElastiCache need to be the same
They don't need to be the same security group, if that is what you are saying. And they don't need to have the exact same settings, if that is what you are saying. Here's what you need to do:
6379
. In this Security Group rule use the ID of SG1 in the source field. For example if SG1 has an ID of sg-123456
then enter that in the source field. Once you have completed those steps then all Elastic Beanstalk instances will have access to your ElastiCache Redis instance(s).
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With