Which action will solve the problem?
Configure ElastiCache automatic scaling for the Memcached cluster. Set the CPUUtilization metrics as a scaling trigger above 75% and FreeableMemory below 10 MB.
Configure ElastiCache read replicas for each Memcached node in different Availability Zones to distribute the workload.
Deploy an Application Load Balancer to distribute the workload to Memcached cluster nodes.
Replace the Memcached cluster and select a node type that has a higher CPU and memory.
Explanations:
ElastiCache for Memcached does not support automatic scaling. This option is applicable only to Redis clusters. Scaling based on CPUUtilization and FreeableMemory is not supported for Memcached.
Memcached does not support read replicas. This option applies to Redis, where read replicas can be used to distribute read-heavy workloads.
An Application Load Balancer is used to distribute traffic across EC2 instances, not ElastiCache clusters. Memcached clusters do not benefit from load balancing in this way.
The issue with high CPU utilization and low memory is likely due to the current node type being under-provisioned. Replacing the Memcached cluster with a higher-capacity node type will resolve the performance issue.