A node is the smallest building block of an Amazon ElastiCache deployment. It is a fixed-size chunk of secure, network-attached RAM. Each node runs either Memcached or Redis, depending on what was selected when the cluster was created. Each node has its own Domain Name Service (DNS) name and port. Multiple types of ElastiCache nodes are supported, each with varying amounts of associated memory.
The node instance type you need for your deployment is influenced by both the amount of data you want in your cluster and the engine you use. Generally speaking, due to its support for sharding, Memcached deployments will have more and smaller nodes while Redis deployments will use fewer, larger node types. See Selecting Your Memcached Node Size and Selecting Your Redis Node Size for a more detailed discussion of which node size to use.
Other ElastiCache Node Operations
Additional operations involving nodes:
A shard (API/CLI: node group) is a hierarchical arrangement of nodes (each wrapped in a cache cluster). Shards support replication. Within a shard, one node functions as the read/write primary node. All the other nodes in a shard function as read-only replicas of the primary node. Redis version 3.2 and later support multiple shards within a cluster (API/CLI: replication group) thereby enabling partitioning your data in a Redis (cluster mode enabled) cluster.
The following diagram illustrates the differences between a Redis (cluster mode disabled) cluster and a Redis (cluster mode enabled) cluster.
Both Redis (cluster mode disabled) and Redis (cluster mode enabled) support replication via shards. The API operation, DescribeReplicationGroups (CLI: describe-replication-groups) lists the node groups with the member nodes, the node’s role within the node group as well as other information.
When you create a Redis cluster, you specify whether or not you want to create a cluster with clustering enabled. Redis (cluster mode disabled) clusters never have more than one shard which can be scaled horizontally by adding (up to a total of 5) or deleting read replica nodes. For more information, see ElastiCache Replication (Redis), Adding a Read Replica to a Redis Cluster or Deleting a Read Replica. Redis (cluster mode disabled) clusters can also scale vertically by changing node types. For more information, see Scaling Redis Clusters with Replica Nodes.
When you create a Redis (cluster mode enabled) cluster, you specify from 1 to 15 shards. Currently, however, unlike Redis (cluster mode disabled) clusters, once a Redis (cluster mode enabled) cluster is created, its structure cannot be altered in any way; you cannot add or delete nodes or shards. If you need to add or delete nodes, or change node types, you must create the cluster anew.
When you create a new cluster, as long as the cluster group has the same number of shards as the old cluster, you can seed it with data from the old cluster so it doesn’t start out empty. This can be helpful if you need change your node type or engine version. For more information, see Taking Manual Backups and Restoring From a Backup with Cluster Resizing.