03 : ElastiCache Challenge

Here is my GitHub submission for #CloudGuruChallenge: Improve application performance using Amazon ElastiCache by David Thomas.

Network

The first step I create a Network infrastructure with CloudFormation. I made four subnets, two public and two private, in two availability zones. Each public subnet has NAT Gateway with Elastic IP attached to them. I added Route tables and two security groups. The first security group has ports for HTTP and SSH, and the second security group has ports for PostgreSQL and Redis.

EC2, RDS and Elasticache

The second step was creating a template with EC2, Redis, and RDS that reference the Network template.

The first challenge for me was to pass template variables that I need in the User Data section. After a chain of failures and reading documentation, I finally managed to do it in the way I wanted.

Application

The last part of the challenge was to update the application. That's how it looks in the end. I found this part challenging.

Here is time before

and after Redis

This project was challenging, and I got hands-on CloudFormation, Redis, Python, bash experience. I think it's a great challenge for everybody.