AWS ElastiCache
If you are studying for AWS Solutions Architect Associate Exam, this guide will help you with quick revision before the exam. it can use as study notes for your preparation.
Dashboard Other Certification NotesAWS ElastiCache
- ElastiCache is a managed cache offering which supports Redis and Memcached
- Caches are in-memory databases with high performance and low latency
- The role of a cache is to reduce load from a database by caching query results
- It also can help make an application stateless by storing the application state in memory
- Provides:
- Write scaling using sharding
- Read scaling using Read Replicas
- Multi AZ with Failover Capability
- Since it is a managed solution, AWS takes care of OS maintenance, patching, optimization, setup, monitoring, failure recovery and backups
ElastiCache Solution Architecture
DB Cache
- Application queries the ElastiCache first. If no data is available for the query (cache miss), the application gets the data from RDS and stores it into the cache
- Caching helps relieve the load from the database
- Cache must have an invalidation strategy to make sure only the most current data is stored in the cache
User Session Store
- Uses logs into the application
- The application writes the session data to the cache
- The session data can be reused by other instance of he back-end
Redis vs Memcached
Redis | Memcached |
---|---|
Multi AZ with auto-failover | Multi-node for partitioning data (sharding) |
Read replicas to scale reads and have high availability | Non persistent |
Data durability and AOF persistance | No backup and restore |
Backup and restore features | Multi-threaded architecture |
ElastiCache Security
- All caches in ElastiCache:
- Support SSL in flight encryption
- Do not support IAM authentication
- IAM policies on ElastiCache are only used for AWS API-level security
- Redis AUTH
- We can set a password/token when we create a Redis cluster
- This is an extra layer of security on top of the security groups
- Memcached
- Supports SASL-based authentication
Caching Patterns
- Lazy loading: all the reads are cached, data can become stale in cache
- Write Through: adds/updates of data are cached when written to the database
- Session Store: store temporary session data in cache using TTL features