AWS Elasticache Redis
Amazon ElastiCache for Redis is a blazing fast in-memory data store that provides sub-millisecond latency to power internet-scale real-time applications.
Deployments
31
Made by
Massdriver
Official
Yes
No
Compliance
Clouds
Tags
aws-elasticache-redis
Amazon ElastiCache for Redis is a blazing fast in-memory key-value database providing sub-millisecond latency to power internet-scale real-time applications. As a fully managed AWS service, Elasticache gives you the power of Redis without the headache of high-touch server management, patching, backups, etc. Elasticache for Redis offers robust rollover protection and disaster recovery workflows in the case of failures. Whether you’re a small startup or a large enterprise, Elasticache can scale with your business, offering small 500MB instances up to hundreds of Terabyte clusters and the ability to resize online without downtime or data loss.
Use Cases
Amazon ElastiCache for Redis is an excellent choice for real-time transactional and analytical processing use-cases across various application industries, generalized services types, and custom-built application integrations.
Caching
Reduce the load on your existing relational or NoSQL database while improving query performance by using Redis to cache query results.
Session Store
Redis works great as a session store for web applications to manage user authentication and session information, automatically terminating sessions after an appropriate TTL
Chat & Messaging
PUB/SUB standard with pattern matching is fully supported, allowing applications to trigger actions based upon these events. Great for chat and message applications
Gaming Leaderboards
Creating leaderboards is a breeze using Redis’s “Sorted Sets” data structure.
Geospatial
Redis offers in-memory data structures that allow applications to manage real-time geographical details such as drive time, drive distance, estimated arrival time, points of interest, and other real-time geographical information.
Queues
Build lightweight, persistent queues with ease using Redis. Great for applications that require a reliable message broker or circular list.
Configuration Presets
Free Tier
A small, single-instance cluster that falls under AWS’s free tier plan. Use this if you’re trying out the product or building a proof of concept. This tier is discouraged from production use due to the lack of high availability.
Highly Available
A small multi-instance cluster (master and read-replica) that offers high availability. Great for most staging and production use cases; just choose the proper instance size for your use case.
Sharded Cluster
This type is a multi-instance, multi-node-group cluster that can scale massively by sharding data across multiple node-groups that act as a single cluster. Consider using this configuration if you expect your redis data to scale beyond a single node group.
Design
High Availability
Elasticache offers high availability in two ways: replication and clustering. Replication achieves high availability by replicating your data to one or more “read replicas”. This allows you to spread your read operations across multiple instances to increase read capacity. Write operations still must go through the primary node. In the event of a failure of the primary node, Elasticache will automatically promote a read replica to primary, minimizing downtime and preventing data loss.
Clustering is when two or more server nodes are woven together into a grouped unit to share data via “sharding”. Sharding allows Redis to split data across multiple instances so that every instance will only contain a subset of the keys. This allows Redis to scale massively to handle terabytes of data while still providing high availability in an outage. However, most use cases don’t require this degree of scale.
For most use cases, cluster mode can be left disabled, and your data can be stored in a single node group with primary and read replicas, which still offers high availability.
This bundle offers both clustering options to clients in order to empower them to build appropriately configured resources for their projects.
Best Practices
Below are some of the benefits of Massdriver’s Elasticache for Redis bundle.
Automated Patches
Stay up to date with the latest feature and bug fixes with automated minor version updates.
Automated Snapshots
Snapshots are taken daily, as well as upon cluster deletion, making disaster recovery a breeze.
Distribute Replicas
Read replicas spread across availability zones to offer high availability in the event of zonal failures through read replicas.
Security
Leverage Redis’s feature-rich security options - granular user access controls, support for Amazon VPC, real-time vulnerability monitoring, and Redis AUTH communication that meets strict compliance requirements.
Automated Security Patches
Your cluster will stay up to date on with the latest security patches.
Network Security
Elasticache will be deployed into your network’s private or internal subnets to prevent access from the internet. Firewall rules are automated to prevent access from anything but connected bundles.
Authentication
Auth tokens and TLS encryption are enabled by default to protect your data.
Observability
By default, clusters will be created with alarms at key performance degradation or failure thresholds. You will be notified when memory crosses 90% or CPU crosses 90% usage on any instance in the cluster.
Trade-offs
Once provisioned, changing ‘Cluster-Mode Enabled’ is a non-trivial effort. It cannot be disabled without recreating the instance, which will incur full data loss. Currently, we do not support complex or specific implementation settings such as:
- Data tiering
- Specific availability zone placement
Variable | Type | Description |
---|---|---|
cluster_mode_enabled | boolean | Cluster mode allows you to scale your cluster horizontally across multiple node groups. This is useful at massive scale (beyond limits of vertical scaling). NOTE: this setting cannot be changed after cluster creation. |
node_groups | integer | Number of node groups (shards) in the cluster. Each node group will have a primary node and the number of read replicas specified above. |
node_type | string | AWS node type to use for the cluster |
redis_version | string | Major Redis version to use |
replicas | integer | Number of read replicas per node group. Each node group will have a single primary instace, and 0 to 5 read replicas. If you would like automatic fail-over for high-availability, you need at least 1 replica. |
secure | boolean | Enabling this will auto-generate an auth token (password) and enable TLS encrypted client connections. NOTE: this setting cannot be changed after cluster creation. |
subnet_type | string | Deploy Redis to internal subnets (cannot reach the internet) or private subnets (internet egress traffic allowed) |