I want to minimize data loss that occurs from scheduled maintenance on my Amazon ElastiCache for Memcached nodes.
Short description
In ElastiCache for Memcached, the node replacement process uses an empty new node and deletes the current node. The new node is unavailable for a short time period until the process completes. After the replacement is complete, you might see decreased performance in your application until the new node is populated with cache data. It's a best practice to use the ElastiCache smarter client to schedule your maintenance window when there's lower incoming write traffic. Also, ElastiCache for Memcached has data inherently in memory.
Resolution
To minimize data loss because of a node failure or node replacement in a self-designed cluster, allocate your cache data across multiple nodes. When you partition your data across multiple nodes, you have less data loss when a node fails or is replaced. For more information, see Replacing nodes.
For ElastiCache Serverless caches, node failures are automatically mitigated because of the replicated Multi-AZ architecture. As a result, node failures are transparent to your application.
For more information on best practices to design a fault tolerant ElastiCache for Memcached infrastructure, see Mitigating failures.
For more information about the ElastiCache maintenance window, see Managing maintenance.
Related information
Comparing Memcached and Redis self-designed caches
Amazon ElastiCache managed maintenance and service updates help page