A cluster is a collection of one or more cache nodes, all of which run an instance of supported cache engine software, Memcached or Redis. When you create a cluster, you specify the engine that all of the nodes will use.
The following diagram illustrates a typical Memcached and a typical Redis cluster. Memcached clusters contain from 1 to 20 nodes across which you can horizontally partition your data. Redis clusters can contain a single node or up to 6 nodes inside a shard (API/CLI: node group), Redis (cluster mode disabled) clusters always have a single shard. Redis (cluster mode enabled) clusters can have up to 15 shards. When you have multiple nodes in a shard, one of the nodes is a read/write primary node. All other nodes in the shard are read-only replicas.
Typical Memcached and Redis Clusters
Most ElastiCache operations are performed at the cluster level. You can set up a cluster with a specific number of nodes and a parameter group that controls the properties for each node. All nodes within a cluster are designed to be of the same node type and have the same parameter and security group settings.
Every cluster must have a cluster identifier. The cluster identifier is a customer-supplied name for the cluster. This identifier specifies a particular cluster when interacting with the ElastiCache API and AWS CLI commands. The cluster identifier must be unique for that customer in an AWS Region.
ElastiCache supports multiple versions of each engine. Unless you have specific reasons, we recommend always using the your engine's latest version.
Other ElastiCache Cluster Operations
Additional operations involving clusters: