# ElastiCache Graviton4 (M8g / R8g / C8gn) — family decision matrix

Use after reading the [ElastiCache Graviton4 field guide](https://www.factualminds.com/blog/amazon-elasticache-graviton4-m8g-r8g-c8gn-2026/). Score each row **0–2**. Sum ≥ 14 → canary one shard/replica to the matching `*8g*` / `c8gn` size this sprint. Sum 8–13 → queue at next Reserved Instance renewal. Sum &lt; 8 → stay on current nodes until a blocker clears.

Announcement scope (Aug 6, 2026): **Valkey** and **Memcached** on M8g, R8g, and C8gn. Confirm engine support in your Region before scoring Redis-engine clusters.

| # | Question | 0 | 1 | 2 |
|---|----------|---|---|---|
| 1 | Engine is **Valkey** or **Memcached** (announcement scope)? | Redis-only, unsupported path | Mixed / migrating to Valkey | Valkey or Memcached in prod |
| 2 | Cluster already on Graviton3 (`m7g` / `r7g` / similar)? | x86 (`m6i`/`r6i`) only | Partial Graviton | Full Graviton3 fleet |
| 3 | Primary bottleneck is **CPU / throughput** (EngineCPUUtilization high)? | Idle CPU | Occasional spikes | Sustained CPU bound |
| 4 | Primary bottleneck is **memory** (evictions, high `DatabaseMemoryUsagePercentage`)? | Plenty of headroom | Approaching limits | Memory-bound → prefer **R8g** |
| 5 | Primary bottleneck is **network** (NetworkBytesIn/Out saturated, high client fan-out)? | Network fine | Occasional saturation | Network-bound → evaluate **C8gn** (up to 200 Gbps) |
| 6 | Need ~**20% more memory** at same size class (e.g. m8g.8xlarge 124.65 GiB vs m7g.8xlarge 103.68 GiB)? | No | Nice-to-have | Required to delay shard split |
| 7 | Region available (30+ Regions per announcement, including GovCloud / China where applicable)? | Not available | DR only | Primary in supported Region |
| 8 | No active **1y/3y RI** on m7g/r7g with &gt;90 days remaining for this fleet? | RI lock-in &gt; 6 mo | RI expires &lt; 90d | On-Demand / near renewal |
| 9 | Can modify **one** shard or replica first (cluster mode / replication group canary)? | Single node, no canary path | Manual failover only | Rolling modify supported |
| 10 | App p99 + ElastiCache CloudWatch baseline exists for 14 days? | No metrics | Dashboard only | Alarms + load test |

**Family quick rule:**

- **R8g** — default for production Valkey caches that are memory- or working-set bound (most app caches).
- **M8g** — balanced general-purpose when CPU and memory are both moderate.
- **C8gn** — only when **network** is the measured bottleneck; do not buy 200 Gbps for a CPU-bound cache.

**Related:** [ElastiCache pricing 2026](https://www.factualminds.com/blog/amazon-elasticache-pricing-nodes-serverless-2026/) · [pricing calculator](https://www.factualminds.com/tools/aws-elasticache-pricing-calculator/) · [Graviton cost guide](https://www.factualminds.com/blog/aws-graviton-cost-optimization-guide/)
