Amazon ElastiCache for Redis | Online Cluster Resizing Flashcards
How much does it cost to use the enhanced engine?
Online Cluster Resizing
Amazon ElastiCache for Redis | Database
There is no additional charge for using the enhanced engine. As always, you will only be charged for the nodes you use.
What is Online Cluster Resizing?
Online Cluster Resizing
Amazon ElastiCache for Redis | Database
Amazon ElastiCache for Redis provides the ability to add and remove shards from a running cluster. You can dynamically scale-out or scale-in your Redis cluster workloads to adapt to changes in demand. ElastiCache will resize the cluster by adding or removing shards and redistributing hash slots uniformly across the new shard configuration, all while the cluster continues to stay online and serve requests.
What are the benefits of using Online Cluster Resizing?
Online Cluster Resizing
Amazon ElastiCache for Redis | Database
The ability to dynamically scale-out and scale-in a cluster can help you manage application variability and meet oscillating demands. You can right-size your clusters by adding or removing shards to scale performance and in-memory capacity. The feature eliminates the need to overprovision clusters based on peak demand, helps improve efficiency, and reduces cost.
How can I use Online Cluster Resizing?
Online Cluster Resizing
Amazon ElastiCache for Redis | Database
Online Cluster Resizing is available with Redis engine version 3.2.10. To reshard your cluster, select the cluster and specify whether you want to add or remove shards. When you resize the cluster to scale-out, ElastiCache adds shards and migrates slots from existing shards to new shards, in a way such that the slots are uniformly distributed (by count) across shards. Similarly, when resizing the cluster to scale-in, ElastiCache migrates slots to the remaining shards to uniformly distribute the slots and deletes specified shards.
How long does the Online Cluster Resizing take?
Online Cluster Resizing
Amazon ElastiCache for Redis | Database
The time taken to resize a cluster depends on multiple factors, such as number of slots that need to be migrated across shards, size of data and incoming request rate on the cluster. However, the workflow is optimized to parallelize slot migration, which improves the time taken as you add more shards to scale out the cluster.
Can the cluster be used while cluster resizing is in progress?
Online Cluster Resizing
Amazon ElastiCache for Redis | Database
Yes, the cluster continues to stay online and serve incoming requests, while resharding is in progress. However, snapshotting a cluster while resharding is not supported to prevent increased load on the cluster.
Is there any performance impact of this operation on the cluster?
Online Cluster Resizing
Amazon ElastiCache for Redis | Database
While Online Cluster Resizing provides the benefits to scale out/in with zero downtime, it is a compute-intensive operation and can increase the latency of your client connection. To reduce the load on the cluster during the operation, we recommend that you follow the best practices (described in the documentation).
How can I track the progress of an online resharding operation?
Online Cluster Resizing
Amazon ElastiCache for Redis | Database
You can track the progress of the operation by watching the status of the cluster, shards and nodes. During the operation, the cluster, shards and nodes will stay in “modifying” status. Similarly, when shards are being created, deleted or participating in slot migration, the individual shard status will reflect these statuses to show progress. Additionally, the status of end-to-end operation can also be tracked using the progress indicator for the resharding operation, which indicates percentage completed and provides insight into the remaining time for the operation. Lastly, event messages indicate the progress by describing actions being taken (shard creation, slot migration, etc.) during this operation.
What is the rebalance operation for ElastiCache for Redis cluster?
Online Cluster Resizing
Amazon ElastiCache for Redis | Database
The rebalance operation can be used to redistribute slots amongst existing shards to achieve a uniform distribution. This is useful when a cluster is created with manually specified uneven slot distribution or a scale-out/in operation leaves the cluster with uneven distribution. Assuming the slots are identical in their memory and I/O requirements, uniform slot distribution by count is an easy way to load balance across shards.
How does tagging work when a cluster scales-out?
Online Cluster Resizing
Amazon ElastiCache for Redis | Database
When new nodes are added to scale-out a cluster, the nodes carry the same set of tags that are common across all existing nodes. Additionally, users can modify tags on all nodes and continue to use tagging as before.
Are there any client or application side changes needed to use online cluster resizing?
Online Cluster Resizing
Amazon ElastiCache for Redis | Database
No. The enhanced slot distribution used in cluster resizing workflow is compliant with Redis cluster client behavior and does not require any application changes. ElastiCache retains cluster endpoints, enabling you to continue using existing clients without any changes.