For those of you not aware of the free tier within AWS, please browse over to “http://aws.amazon.com/free/” and grab yourself an account. The free tier allows you to get hands-on experience for 12 months for a list of services such as EC2, S3, DynamoDB, Lambda, etc.
After configuring workloads for a while on EC2, I wanted to get an ElastiCache instance running to frontend my website. For those of you that aren’t familiar with ElastiCache it is a web service that makes it easy to deploy, operate and scale an in-memory cache in the cloud. The service improves the performance of web applications by allowing you to retrieve information from fast, managed, in-memory caches, instead of relying entirely on slower disk-based databases. Elasticache supports two open-source in-memory caching engines today; memcached and redis.
I will walk through the steps needed to configure ElastiCache on my running RDS MySQL DB.
1. Navigate to the ElastiCache database on the splash screen.
2. If this is your first ElastiCache instance, simply click “get started now”
3. There are two options available: Memcached and Redis. For this example I’m using Memcached.
4. Fill out the needed specifications for your instance. For my instance I was quick to change the “node type” to the T2 micro instance, otherwise you will be charged for the resources needed while ElastiCache is being consumed.
5. Configure the advanced settings such as subnet group, AZ and VPC Security groups. I created a security group earlier for all of my RDS instances earlier to help segregate policies. Make sure the AZ is set to “no preference” since you are on the free tier of AWS.
6. Review and verify the cache cluster and select “launch cache cluster”
That’s it! Now you have an ElastiCache instance(s) front ending your application for quick, instance in-memory cache.
Have you used ElastiCache before? If so, what performance impact did it have on your application?